Annotation of embedaddon/php/ext/iconv/tests/iconv_mime_decode_headers_variation3.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test iconv_mime_encode() function : usage variations - Pass different data types to charset arg
3: --SKIPIF--
4: <?php
5: extension_loaded('iconv') or die('skip');
6: function_exists('iconv_mime_decode_headers') or die("skip iconv_mime_decode_headers() is not available in this build");
7: ?>
8: --FILE--
9: <?php
10: /* Prototype : array iconv_mime_decode_headers(string headers [, int mode, string charset])
11: * Description: Decodes multiple mime header fields
12: * Source code: ext/iconv/iconv.c
13: */
14:
15: /*
16: * Pass different data types to $str argument to see how iconv_mime_decode_headers() behaves
17: */
18:
19: echo "*** Testing iconv_mime_decode_headers() : usage variations ***\n";
20:
21: // Some of the parameters actually passed to charset will request to use
22: // a default charset determined by the platform. In order for this test to
23: // run on both linux and windows, the subject will have to be ascii only.
24: // Initialise function arguments not being substituted
25: $headers = <<<EOF
26: Subject: =?UTF-8?B?QSBTYW1wbGUgVGVzdA==?=
27: To: example@example.com
28: Date: Thu, 1 Jan 1970 00:00:00 +0000
29: Message-Id: <example@example.com>
30: Received: from localhost (localhost [127.0.0.1]) by localhost
31: with SMTP id example for <example@example.com>;
32: Thu, 1 Jan 1970 00:00:00 +0000 (UTC)
33: (envelope-from example-return-0000-example=example.com@example.com)
34: Received: (qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000
35:
36: EOF;
37:
38: $mode = ICONV_MIME_DECODE_CONTINUE_ON_ERROR;
39: $charset = 'UTF-8';
40:
41:
42: //get an unset variable
43: $unset_var = 10;
44: unset ($unset_var);
45:
46: // get a class
47: class classA
48: {
49: public function __toString() {
50: return "Class A object";
51: }
52: }
53:
54: // heredoc string
55: $heredoc = <<<EOT
56: hello world
57: EOT;
58:
59: // get a resource variable
60: $fp = fopen(__FILE__, "r");
61:
62: // unexpected values to be passed to $str argument
63: $inputs = array(
64:
65: // int data
66: /*1*/ 0,
67: 1,
68: 12345,
69: -2345,
70:
71: // float data
72: /*5*/ 10.5,
73: -10.5,
74: 12.3456789000e10,
75: 12.3456789000E-10,
76: .5,
77:
78: // null data
79: /*10*/ NULL,
80: null,
81:
82: // boolean data
83: /*12*/ true,
84: false,
85: TRUE,
86: FALSE,
87:
88: // empty data
89: /*16*/ "",
90: '',
91:
92: // string data
93: /*18*/ "string",
94: 'string',
95: $heredoc,
96:
97: // object data
98: /*21*/ new classA(),
99:
100: // undefined data
101: /*22*/ @$undefined_var,
102:
103: // unset data
104: /*23*/ @$unset_var,
105:
106: // resource variable
107: /*24*/ $fp
108: );
109:
110: // loop through each element of $inputs to check the behavior of iconv_mime_decode_headers()
111: $iterator = 1;
112: foreach($inputs as $input) {
113: echo "\n-- Iteration $iterator --\n";
114: var_dump( iconv_mime_decode_headers($headers, $input, $charset));
115: $iterator++;
116: };
117:
118: fclose($fp);
119:
120: echo "Done";
121: ?>
122: --EXPECTF--
123: *** Testing iconv_mime_decode_headers() : usage variations ***
124:
125: -- Iteration 1 --
126: array(5) {
127: ["Subject"]=>
128: string(13) "A Sample Test"
129: ["To"]=>
130: string(19) "example@example.com"
131: ["Date"]=>
132: string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
133: ["Message-Id"]=>
134: string(21) "<example@example.com>"
135: ["Received"]=>
136: array(2) {
137: [0]=>
138: string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
139: [1]=>
140: string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
141: }
142: }
143:
144: -- Iteration 2 --
145: array(5) {
146: ["Subject"]=>
147: string(13) "A Sample Test"
148: ["To"]=>
149: string(19) "example@example.com"
150: ["Date"]=>
151: string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
152: ["Message-Id"]=>
153: string(21) "<example@example.com>"
154: ["Received"]=>
155: array(2) {
156: [0]=>
157: string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
158: [1]=>
159: string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
160: }
161: }
162:
163: -- Iteration 3 --
164: array(5) {
165: ["Subject"]=>
166: string(13) "A Sample Test"
167: ["To"]=>
168: string(19) "example@example.com"
169: ["Date"]=>
170: string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
171: ["Message-Id"]=>
172: string(21) "<example@example.com>"
173: ["Received"]=>
174: array(2) {
175: [0]=>
176: string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
177: [1]=>
178: string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
179: }
180: }
181:
182: -- Iteration 4 --
183: array(5) {
184: ["Subject"]=>
185: string(13) "A Sample Test"
186: ["To"]=>
187: string(19) "example@example.com"
188: ["Date"]=>
189: string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
190: ["Message-Id"]=>
191: string(21) "<example@example.com>"
192: ["Received"]=>
193: array(2) {
194: [0]=>
195: string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
196: [1]=>
197: string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
198: }
199: }
200:
201: -- Iteration 5 --
202: array(5) {
203: ["Subject"]=>
204: string(13) "A Sample Test"
205: ["To"]=>
206: string(19) "example@example.com"
207: ["Date"]=>
208: string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
209: ["Message-Id"]=>
210: string(21) "<example@example.com>"
211: ["Received"]=>
212: array(2) {
213: [0]=>
214: string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
215: [1]=>
216: string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
217: }
218: }
219:
220: -- Iteration 6 --
221: array(5) {
222: ["Subject"]=>
223: string(13) "A Sample Test"
224: ["To"]=>
225: string(19) "example@example.com"
226: ["Date"]=>
227: string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
228: ["Message-Id"]=>
229: string(21) "<example@example.com>"
230: ["Received"]=>
231: array(2) {
232: [0]=>
233: string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
234: [1]=>
235: string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
236: }
237: }
238:
239: -- Iteration 7 --
240: array(5) {
241: ["Subject"]=>
242: string(13) "A Sample Test"
243: ["To"]=>
244: string(19) "example@example.com"
245: ["Date"]=>
246: string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
247: ["Message-Id"]=>
248: string(21) "<example@example.com>"
249: ["Received"]=>
250: array(2) {
251: [0]=>
252: string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
253: [1]=>
254: string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
255: }
256: }
257:
258: -- Iteration 8 --
259: array(5) {
260: ["Subject"]=>
261: string(13) "A Sample Test"
262: ["To"]=>
263: string(19) "example@example.com"
264: ["Date"]=>
265: string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
266: ["Message-Id"]=>
267: string(21) "<example@example.com>"
268: ["Received"]=>
269: array(2) {
270: [0]=>
271: string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
272: [1]=>
273: string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
274: }
275: }
276:
277: -- Iteration 9 --
278: array(5) {
279: ["Subject"]=>
280: string(13) "A Sample Test"
281: ["To"]=>
282: string(19) "example@example.com"
283: ["Date"]=>
284: string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
285: ["Message-Id"]=>
286: string(21) "<example@example.com>"
287: ["Received"]=>
288: array(2) {
289: [0]=>
290: string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
291: [1]=>
292: string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
293: }
294: }
295:
296: -- Iteration 10 --
297: array(5) {
298: ["Subject"]=>
299: string(13) "A Sample Test"
300: ["To"]=>
301: string(19) "example@example.com"
302: ["Date"]=>
303: string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
304: ["Message-Id"]=>
305: string(21) "<example@example.com>"
306: ["Received"]=>
307: array(2) {
308: [0]=>
309: string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
310: [1]=>
311: string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
312: }
313: }
314:
315: -- Iteration 11 --
316: array(5) {
317: ["Subject"]=>
318: string(13) "A Sample Test"
319: ["To"]=>
320: string(19) "example@example.com"
321: ["Date"]=>
322: string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
323: ["Message-Id"]=>
324: string(21) "<example@example.com>"
325: ["Received"]=>
326: array(2) {
327: [0]=>
328: string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
329: [1]=>
330: string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
331: }
332: }
333:
334: -- Iteration 12 --
335: array(5) {
336: ["Subject"]=>
337: string(13) "A Sample Test"
338: ["To"]=>
339: string(19) "example@example.com"
340: ["Date"]=>
341: string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
342: ["Message-Id"]=>
343: string(21) "<example@example.com>"
344: ["Received"]=>
345: array(2) {
346: [0]=>
347: string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
348: [1]=>
349: string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
350: }
351: }
352:
353: -- Iteration 13 --
354: array(5) {
355: ["Subject"]=>
356: string(13) "A Sample Test"
357: ["To"]=>
358: string(19) "example@example.com"
359: ["Date"]=>
360: string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
361: ["Message-Id"]=>
362: string(21) "<example@example.com>"
363: ["Received"]=>
364: array(2) {
365: [0]=>
366: string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
367: [1]=>
368: string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
369: }
370: }
371:
372: -- Iteration 14 --
373: array(5) {
374: ["Subject"]=>
375: string(13) "A Sample Test"
376: ["To"]=>
377: string(19) "example@example.com"
378: ["Date"]=>
379: string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
380: ["Message-Id"]=>
381: string(21) "<example@example.com>"
382: ["Received"]=>
383: array(2) {
384: [0]=>
385: string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
386: [1]=>
387: string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
388: }
389: }
390:
391: -- Iteration 15 --
392: array(5) {
393: ["Subject"]=>
394: string(13) "A Sample Test"
395: ["To"]=>
396: string(19) "example@example.com"
397: ["Date"]=>
398: string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
399: ["Message-Id"]=>
400: string(21) "<example@example.com>"
401: ["Received"]=>
402: array(2) {
403: [0]=>
404: string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
405: [1]=>
406: string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
407: }
408: }
409:
410: -- Iteration 16 --
411:
412: Warning: iconv_mime_decode_headers() expects parameter 2 to be long, string given in %s on line %d
413: bool(false)
414:
415: -- Iteration 17 --
416:
417: Warning: iconv_mime_decode_headers() expects parameter 2 to be long, string given in %s on line %d
418: bool(false)
419:
420: -- Iteration 18 --
421:
422: Warning: iconv_mime_decode_headers() expects parameter 2 to be long, string given in %s on line %d
423: bool(false)
424:
425: -- Iteration 19 --
426:
427: Warning: iconv_mime_decode_headers() expects parameter 2 to be long, string given in %s on line %d
428: bool(false)
429:
430: -- Iteration 20 --
431:
432: Warning: iconv_mime_decode_headers() expects parameter 2 to be long, string given in %s on line %d
433: bool(false)
434:
435: -- Iteration 21 --
436:
437: Warning: iconv_mime_decode_headers() expects parameter 2 to be long, object given in %s on line %d
438: bool(false)
439:
440: -- Iteration 22 --
441: array(5) {
442: ["Subject"]=>
443: string(13) "A Sample Test"
444: ["To"]=>
445: string(19) "example@example.com"
446: ["Date"]=>
447: string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
448: ["Message-Id"]=>
449: string(21) "<example@example.com>"
450: ["Received"]=>
451: array(2) {
452: [0]=>
453: string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
454: [1]=>
455: string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
456: }
457: }
458:
459: -- Iteration 23 --
460: array(5) {
461: ["Subject"]=>
462: string(13) "A Sample Test"
463: ["To"]=>
464: string(19) "example@example.com"
465: ["Date"]=>
466: string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
467: ["Message-Id"]=>
468: string(21) "<example@example.com>"
469: ["Received"]=>
470: array(2) {
471: [0]=>
472: string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
473: [1]=>
474: string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
475: }
476: }
477:
478: -- Iteration 24 --
479:
480: Warning: iconv_mime_decode_headers() expects parameter 2 to be long, resource given in %s on line %d
481: bool(false)
482: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>