]> git.donarmstrong.com Git - debbugs.git/blob - t/01_mime.t
decode_rfc1522 returns is_utf8 strings
[debbugs.git] / t / 01_mime.t
1 # -*- mode: cperl;-*-
2 # $Id: 01_mime.t,v 1.1 2005/08/17 21:46:17 don Exp $
3
4 use Test::More tests => 6;
5
6 use warnings;
7 use strict;
8
9 use utf8;
10 use Encode;
11
12 use_ok('Debbugs::MIME');
13
14 # encode_headers testing
15
16 my $test_str = <<'END';
17 Döñ Ärḿßtrøñĝ <don@donarmstrong.com>
18 END
19
20 my $test_str2 = <<'END';
21  Döñ Ärḿßtrøñĝ <don@donarmstrong.com>
22 END
23
24 my $test_str3 =<<'END';
25 foo@bar.com (J fö"ø)
26 END
27
28 # 1: test decode
29 ok(Debbugs::MIME::decode_rfc1522(q(=?iso-8859-1?Q?D=F6n_Armstr=F3ng?= <don@donarmstrong.com>)) eq
30   encode_utf8(q(Dön Armstróng <don@donarmstrong.com>)),"decode_rfc1522 decodes and converts to UTF8 properly");
31
32
33 # 2: test encode
34 ok(Debbugs::MIME::decode_rfc1522(Debbugs::MIME::encode_rfc1522($test_str)) eq encode_utf8($test_str),
35   "encode_rfc1522 encodes strings that decode_rfc1522 can decode");
36 ok(Debbugs::MIME::decode_rfc1522(Debbugs::MIME::encode_rfc1522($test_str2)) eq encode_utf8($test_str2),
37   "encode_rfc1522 encodes strings that decode_rfc1522 can decode");
38 ok(Debbugs::MIME::decode_rfc1522(Debbugs::MIME::encode_rfc1522($test_str3)) eq encode_utf8($test_str3),
39   "encode_rfc1522 properly handles parentesis and \"");
40
41
42 # Make sure that create_mime_message has encoded headers and doesn't enclude any 8-bit characters
43
44 $test_str = Encode::encode("UTF-8",$test_str);
45 ok(Debbugs::MIME::create_mime_message([Subject => $test_str,
46                                        From    => $test_str,
47                                       ],
48                                       $test_str,
49                                       [],
50                                      ) !~ m{([\xF0-\xFF]+)},
51    "create_mime_message properly encodes 8bit messages."
52   );
53
54 # XXX figure out how to test parse