Upgrade to Encode 1.61, from Dan Kogai.
[p5sagit/p5-mst-13.2.git] / ext / Encode / t / mime-header.t
1 #
2 # $Id: mime-header.t,v 1.3 2002/04/26 03:07:59 dankogai Exp $
3 # This script is written in utf8
4 #
5 BEGIN {
6     if ($ENV{'PERL_CORE'}){
7         chdir 't';
8         unshift @INC, '../lib';
9     }
10     require Config; import Config;
11     if ($Config{'extensions'} !~ /\bEncode\b/) {
12       print "1..0 # Skip: Encode was not built\n";
13       exit 0;
14     }
15     $| = 1;
16 }
17
18 use strict;
19 #use Test::More qw(no_plan);
20 use Test::More tests => 6;
21 use_ok("Encode::MIME::Header");
22
23 my $eheader =<<'EOS';
24 From: =?US-ASCII?Q?Keith_Moore?= <moore@cs.utk.edu>
25 To: =?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= <keld@dkuug.dk>
26 CC: =?ISO-8859-1?Q?Andr=E9?= Pirard <PIRARD@vm1.ulg.ac.be>
27 Subject: =?ISO-8859-1?B?SWYgeW91IGNhbiByZWFkIHRoaXMgeW8=?=
28  =?ISO-8859-2?B?dSB1bmRlcnN0YW5kIHRoZSBleGFtcGxlLg==?=
29 EOS
30
31 my $dheader=<<"EOS";
32 From: Keith Moore <moore\@cs.utk.edu>
33 To: Keld J\xF8rn Simonsen <keld\@dkuug.dk>
34 CC: Andr\xE9 Pirard <PIRARD\@vm1.ulg.ac.be>
35 Subject: If you can read this you understand the example.
36 EOS
37
38 is(Encode::decode('MIME-Header', $eheader), $dheader, "decode (RFC2047)");
39
40 use utf8;
41
42 $dheader=<<'EOS';
43 From: 小飼 弾 <dankogai@dan.co.jp>
44 To: dankogai@dan.co.jp (小飼=Kogai, 弾=Dan)
45 Subject: 漢字、カタカナ、ひらがなを含む、非常に長いタイトル行が一体全体どのようにしてEncodeされるのか?
46 EOS
47
48 my $bheader =<<'EOS';
49 From:=?UTF-8?B?IOWwj+mjvCDlvL4g?=<dankogai@dan.co.jp>
50 To: dankogai@dan.co.jp (=?UTF-8?B?5bCP6aO8?==Kogai,=?UTF-8?B?IOW8vg==?==Dan
51  )
52 Subject:
53  =?UTF-8?B?IOa8ouWtl+OAgeOCq+OCv+OCq+ODiuOAgeOBsuOCieOBjOOBquOCkuWQq+OCgA==?=
54  =?UTF-8?B?44CB6Z2e5bi444Gr6ZW344GE44K/44Kk44OI44Or6KGM44GM5LiA5L2T5YWo?=
55  =?UTF-8?B?5L2T44Gp44Gu44KI44GG44Gr44GX44GmRW5jb2Rl44GV44KM44KL44Gu44GL?=
56  =?UTF-8?B?77yf?=
57 EOS
58
59 my $qheader=<<'EOS';
60 From:=?UTF-8?Q?=20=E5=B0=8F=E9=A3=BC=20=E5=BC=BE=20?=<dankogai@dan.co.jp>
61 To: dankogai@dan.co.jp (=?UTF-8?Q?=E5=B0=8F=E9=A3=BC?==Kogai,
62  =?UTF-8?Q?=20=E5=BC=BE?==Dan)
63 Subject:
64  =?UTF-8?Q?=20=E6=BC=A2=E5=AD=97=E3=80=81=E3=82=AB=E3=82=BF=E3=82=AB?=
65  =?UTF-8?Q?=E3=83=8A=E3=80=81=E3=81=B2=E3=82=89=E3=81=8C=E3=81=AA=E3=82=92?=
66  =?UTF-8?Q?=E5=90=AB=E3=82=80=E3=80=81=E9=9D=9E=E5=B8=B8=E3=81=AB=E9=95=B7?=
67  =?UTF-8?Q?=E3=81=84=E3=82=BF=E3=82=A4=E3=83=88=E3=83=AB=E8=A1=8C=E3=81=8C?=
68  =?UTF-8?Q?=E4=B8=80=E4=BD=93=E5=85=A8=E4=BD=93=E3=81=A9=E3=81=AE=E3=82=88?=
69  =?UTF-8?Q?=E3=81=86=E3=81=AB=E3=81=97=E3=81=A6Encode=E3=81=95?=
70  =?UTF-8?Q?=E3=82=8C=E3=82=8B=E3=81=AE=E3=81=8B=EF=BC=9F?=
71 EOS
72
73 is(Encode::decode('MIME-Header', $bheader), $dheader, "decode B");
74 is(Encode::decode('MIME-Header', $qheader), $dheader, "decode Q");
75 is(Encode::encode('MIME-B', $dheader)."\n", $bheader, "encode B");
76 is(Encode::encode('MIME-Q', $dheader)."\n", $qheader, "encode Q");
77 __END__;