Annotation of embedaddon/php/ext/date/tests/date_create_variation1.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test date_create() function : usage variation - Passing unexpected values to first argument $time.
3: --FILE--
4: <?php
5: /* Prototype : DateTime date_create ([ string $time [, DateTimeZone $timezone ]] )
6: * Description: Returns new DateTime object
7: * Source code: ext/date/php_date.c
8: * Alias to functions: DateTime::__construct
9: */
10:
11: echo "*** Testing date_create() : usage variation - unexpected values to first argument \$time***\n";
12:
13: //Set the default time zone
14: date_default_timezone_set("Europe/London");
15:
16: //get an unset variable
17: $unset_var = 10;
18: unset ($unset_var);
19:
20: // define some classes
21: class classWithToString
22: {
23: public function __toString() {
24: return "Class A object";
25: }
26: }
27:
28: class classWithoutToString
29: {
30: }
31:
32: // heredoc string
33: $heredoc = <<<EOT
34: hello world
35: EOT;
36:
37: // add arrays
38: $index_array = array (1, 2, 3);
39: $assoc_array = array ('one' => 1, 'two' => 2);
40:
41: // resource
42: $file_handle = fopen(__FILE__, 'r');
43:
44: //array of values to iterate over
45: $inputs = array(
46:
47: // int data
48: 'int 0' => 0,
49: 'int 1' => 1,
50: 'int 12345' => 12345,
51: 'int -12345' => -12345,
52:
53: // float data
54: 'float 10.5' => 10.5,
55: 'float -10.5' => -10.5,
56: 'float .5' => .5,
57:
58: // array data
59: 'empty array' => array(),
60: 'int indexed array' => $index_array,
61: 'associative array' => $assoc_array,
62: 'nested arrays' => array('foo', $index_array, $assoc_array),
63:
64: // null data
65: 'uppercase NULL' => NULL,
66: 'lowercase null' => null,
67:
68: // boolean data
69: 'lowercase true' => true,
70: 'lowercase false' =>false,
71: 'uppercase TRUE' =>TRUE,
72: 'uppercase FALSE' =>FALSE,
73:
74: // empty data
75: 'empty string DQ' => "",
76: 'empty string SQ' => '',
77:
78: // string data
79: 'string DQ' => "string",
80: 'string SQ' => 'string',
81: 'mixed case string' => "sTrInG",
82: 'heredoc' => $heredoc,
83:
84: // object data
85: 'instance of classWithToString' => new classWithToString(),
86: 'instance of classWithoutToString' => new classWithoutToString(),
87:
88: // undefined data
89: 'undefined var' => @$undefined_var,
90:
91: // unset data
92: 'unset var' => @$unset_var,
93:
94: // resource
95: 'resource' => $file_handle
96: );
97:
98: $timezone = new DateTimeZone("Europe/London");
99:
100: foreach($inputs as $variation =>$time) {
101: echo "\n-- $variation --\n";
102: var_dump( date_create($time) );
103: var_dump( date_create($time, $timezone) );
104: };
105:
106: // closing the resource
107: fclose( $file_handle);
108:
109: ?>
110: ===DONE===
111: --EXPECTF--
112: *** Testing date_create() : usage variation - unexpected values to first argument $time***
113:
114: -- int 0 --
115: bool(false)
116: bool(false)
117:
118: -- int 1 --
119: bool(false)
120: bool(false)
121:
122: -- int 12345 --
123: bool(false)
124: bool(false)
125:
126: -- int -12345 --
127: bool(false)
128: bool(false)
129:
130: -- float 10.5 --
131: object(DateTime)#%d (3) {
132: ["date"]=>
133: string(19) "%s"
134: ["timezone_type"]=>
135: int(3)
136: ["timezone"]=>
137: string(13) "Europe/London"
138: }
139: object(DateTime)#%d (3) {
140: ["date"]=>
141: string(19) "%s"
142: ["timezone_type"]=>
143: int(3)
144: ["timezone"]=>
145: string(13) "Europe/London"
146: }
147:
148: -- float -10.5 --
149: bool(false)
150: bool(false)
151:
152: -- float .5 --
153: object(DateTime)#%d (3) {
154: ["date"]=>
155: string(19) "%s"
156: ["timezone_type"]=>
157: int(3)
158: ["timezone"]=>
159: string(13) "Europe/London"
160: }
161: object(DateTime)#%d (3) {
162: ["date"]=>
163: string(19) "%s"
164: ["timezone_type"]=>
165: int(3)
166: ["timezone"]=>
167: string(13) "Europe/London"
168: }
169:
170: -- empty array --
171:
172: Warning: date_create() expects parameter 1 to be string, array given in %s on line %d
173: bool(false)
174:
175: Warning: date_create() expects parameter 1 to be string, array given in %s on line %d
176: bool(false)
177:
178: -- int indexed array --
179:
180: Warning: date_create() expects parameter 1 to be string, array given in %s on line %d
181: bool(false)
182:
183: Warning: date_create() expects parameter 1 to be string, array given in %s on line %d
184: bool(false)
185:
186: -- associative array --
187:
188: Warning: date_create() expects parameter 1 to be string, array given in %s on line %d
189: bool(false)
190:
191: Warning: date_create() expects parameter 1 to be string, array given in %s on line %d
192: bool(false)
193:
194: -- nested arrays --
195:
196: Warning: date_create() expects parameter 1 to be string, array given in %s on line %d
197: bool(false)
198:
199: Warning: date_create() expects parameter 1 to be string, array given in %s on line %d
200: bool(false)
201:
202: -- uppercase NULL --
203: object(DateTime)#%d (3) {
204: ["date"]=>
205: string(19) "%s"
206: ["timezone_type"]=>
207: int(3)
208: ["timezone"]=>
209: string(13) "Europe/London"
210: }
211: object(DateTime)#%d (3) {
212: ["date"]=>
213: string(19) "%s"
214: ["timezone_type"]=>
215: int(3)
216: ["timezone"]=>
217: string(13) "Europe/London"
218: }
219:
220: -- lowercase null --
221: object(DateTime)#%d (3) {
222: ["date"]=>
223: string(19) "%s"
224: ["timezone_type"]=>
225: int(3)
226: ["timezone"]=>
227: string(13) "Europe/London"
228: }
229: object(DateTime)#%d (3) {
230: ["date"]=>
231: string(19) "%s"
232: ["timezone_type"]=>
233: int(3)
234: ["timezone"]=>
235: string(13) "Europe/London"
236: }
237:
238: -- lowercase true --
239: bool(false)
240: bool(false)
241:
242: -- lowercase false --
243: object(DateTime)#%d (3) {
244: ["date"]=>
245: string(19) "%s"
246: ["timezone_type"]=>
247: int(3)
248: ["timezone"]=>
249: string(13) "Europe/London"
250: }
251: object(DateTime)#%d (3) {
252: ["date"]=>
253: string(19) "%s"
254: ["timezone_type"]=>
255: int(3)
256: ["timezone"]=>
257: string(13) "Europe/London"
258: }
259:
260: -- uppercase TRUE --
261: bool(false)
262: bool(false)
263:
264: -- uppercase FALSE --
265: object(DateTime)#%d (3) {
266: ["date"]=>
267: string(19) "%s"
268: ["timezone_type"]=>
269: int(3)
270: ["timezone"]=>
271: string(13) "Europe/London"
272: }
273: object(DateTime)#%d (3) {
274: ["date"]=>
275: string(19) "%s"
276: ["timezone_type"]=>
277: int(3)
278: ["timezone"]=>
279: string(13) "Europe/London"
280: }
281:
282: -- empty string DQ --
283: object(DateTime)#%d (3) {
284: ["date"]=>
285: string(19) "%s"
286: ["timezone_type"]=>
287: int(3)
288: ["timezone"]=>
289: string(13) "Europe/London"
290: }
291: object(DateTime)#%d (3) {
292: ["date"]=>
293: string(19) "%s"
294: ["timezone_type"]=>
295: int(3)
296: ["timezone"]=>
297: string(13) "Europe/London"
298: }
299:
300: -- empty string SQ --
301: object(DateTime)#%d (3) {
302: ["date"]=>
303: string(19) "%s"
304: ["timezone_type"]=>
305: int(3)
306: ["timezone"]=>
307: string(13) "Europe/London"
308: }
309: object(DateTime)#%d (3) {
310: ["date"]=>
311: string(19) "%s"
312: ["timezone_type"]=>
313: int(3)
314: ["timezone"]=>
315: string(13) "Europe/London"
316: }
317:
318: -- string DQ --
319: bool(false)
320: bool(false)
321:
322: -- string SQ --
323: bool(false)
324: bool(false)
325:
326: -- mixed case string --
327: bool(false)
328: bool(false)
329:
330: -- heredoc --
331: bool(false)
332: bool(false)
333:
334: -- instance of classWithToString --
335: bool(false)
336: bool(false)
337:
338: -- instance of classWithoutToString --
339:
340: Warning: date_create() expects parameter 1 to be string, object given in %s on line %d
341: bool(false)
342:
343: Warning: date_create() expects parameter 1 to be string, object given in %s on line %d
344: bool(false)
345:
346: -- undefined var --
347: object(DateTime)#%d (3) {
348: ["date"]=>
349: string(19) "%s"
350: ["timezone_type"]=>
351: int(3)
352: ["timezone"]=>
353: string(13) "Europe/London"
354: }
355: object(DateTime)#%d (3) {
356: ["date"]=>
357: string(19) "%s"
358: ["timezone_type"]=>
359: int(3)
360: ["timezone"]=>
361: string(13) "Europe/London"
362: }
363:
364: -- unset var --
365: object(DateTime)#%d (3) {
366: ["date"]=>
367: string(19) "%s"
368: ["timezone_type"]=>
369: int(3)
370: ["timezone"]=>
371: string(13) "Europe/London"
372: }
373: object(DateTime)#%d (3) {
374: ["date"]=>
375: string(19) "%s"
376: ["timezone_type"]=>
377: int(3)
378: ["timezone"]=>
379: string(13) "Europe/London"
380: }
381:
382: -- resource --
383:
384: Warning: date_create() expects parameter 1 to be string, resource given in %s on line %d
385: bool(false)
386:
387: Warning: date_create() expects parameter 1 to be string, resource given in %s on line %d
388: bool(false)
389: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>