Updates to Tomato RAF including NGINX && PHP
[tomato.git] / release / src / router / php / ext / mbstring / tests / mb_encode_mimeheader_variation5.phpt
blobd57bc1061ac8d23f2cdc588271c2204e75078294
1 --TEST--
2 Test mb_encode_mimeheader() function : usage variations - Pass different data types to $indent arg
3 --SKIPIF--
4 <?php
5 extension_loaded('mbstring') or die('skip');
6 function_exists('mb_encode_mimeheader') or die("skip mb_encode_mimeheader() is not available in this build");
7 ?>
8 --FILE--
9 <?php
10 /* Prototype  : string mb_encode_mimeheader
11  * (string $str [, string $charset [, string $transfer_encoding [, string $linefeed [, int $indent]]]])
12  * Description: Converts the string to MIME "encoded-word" in the format of =?charset?(B|Q)?encoded_string?= 
13  * Source code: ext/mbstring/mbstring.c
14  */
17  * Pass different data types to $indent argument to see how mb_encode_mimeheader() behaves
18  */
20 echo "*** Testing mb_encode_mimeheader() : usage variations ***\n";
22 mb_internal_encoding('utf-8');
24 // Initialise function arguments not being substituted
25 $str = base64_decode('zpHPhc+Ez4wgzrXOr869zrHOuSDOtc67zrvOt869zrnOus+MIM66zrXOr868zrXOvc6/LiAwMTIzNDU2Nzg5Lg==');
26 $charset = 'utf-8';
27 $transfer_encoding = 'B';
28 $linefeed = "\r\n";
30 //get an unset variable
31 $unset_var = 10;
32 unset ($unset_var);
34 // get a class
35 class classA
37   public function __toString() {
38     return "Class A object";
39   }
42 // heredoc string
43 $heredoc = <<<EOT
44 hello world
45 EOT;
47 // get a resource variable
48 $fp = fopen(__FILE__, "r");
50 // unexpected values to be passed to $indent argument
51 $inputs = array(
53        // int data
54 /*1*/  0,
55        1,
56        12345,
57        -2345,
59        // float data
60 /*5*/  10.5,
61        -10.5,
62        12.3456789000e10,
63        12.3456789000E-10,
64        .5,
66        // null data
67 /*10*/ NULL,
68        null,
70        // boolean data
71 /*12*/ true,
72        false,
73        TRUE,
74        FALSE,
75        
76        // empty data
77 /*16*/ "",
78        '',
80        // string data
81 /*18*/ "string",
82        'string',
83        $heredoc,
84        
85        // object data
86 /*21*/ new classA(),
88        // undefined data
89 /*22*/ @$undefined_var,
91        // unset data
92 /*23*/ @$unset_var,
94        // resource variable
95 /*24*/ $fp
98 // loop through each element of $inputs to check the behavior of mb_encode_mimeheader()
99 $iterator = 1;
100 foreach($inputs as $input) {
101   echo "\n-- Iteration $iterator --\n";
102   var_dump( mb_encode_mimeheader($str, $charset, $transfer_encoding, $linefeed, $input));
103   $iterator++;
106 fclose($fp);
108 echo "Done";
110 --EXPECTF--
111 *** Testing mb_encode_mimeheader() : usage variations ***
113 -- Iteration 1 --
114 string(115) "=?UTF-8?B?zpHPhc+Ez4wgzrXOr869zrHOuSDOtc67zrvOt869zrnOus+MIM66zrXOr868?=
115  =?UTF-8?B?zrXOvc6/LiAwMTIzNDU2Nzg5Lg==?="
117 -- Iteration 2 --
118 string(115) "=?UTF-8?B?zpHPhc+Ez4wgzrXOr869zrHOuSDOtc67zrvOt869zrnOus+MIM66zrXOr868?=
119  =?UTF-8?B?zrXOvc6/LiAwMTIzNDU2Nzg5Lg==?="
121 -- Iteration 3 --
122 string(115) "=?UTF-8?B?zpHPhc+Ez4wgzrXOr869zrHOuSDOtc67zrvOt869zrnOus+MIM66zrXOr868?=
123  =?UTF-8?B?zrXOvc6/LiAwMTIzNDU2Nzg5Lg==?="
125 -- Iteration 4 --
126 string(115) "=?UTF-8?B?zpHPhc+Ez4wgzrXOr869zrHOuSDOtc67zrvOt869zrnOus+MIM66zrXOr868?=
127  =?UTF-8?B?zrXOvc6/LiAwMTIzNDU2Nzg5Lg==?="
129 -- Iteration 5 --
130 string(115) "=?UTF-8?B?zpHPhc+Ez4wgzrXOr869zrHOuSDOtc67zrvOt869zrnOus+MIM66?=
131  =?UTF-8?B?zrXOr868zrXOvc6/LiAwMTIzNDU2Nzg5Lg==?="
133 -- Iteration 6 --
134 string(115) "=?UTF-8?B?zpHPhc+Ez4wgzrXOr869zrHOuSDOtc67zrvOt869zrnOus+MIM66zrXOr868?=
135  =?UTF-8?B?zrXOvc6/LiAwMTIzNDU2Nzg5Lg==?="
137 -- Iteration 7 --
138 string(115) "=?UTF-8?B?zpHPhc+Ez4wgzrXOr869zrHOuSDOtc67zrvOt869zrnOus+MIM66zrXOr868?=
139  =?UTF-8?B?zrXOvc6/LiAwMTIzNDU2Nzg5Lg==?="
141 -- Iteration 8 --
142 string(115) "=?UTF-8?B?zpHPhc+Ez4wgzrXOr869zrHOuSDOtc67zrvOt869zrnOus+MIM66zrXOr868?=
143  =?UTF-8?B?zrXOvc6/LiAwMTIzNDU2Nzg5Lg==?="
145 -- Iteration 9 --
146 string(115) "=?UTF-8?B?zpHPhc+Ez4wgzrXOr869zrHOuSDOtc67zrvOt869zrnOus+MIM66zrXOr868?=
147  =?UTF-8?B?zrXOvc6/LiAwMTIzNDU2Nzg5Lg==?="
149 -- Iteration 10 --
150 string(115) "=?UTF-8?B?zpHPhc+Ez4wgzrXOr869zrHOuSDOtc67zrvOt869zrnOus+MIM66zrXOr868?=
151  =?UTF-8?B?zrXOvc6/LiAwMTIzNDU2Nzg5Lg==?="
153 -- Iteration 11 --
154 string(115) "=?UTF-8?B?zpHPhc+Ez4wgzrXOr869zrHOuSDOtc67zrvOt869zrnOus+MIM66zrXOr868?=
155  =?UTF-8?B?zrXOvc6/LiAwMTIzNDU2Nzg5Lg==?="
157 -- Iteration 12 --
158 string(115) "=?UTF-8?B?zpHPhc+Ez4wgzrXOr869zrHOuSDOtc67zrvOt869zrnOus+MIM66zrXOr868?=
159  =?UTF-8?B?zrXOvc6/LiAwMTIzNDU2Nzg5Lg==?="
161 -- Iteration 13 --
162 string(115) "=?UTF-8?B?zpHPhc+Ez4wgzrXOr869zrHOuSDOtc67zrvOt869zrnOus+MIM66zrXOr868?=
163  =?UTF-8?B?zrXOvc6/LiAwMTIzNDU2Nzg5Lg==?="
165 -- Iteration 14 --
166 string(115) "=?UTF-8?B?zpHPhc+Ez4wgzrXOr869zrHOuSDOtc67zrvOt869zrnOus+MIM66zrXOr868?=
167  =?UTF-8?B?zrXOvc6/LiAwMTIzNDU2Nzg5Lg==?="
169 -- Iteration 15 --
170 string(115) "=?UTF-8?B?zpHPhc+Ez4wgzrXOr869zrHOuSDOtc67zrvOt869zrnOus+MIM66zrXOr868?=
171  =?UTF-8?B?zrXOvc6/LiAwMTIzNDU2Nzg5Lg==?="
173 -- Iteration 16 --
175 Warning: mb_encode_mimeheader() expects parameter 5 to be long, string given in %s on line %d
176 NULL
178 -- Iteration 17 --
180 Warning: mb_encode_mimeheader() expects parameter 5 to be long, string given in %s on line %d
181 NULL
183 -- Iteration 18 --
185 Warning: mb_encode_mimeheader() expects parameter 5 to be long, string given in %s on line %d
186 NULL
188 -- Iteration 19 --
190 Warning: mb_encode_mimeheader() expects parameter 5 to be long, string given in %s on line %d
191 NULL
193 -- Iteration 20 --
195 Warning: mb_encode_mimeheader() expects parameter 5 to be long, string given in %s on line %d
196 NULL
198 -- Iteration 21 --
200 Warning: mb_encode_mimeheader() expects parameter 5 to be long, object given in %s on line %d
201 NULL
203 -- Iteration 22 --
204 string(115) "=?UTF-8?B?zpHPhc+Ez4wgzrXOr869zrHOuSDOtc67zrvOt869zrnOus+MIM66zrXOr868?=
205  =?UTF-8?B?zrXOvc6/LiAwMTIzNDU2Nzg5Lg==?="
207 -- Iteration 23 --
208 string(115) "=?UTF-8?B?zpHPhc+Ez4wgzrXOr869zrHOuSDOtc67zrvOt869zrnOus+MIM66zrXOr868?=
209  =?UTF-8?B?zrXOvc6/LiAwMTIzNDU2Nzg5Lg==?="
211 -- Iteration 24 --
213 Warning: mb_encode_mimeheader() expects parameter 5 to be long, resource given in %s on line %d
214 NULL
215 Done