|
|
1.1 misho 1: --TEST--
2: Test localtime() function : usage variation - Passing unexpected values to first argument 'timestamp'.
3: --FILE--
4: <?php
5: /* Prototype : array localtime([int timestamp [, bool associative_array]])
6: * Description: Returns the results of the C system call localtime as an associative array
7: * if the associative_array argument is set to 1 other wise it is a regular array
8: * Source code: ext/date/php_date.c
9: * Alias to functions:
10: */
11:
12: echo "*** Testing localtime() : usage variation ***\n";
13:
14: date_default_timezone_set("UTC");
15: // Initialise function arguments not being substituted (if any)
16: $is_associative = true;
17:
18: //get an unset variable
19: $unset_var = 10;
20: unset ($unset_var);
21:
22: // define some classes
23: class classWithToString
24: {
25: public function __toString() {
26: return "Class A object";
27: }
28: }
29:
30: class classWithoutToString
31: {
32: }
33:
34: // heredoc string
35: $heredoc = <<<EOT
36: hello world
37: EOT;
38:
39: // add arrays
40: $index_array = array (1, 2, 3);
41: $assoc_array = array ('one' => 1, 'two' => 2);
42:
43: //array of values to iterate over
44: $inputs = array(
45:
46: // float data
47: 'float 10.5' => 10.5,
48: 'float -10.5' => -10.5,
49: 'float .5' => .5,
50:
51: // array data
52: 'empty array' => array(),
53: 'int indexed array' => $index_array,
54: 'associative array' => $assoc_array,
55: 'nested arrays' => array('foo', $index_array, $assoc_array),
56:
57: // null data
58: 'uppercase NULL' => NULL,
59: 'lowercase null' => null,
60:
61: // boolean data
62: 'lowercase true' => true,
63: 'lowercase false' =>false,
64: 'uppercase TRUE' =>TRUE,
65: 'uppercase FALSE' =>FALSE,
66:
67: // empty data
68: 'empty string DQ' => "",
69: 'empty string SQ' => '',
70:
71: // string data
72: 'string DQ' => "string",
73: 'string SQ' => 'string',
74: 'mixed case string' => "sTrInG",
75: 'heredoc' => $heredoc,
76:
77: // object data
78: 'instance of classWithToString' => new classWithToString(),
79: 'instance of classWithoutToString' => new classWithoutToString(),
80:
81: // undefined data
82: 'undefined var' => @$undefined_var,
83:
84: // unset data
85: 'unset var' => @$unset_var,
86: );
87:
88: // loop through each element of the array for timestamp
89:
90: foreach($inputs as $key =>$value) {
91: echo "\n--$key--\n";
92: var_dump( localtime($value) );
93: var_dump( localtime($value, $is_associative) );
94: };
95:
96: ?>
97: ===DONE===
98: --EXPECTF--
99: *** Testing localtime() : usage variation ***
100:
101: --float 10.5--
102: array(9) {
103: [0]=>
104: int(10)
105: [1]=>
106: int(0)
107: [2]=>
108: int(0)
109: [3]=>
110: int(1)
111: [4]=>
112: int(0)
113: [5]=>
114: int(70)
115: [6]=>
116: int(4)
117: [7]=>
118: int(0)
119: [8]=>
120: int(0)
121: }
122: array(9) {
123: ["tm_sec"]=>
124: int(10)
125: ["tm_min"]=>
126: int(0)
127: ["tm_hour"]=>
128: int(0)
129: ["tm_mday"]=>
130: int(1)
131: ["tm_mon"]=>
132: int(0)
133: ["tm_year"]=>
134: int(70)
135: ["tm_wday"]=>
136: int(4)
137: ["tm_yday"]=>
138: int(0)
139: ["tm_isdst"]=>
140: int(0)
141: }
142:
143: --float -10.5--
144: array(9) {
145: [0]=>
146: int(50)
147: [1]=>
148: int(59)
149: [2]=>
150: int(23)
151: [3]=>
152: int(31)
153: [4]=>
154: int(11)
155: [5]=>
156: int(69)
157: [6]=>
158: int(3)
159: [7]=>
160: int(364)
161: [8]=>
162: int(0)
163: }
164: array(9) {
165: ["tm_sec"]=>
166: int(50)
167: ["tm_min"]=>
168: int(59)
169: ["tm_hour"]=>
170: int(23)
171: ["tm_mday"]=>
172: int(31)
173: ["tm_mon"]=>
174: int(11)
175: ["tm_year"]=>
176: int(69)
177: ["tm_wday"]=>
178: int(3)
179: ["tm_yday"]=>
180: int(364)
181: ["tm_isdst"]=>
182: int(0)
183: }
184:
185: --float .5--
186: array(9) {
187: [0]=>
188: int(0)
189: [1]=>
190: int(0)
191: [2]=>
192: int(0)
193: [3]=>
194: int(1)
195: [4]=>
196: int(0)
197: [5]=>
198: int(70)
199: [6]=>
200: int(4)
201: [7]=>
202: int(0)
203: [8]=>
204: int(0)
205: }
206: array(9) {
207: ["tm_sec"]=>
208: int(0)
209: ["tm_min"]=>
210: int(0)
211: ["tm_hour"]=>
212: int(0)
213: ["tm_mday"]=>
214: int(1)
215: ["tm_mon"]=>
216: int(0)
217: ["tm_year"]=>
218: int(70)
219: ["tm_wday"]=>
220: int(4)
221: ["tm_yday"]=>
222: int(0)
223: ["tm_isdst"]=>
224: int(0)
225: }
226:
227: --empty array--
228:
229: Warning: localtime() expects parameter 1 to be long, array given in %s on line %d
230: bool(false)
231:
232: Warning: localtime() expects parameter 1 to be long, array given in %s on line %d
233: bool(false)
234:
235: --int indexed array--
236:
237: Warning: localtime() expects parameter 1 to be long, array given in %s on line %d
238: bool(false)
239:
240: Warning: localtime() expects parameter 1 to be long, array given in %s on line %d
241: bool(false)
242:
243: --associative array--
244:
245: Warning: localtime() expects parameter 1 to be long, array given in %s on line %d
246: bool(false)
247:
248: Warning: localtime() expects parameter 1 to be long, array given in %s on line %d
249: bool(false)
250:
251: --nested arrays--
252:
253: Warning: localtime() expects parameter 1 to be long, array given in %s on line %d
254: bool(false)
255:
256: Warning: localtime() expects parameter 1 to be long, array given in %s on line %d
257: bool(false)
258:
259: --uppercase NULL--
260: array(9) {
261: [0]=>
262: int(0)
263: [1]=>
264: int(0)
265: [2]=>
266: int(0)
267: [3]=>
268: int(1)
269: [4]=>
270: int(0)
271: [5]=>
272: int(70)
273: [6]=>
274: int(4)
275: [7]=>
276: int(0)
277: [8]=>
278: int(0)
279: }
280: array(9) {
281: ["tm_sec"]=>
282: int(0)
283: ["tm_min"]=>
284: int(0)
285: ["tm_hour"]=>
286: int(0)
287: ["tm_mday"]=>
288: int(1)
289: ["tm_mon"]=>
290: int(0)
291: ["tm_year"]=>
292: int(70)
293: ["tm_wday"]=>
294: int(4)
295: ["tm_yday"]=>
296: int(0)
297: ["tm_isdst"]=>
298: int(0)
299: }
300:
301: --lowercase null--
302: array(9) {
303: [0]=>
304: int(0)
305: [1]=>
306: int(0)
307: [2]=>
308: int(0)
309: [3]=>
310: int(1)
311: [4]=>
312: int(0)
313: [5]=>
314: int(70)
315: [6]=>
316: int(4)
317: [7]=>
318: int(0)
319: [8]=>
320: int(0)
321: }
322: array(9) {
323: ["tm_sec"]=>
324: int(0)
325: ["tm_min"]=>
326: int(0)
327: ["tm_hour"]=>
328: int(0)
329: ["tm_mday"]=>
330: int(1)
331: ["tm_mon"]=>
332: int(0)
333: ["tm_year"]=>
334: int(70)
335: ["tm_wday"]=>
336: int(4)
337: ["tm_yday"]=>
338: int(0)
339: ["tm_isdst"]=>
340: int(0)
341: }
342:
343: --lowercase true--
344: array(9) {
345: [0]=>
346: int(1)
347: [1]=>
348: int(0)
349: [2]=>
350: int(0)
351: [3]=>
352: int(1)
353: [4]=>
354: int(0)
355: [5]=>
356: int(70)
357: [6]=>
358: int(4)
359: [7]=>
360: int(0)
361: [8]=>
362: int(0)
363: }
364: array(9) {
365: ["tm_sec"]=>
366: int(1)
367: ["tm_min"]=>
368: int(0)
369: ["tm_hour"]=>
370: int(0)
371: ["tm_mday"]=>
372: int(1)
373: ["tm_mon"]=>
374: int(0)
375: ["tm_year"]=>
376: int(70)
377: ["tm_wday"]=>
378: int(4)
379: ["tm_yday"]=>
380: int(0)
381: ["tm_isdst"]=>
382: int(0)
383: }
384:
385: --lowercase false--
386: array(9) {
387: [0]=>
388: int(0)
389: [1]=>
390: int(0)
391: [2]=>
392: int(0)
393: [3]=>
394: int(1)
395: [4]=>
396: int(0)
397: [5]=>
398: int(70)
399: [6]=>
400: int(4)
401: [7]=>
402: int(0)
403: [8]=>
404: int(0)
405: }
406: array(9) {
407: ["tm_sec"]=>
408: int(0)
409: ["tm_min"]=>
410: int(0)
411: ["tm_hour"]=>
412: int(0)
413: ["tm_mday"]=>
414: int(1)
415: ["tm_mon"]=>
416: int(0)
417: ["tm_year"]=>
418: int(70)
419: ["tm_wday"]=>
420: int(4)
421: ["tm_yday"]=>
422: int(0)
423: ["tm_isdst"]=>
424: int(0)
425: }
426:
427: --uppercase TRUE--
428: array(9) {
429: [0]=>
430: int(1)
431: [1]=>
432: int(0)
433: [2]=>
434: int(0)
435: [3]=>
436: int(1)
437: [4]=>
438: int(0)
439: [5]=>
440: int(70)
441: [6]=>
442: int(4)
443: [7]=>
444: int(0)
445: [8]=>
446: int(0)
447: }
448: array(9) {
449: ["tm_sec"]=>
450: int(1)
451: ["tm_min"]=>
452: int(0)
453: ["tm_hour"]=>
454: int(0)
455: ["tm_mday"]=>
456: int(1)
457: ["tm_mon"]=>
458: int(0)
459: ["tm_year"]=>
460: int(70)
461: ["tm_wday"]=>
462: int(4)
463: ["tm_yday"]=>
464: int(0)
465: ["tm_isdst"]=>
466: int(0)
467: }
468:
469: --uppercase FALSE--
470: array(9) {
471: [0]=>
472: int(0)
473: [1]=>
474: int(0)
475: [2]=>
476: int(0)
477: [3]=>
478: int(1)
479: [4]=>
480: int(0)
481: [5]=>
482: int(70)
483: [6]=>
484: int(4)
485: [7]=>
486: int(0)
487: [8]=>
488: int(0)
489: }
490: array(9) {
491: ["tm_sec"]=>
492: int(0)
493: ["tm_min"]=>
494: int(0)
495: ["tm_hour"]=>
496: int(0)
497: ["tm_mday"]=>
498: int(1)
499: ["tm_mon"]=>
500: int(0)
501: ["tm_year"]=>
502: int(70)
503: ["tm_wday"]=>
504: int(4)
505: ["tm_yday"]=>
506: int(0)
507: ["tm_isdst"]=>
508: int(0)
509: }
510:
511: --empty string DQ--
512:
513: Warning: localtime() expects parameter 1 to be long, string given in %s on line %d
514: bool(false)
515:
516: Warning: localtime() expects parameter 1 to be long, string given in %s on line %d
517: bool(false)
518:
519: --empty string SQ--
520:
521: Warning: localtime() expects parameter 1 to be long, string given in %s on line %d
522: bool(false)
523:
524: Warning: localtime() expects parameter 1 to be long, string given in %s on line %d
525: bool(false)
526:
527: --string DQ--
528:
529: Warning: localtime() expects parameter 1 to be long, string given in %s on line %d
530: bool(false)
531:
532: Warning: localtime() expects parameter 1 to be long, string given in %s on line %d
533: bool(false)
534:
535: --string SQ--
536:
537: Warning: localtime() expects parameter 1 to be long, string given in %s on line %d
538: bool(false)
539:
540: Warning: localtime() expects parameter 1 to be long, string given in %s on line %d
541: bool(false)
542:
543: --mixed case string--
544:
545: Warning: localtime() expects parameter 1 to be long, string given in %s on line %d
546: bool(false)
547:
548: Warning: localtime() expects parameter 1 to be long, string given in %s on line %d
549: bool(false)
550:
551: --heredoc--
552:
553: Warning: localtime() expects parameter 1 to be long, string given in %s on line %d
554: bool(false)
555:
556: Warning: localtime() expects parameter 1 to be long, string given in %s on line %d
557: bool(false)
558:
559: --instance of classWithToString--
560:
561: Warning: localtime() expects parameter 1 to be long, object given in %s on line %d
562: bool(false)
563:
564: Warning: localtime() expects parameter 1 to be long, object given in %s on line %d
565: bool(false)
566:
567: --instance of classWithoutToString--
568:
569: Warning: localtime() expects parameter 1 to be long, object given in %s on line %d
570: bool(false)
571:
572: Warning: localtime() expects parameter 1 to be long, object given in %s on line %d
573: bool(false)
574:
575: --undefined var--
576: array(9) {
577: [0]=>
578: int(0)
579: [1]=>
580: int(0)
581: [2]=>
582: int(0)
583: [3]=>
584: int(1)
585: [4]=>
586: int(0)
587: [5]=>
588: int(70)
589: [6]=>
590: int(4)
591: [7]=>
592: int(0)
593: [8]=>
594: int(0)
595: }
596: array(9) {
597: ["tm_sec"]=>
598: int(0)
599: ["tm_min"]=>
600: int(0)
601: ["tm_hour"]=>
602: int(0)
603: ["tm_mday"]=>
604: int(1)
605: ["tm_mon"]=>
606: int(0)
607: ["tm_year"]=>
608: int(70)
609: ["tm_wday"]=>
610: int(4)
611: ["tm_yday"]=>
612: int(0)
613: ["tm_isdst"]=>
614: int(0)
615: }
616:
617: --unset var--
618: array(9) {
619: [0]=>
620: int(0)
621: [1]=>
622: int(0)
623: [2]=>
624: int(0)
625: [3]=>
626: int(1)
627: [4]=>
628: int(0)
629: [5]=>
630: int(70)
631: [6]=>
632: int(4)
633: [7]=>
634: int(0)
635: [8]=>
636: int(0)
637: }
638: array(9) {
639: ["tm_sec"]=>
640: int(0)
641: ["tm_min"]=>
642: int(0)
643: ["tm_hour"]=>
644: int(0)
645: ["tm_mday"]=>
646: int(1)
647: ["tm_mon"]=>
648: int(0)
649: ["tm_year"]=>
650: int(70)
651: ["tm_wday"]=>
652: int(4)
653: ["tm_yday"]=>
654: int(0)
655: ["tm_isdst"]=>
656: int(0)
657: }
658: ===DONE===