summaryrefslogtreecommitdiff
path: root/tests/it_mail.t
blob: 41ca3d1055b39e20aea1c8562b426e0376b25a77 (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
83
84
85
86
87
#!/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=20User?= <è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=20=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"
);

is(
	$mail->addrlist_escape('"Schmitt, Sören" <schmitt@example.com>', true),
	'=?utf-8?Q?"Schmitt,=20S=C3=B6ren"?= <schmitt@example.com>',
	"Don't remove quoting characters from realname when it contains a quotable character"
);

$mail = new it_mail(array(
	'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=20=C3=8Blse?= <sömeone@example.com>, "Alfred E. Neuman" <neuman@example.com>, =?utf-8?Q?"Schmitt,=20S=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=20=C3=8Blse?= <sömeone@example.com>, "Alfred E. Neuman" <neuman@example.com>, =?utf-8?Q?"Schmitt,=20S=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=20=C3=8Blse?= <sömeone@example.com>, "Alfred E. Neuman" <neuman@example.com>, =?utf-8?Q?"Schmitt,=20S=C3=B6ren"?= <schmitt@example.com>',
	'Escape Bcc: field as addrlist'
);

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

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