0
|
1 --TEST--
|
|
2 Net_SMTP: quotedata()
|
|
3 --FILE--
|
|
4 <?php
|
|
5
|
|
6 require_once 'Net/SMTP.php';
|
|
7
|
|
8 $tests = array(
|
|
9 /* Newlines */
|
|
10 "\n" => "\r\n",
|
|
11 "\r\n" => "\r\n",
|
|
12 "\nxx" => "\r\nxx",
|
|
13 "xx\n" => "xx\r\n",
|
|
14 "xx\nxx" => "xx\r\nxx",
|
|
15 "\n\nxx" => "\r\n\r\nxx",
|
|
16 "xx\n\nxx" => "xx\r\n\r\nxx",
|
|
17 "xx\n\n" => "xx\r\n\r\n",
|
|
18 "\r\nxx" => "\r\nxx",
|
|
19 "xx\r\n" => "xx\r\n",
|
|
20 "xx\r\nxx" => "xx\r\nxx",
|
|
21 "\r\n\r\nxx" => "\r\n\r\nxx",
|
|
22 "xx\r\n\r\nxx" => "xx\r\n\r\nxx",
|
|
23 "xx\r\n\r\n" => "xx\r\n\r\n",
|
|
24 "\r\n\nxx" => "\r\n\r\nxx",
|
|
25 "\n\r\nxx" => "\r\n\r\nxx",
|
|
26 "xx\r\n\nxx" => "xx\r\n\r\nxx",
|
|
27 "xx\n\r\nxx" => "xx\r\n\r\nxx",
|
|
28 "xx\r\n\n" => "xx\r\n\r\n",
|
|
29 "xx\n\r\n" => "xx\r\n\r\n",
|
|
30 "\r" => "\r\n",
|
|
31 "\rxx" => "\r\nxx",
|
|
32 "xx\rxx" => "xx\r\nxx",
|
|
33 "xx\r" => "xx\r\n",
|
|
34 "\r\r" => "\r\n\r\n",
|
|
35 "\r\rxx" => "\r\n\r\nxx",
|
|
36 "xx\r\rxx" => "xx\r\n\r\nxx",
|
|
37 "xx\r\r" => "xx\r\n\r\n",
|
|
38 "xx\rxx\nxx\r\nxx" => "xx\r\nxx\r\nxx\r\nxx",
|
|
39 "\r\r\n\n" => "\r\n\r\n\r\n",
|
|
40
|
|
41 /* Dots */
|
|
42 "." => "..",
|
|
43 "xxx\n." => "xxx\r\n..",
|
|
44 "xxx\n.\nxxx" => "xxx\r\n..\r\nxxx",
|
|
45 "xxx.\n.xxx" => "xxx.\r\n..xxx",
|
|
46 );
|
|
47
|
|
48 function literal($x)
|
|
49 {
|
|
50 return str_replace(array("\r", "\n"), array('\r', '\n'), $x);
|
|
51 }
|
|
52
|
|
53 $smtp = new Net_SMTP();
|
|
54 $error = false;
|
|
55 foreach ($tests as $input => $expected) {
|
|
56 $output = $input;
|
|
57 $smtp->quotedata($output);
|
|
58 if ($output != $expected) {
|
|
59 printf("Error: '%s' => '%s' (expected: '%s')",
|
|
60 literal($input), literal($output), literal($expected));
|
|
61 $error = true;
|
|
62 }
|
|
63 }
|
|
64
|
|
65 if (!$error) {
|
|
66 echo "success\n";
|
|
67 }
|
|
68
|
|
69 --EXPECT--
|
|
70 success
|