summaryrefslogtreecommitdiff
path: root/tests/it_mail.t
blob: 44ed30d1da2863a96dde96204e9924f384561acc (plain)
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#!/www/server/bin/php -qC
<?php

$mail = new it_mail();

#
# header_escape tests
#
is(
	$mail->addrlist_escape('éxample@example.com', true),
	'éxample@example.com',
	"Don't escape plain email addresses in email headers",
);

is(
	$mail->header_escape('éxample@example.com'),
	'=?utf-8?Q?=C3=A9xample@example.com?=',
	"Escape plain email in non-email headers",
);

is(
	$mail->addrlist_escape('Èxample User <èxample@example.com>', true),
	'=?utf-8?Q?=C3=88xample_User?= <èxample@example.com>',
	"Escape name but not email in email headers",
);

is(
	$mail->addrlist_escape('Example User <example@example.com>', true),
	'Example User <example@example.com>',
	"Don't escape characters that don't need escaping"
);

is(
	$mail->addrlist_escape('example@example.com, éxample@example.com, Sömeone Ëlse <sömeone@example.com>', true),
	'example@example.com, éxample@example.com,=?utf-8?Q?S=C3=B6meone_=C3=8Blse?= <sömeone@example.com>',
	"Don't escape email addresses but escape realnames",
);

is(
	$mail->addrlist_escape('"Alfred E. Neuman" <neuman@example.com>', true),
	'"Alfred E. Neuman" <neuman@example.com>',
	"Don't remove quoting characters from realname",
);


$mail = new it_mail(
	'From' => 'Someone Ïmportant <ïmportant@search.ch>',
	'To' => 'éxample@example.com, example@example.com, Sömeone Ëlse <sömeone@example.com>, "Alfred E. Neuman" <neuman@example.com>, "Schmitt, Sören" <schmitt@example.com>',
	'Cc' => 'éxample@example.com, example@example.com, Sömeone Ëlse <sömeone@example.com>, "Alfred E. Neuman" <neuman@example.com>, "Schmitt, Sören" <schmitt@example.com>',
	'Bcc' => 'éxample@example.com, example@example.com, Sömeone Ëlse <sömeone@example.com>, "Alfred E. Neuman" <neuman@example.com>, "Schmitt, Sören" <schmitt@example.com>',
	'Subject' => "§önÐë®z€ı¢ħèṇ",
);

is(
	$mail->to[0],
	'éxample@example.com, example@example.com,=?utf-8?Q?S=C3=B6meone_=C3=8Blse?= <sömeone@example.com>, "Alfred E. Neuman" <neuman@example.com>,=?utf-8?Q?Schmitt,_S=C3=B6ren?= <schmitt@example.com>',
	'Escape To: field as addrlist',
);

is(
	$mail->cc[0],
	'éxample@example.com, example@example.com,=?utf-8?Q?S=C3=B6meone_=C3=8Blse?= <sömeone@example.com>, "Alfred E. Neuman" <neuman@example.com>,=?utf-8?Q?Schmitt,_S=C3=B6ren?= <schmitt@example.com>',
	'Escape Cc: field as addrlist',
);

is(
	$mail->bcc[0],
	'éxample@example.com, example@example.com,=?utf-8?Q?S=C3=B6meone_=C3=8Blse?= <sömeone@example.com>, "Alfred E. Neuman" <neuman@example.com>,=?utf-8?Q?Schmitt,_S=C3=B6ren?= <schmitt@example.com>',
	'Escape Bcc: field as addrlist',
);

is(
	$mail->header_values[0],
	'=?utf-8?Q?Someone_=C3=8Fmportant?= <ïmportant@search.ch>',
	'Escape From: field as addrlist',
);

is(
	$mail->subject,
	"§önÐë®z€ı¢ħèṇ",
	"Don't escape Subject: field on instanziation",
);