diff options
Diffstat (limited to 'rt/t/mail/wrong_mime_charset.t')
-rw-r--r-- | rt/t/mail/wrong_mime_charset.t | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/rt/t/mail/wrong_mime_charset.t b/rt/t/mail/wrong_mime_charset.t new file mode 100644 index 000000000..f53c872e5 --- /dev/null +++ b/rt/t/mail/wrong_mime_charset.t @@ -0,0 +1,25 @@ +#!/usr/bin/perl +use strict; +use warnings; +use RT::Test nodata => 1, tests => 3; + +use_ok('RT::I18N'); +use utf8; +use Encode; +my $test_string = 'À'; +my $encoded_string = encode( 'iso-8859-1', $test_string ); +my $mime = MIME::Entity->build( + Subject => $encoded_string, + Data => [$encoded_string], +); + +# set the wrong charset mime in purpose +$mime->head->mime_attr( "Content-Type.charset" => 'utf8' ); + +RT::I18N::SetMIMEEntityToEncoding( $mime, 'iso-8859-1' ); +my $subject = decode( 'iso-8859-1', $mime->head->get('Subject') ); +chomp $subject; +is( $subject, $test_string, 'subject is set to iso-8859-1' ); +my $body = decode( 'iso-8859-1', $mime->stringify_body ); +chomp $body; +is( $body, $test_string, 'body is set to iso-8859-1' ); |