summaryrefslogtreecommitdiffstats
path: root/t/basic.t
blob: 5f28ffdd5b30742dcd2d523bf092913dc1c44c0f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/usr/bin/env perl
use strict;
use warnings;
use Test::More;

use utf8;

use Email::MIME::Header::Encode 'mime_encode_header';

is(mime_encode_header('Date', 'Wed, 7 Mar 2012 23:00:10 +0100', 'utf8'),
   'Wed, 7 Mar 2012 23:00:10 +0100',
   "Date encoded correctly");

for my $header (qw(From Sender Reply-To To Cc Bcc)) {
    is(mime_encode_header($header, 'Ævar Arnfjörð Bjarmason <abcd@example.com>', 'utf8'),
        '=?UTF-8?B?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= <abcd@example.com>',
        "$header encoded correctly");
    is(mime_encode_header($header, 'Ricardo Signes <efgh@example.com>', 'utf8'),
        'Ricardo Signes <efgh@example.com>',
        "$header encoded correctly");
    is(mime_encode_header($header, 'Ævar Arnfjörð Bjarmason <abcd@example.com>, "Ricardo Signes" <efgh@example.com>', 'utf8'),
        '=?UTF-8?B?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= <abcd@example.com>, "Ricardo Signes" <efgh@example.com>',
        "$header encoded correctly");
}

for my $header (qw(Message-ID In-Reply-To References)) {
    is(mime_encode_header($header, '<CACBZZX54+QxadTb-m=j0M3DoeLo6-PQcPvLEDgYw=ZU57njMWQ@mail.gmail.com>', 'utf8'),
       '<CACBZZX54+QxadTb-m=j0M3DoeLo6-PQcPvLEDgYw=ZU57njMWQ@mail.gmail.com>',
       "$header encoded correctly");
    is(mime_encode_header($header, '<foobar=?baz?=@example.com>', 'utf8'),
       '<foobar=?baz?=@example.com>',
       "$header encoded correctly");
}

for my $header (qw(Subject Comments X-NonStandard)) {
    is(mime_encode_header($header, 'Ricardo', 'utf8'),
       'Ricardo',
       "$header encoded correctly");
    is(mime_encode_header($header, 'Julián', 'utf8'),
       '=?UTF-8?B?SnVsacOhbg==?=',
       "$header encoded correctly");
    is(mime_encode_header($header, '=?UTF-8?B?SnVsacOhbg==?=', 'utf8'),
       '=?UTF-8?B?PT9VVEYtOD9CP1NuVnNhY09oYmc9PT89?=',
       "$header encoded correctly");
    is(mime_encode_header($header, 'test test test test test test test test tést te (12 34)', 'utf8'),
       '=?UTF-8?B?dGVzdCB0ZXN0IHRlc3QgdGVzdCB0ZXN0IHRlc3QgdGVzdCB0ZXN0IHTDqXN0?= =?UTF-8?B?IHRlICgxMiAzNCk=?=',
       "$header encoded correctly");
    is(mime_encode_header($header, 'test test test test test test test test test te (12 34)', 'utf8'),
       'test test test test test test test test test te (12 34)',
       "$header encoded correctly");
}

done_testing;