[Rt-commit] rt branch, 4.2/do-not-encode-mime-headers-in-forward-method, repushed
? sunnavy
sunnavy at bestpractical.com
Sun Mar 15 07:02:11 EDT 2015
The branch 4.2/do-not-encode-mime-headers-in-forward-method was deleted and repushed:
was 9f9f5212d7fa1d8e4f54dc66fccfbf118775c313
now b56cf8e3daac89ceb08554ff85b218ffccb6fe7c
1: 9f9f521 ! 1: b56cf8e it's not RT::Ticket::Forward's job to encode headers to mime
@@ -21,13 +21,6 @@
--- a/etc/upgrade/4.2.11/content
+++ b/etc/upgrade/4.2.11/content
@@
- use strict;
- use warnings;
-+use Encode;
-
- our @Initial = (
- sub {
-@@
AND Content IS NULL;
EOSQL
},
@@ -40,12 +33,12 @@
+
+ # we only need to process ascii-only strings
+ unless ( $att->Subject =~ /[^\x00-\x7F]/ ) {
-+ $att->__Set( Field => 'Subject', Value => decode_utf8(RT::I18N::DecodeMIMEWordsToUTF8($att->Subject, 'Subject')) );
++ $att->__Set( Field => 'Subject', Value => Encode::decode("UTF-8", RT::I18N::DecodeMIMEWordsToUTF8($att->Subject, 'Subject')) );
+ }
+ for my $field ( qw/Subject From To Cc Bcc/ ) {
+ next if !$att->GetHeader($field) || $att->GetHeader($field) =~ /[^\x00-\x7F]/;
+ # Subject here is not a typo, because we don't really want to parse email addresses here
-+ $att->SetHeader( $field, decode_utf8(RT::I18N::DecodeMIMEWordsToUTF8($att->GetHeader($field), 'Subject')) );
++ $att->SetHeader( $field, Encode::decode("UTF-8", RT::I18N::DecodeMIMEWordsToUTF8($att->GetHeader($field), 'Subject')) );
+ }
+ }
+ },
@@ -75,21 +68,13 @@
--- a/t/web/ticket_forward.t
+++ b/t/web/ticket_forward.t
@@
- print $att_fh "this is an attachment";
- close $att_fh;
- my $att_name = ( File::Spec->splitpath($att_file) )[-1];
-+use Encode;
-
- my ( $baseurl, $m ) = RT::Test->started_ok;
- ok $m->login, 'logged in as root';
-@@
like($mail, qr/Subject: \[example.com #\d+\] OVERRIDING SUBJECT/);
}
+diag "Forward Transaction with non-ascii subject" if $ENV{TEST_VERBOSE};
+{
+ $m->follow_link_ok( { text => 'Forward', n => 2 }, 'follow 2nd Forward' );
-+ my $subject = decode_utf8('test non-ascii äöü');
++ my $subject = Encode::decode("UTF-8", 'test non-ascii äöü');
+ $m->submit_form(
+ form_name => 'ForwardMessage',
+ fields => {
@@ -100,7 +85,7 @@
+ );
+ my ($mail) = RT::Test->fetch_caught_mails;
+ if ( $mail =~ /Subject: (.+)/ ) {
-+ like( decode_utf8(RT::I18N::DecodeMIMEWordsToUTF8( $1, 'Subject' )), qr/$subject/, 'non-ascii subject' );
++ like( Encode::decode("UTF-8", RT::I18N::DecodeMIMEWordsToUTF8( $1, 'Subject' )), qr/$subject/, 'non-ascii subject' );
+ }
+ $m->content_contains( $subject, 'non-ascii subject got displayed correctly' );
+}
More information about the rt-commit
mailing list