summaryrefslogtreecommitdiff
path: root/rt/t/mail/wrong_mime_charset.t
diff options
context:
space:
mode:
Diffstat (limited to 'rt/t/mail/wrong_mime_charset.t')
-rw-r--r--rt/t/mail/wrong_mime_charset.t25
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' );