X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=t%2F01_mime.t;h=dcd3b7608f869c41d6f1eed8d666d8ba55832393;hb=refs%2Fheads%2Fdon%2Fcookies;hp=acffce93ad0a94e85e43891d5aa2c7d538c1e569;hpb=1da4d2c2037c64eb6614e32e6b83597b7dc02fca;p=debbugs.git diff --git a/t/01_mime.t b/t/01_mime.t index acffce9..dcd3b76 100644 --- a/t/01_mime.t +++ b/t/01_mime.t @@ -1,30 +1,53 @@ # -*- mode: cperl;-*- # $Id: 01_mime.t,v 1.1 2005/08/17 21:46:17 don Exp $ -use Test::More tests => 3; +use Test::More tests => 6; use warnings; use strict; -use utf8; use Encode; use_ok('Debbugs::MIME'); # encode_headers testing -my $test_str = <<'END'; +my $test_str = decode_utf8(<<'END'); Döñ Ärḿßtrøñĝ END +my $test_str2 = decode_utf8(<<'END'); + Döñ Ärḿßtrøñĝ +END + +my $test_str3 =decode_utf8(<<'END'); +foo@bar.com (J fö"ø) +END # 1: test decode ok(Debbugs::MIME::decode_rfc1522(q(=?iso-8859-1?Q?D=F6n_Armstr=F3ng?= )) eq - encode_utf8(q(Dön Armstróng )),"decode_rfc1522 decodes and converts to UTF8 properly"); + decode_utf8(q(Dön Armstróng )),"decode_rfc1522 decodes and converts to UTF8 properly"); # 2: test encode -ok(Debbugs::MIME::decode_rfc1522(Debbugs::MIME::encode_rfc1522($test_str)) eq $test_str, +ok(Debbugs::MIME::decode_rfc1522(Debbugs::MIME::encode_rfc1522(encode_utf8($test_str))) eq $test_str, + "encode_rfc1522 encodes strings that decode_rfc1522 can decode"); +ok(Debbugs::MIME::decode_rfc1522(Debbugs::MIME::encode_rfc1522(encode_utf8($test_str2))) eq $test_str2, "encode_rfc1522 encodes strings that decode_rfc1522 can decode"); +ok(Debbugs::MIME::decode_rfc1522(Debbugs::MIME::encode_rfc1522(encode_utf8($test_str3))) eq $test_str3, + "encode_rfc1522 properly handles parenthesis and \""); + + +# Make sure that create_mime_message has encoded headers and doesn't enclude any 8-bit characters + +$test_str = Encode::encode("UTF-8",$test_str); +ok(Debbugs::MIME::create_mime_message([Subject => $test_str, + From => $test_str, + ], + $test_str, + [], + ) !~ m{([\xF0-\xFF]+)}, + "create_mime_message properly encodes 8bit messages." + ); # XXX figure out how to test parse