|
|
1.1 misho 1: --TEST--
2: Test gettimeofday() function : usage variation - Passing unexpected values to get_as_float argument
3: --FILE--
4: <?php
5: /* Prototype : array gettimeofday([bool get_as_float])
6: * Description: Returns the current time as array
7: * Source code: ext/standard/microtime.c
8: * Alias to functions:
9: */
10:
11: echo "*** Testing gettimeofday() : usage variation ***\n";
12:
13: date_default_timezone_set("Asia/Calcutta");
14:
15: //get an unset variable
16: $unset_var = 10;
17: unset ($unset_var);
18:
19: // define some classes
20: class classWithToString
21: {
22: public function __toString() {
23: return "Class A object";
24: }
25: }
26:
27: class classWithoutToString
28: {
29: }
30:
31: // heredoc string
32: $heredoc = <<<EOT
33: hello world
34: EOT;
35:
36: // add arrays
37: $index_array = array (1, 2, 3);
38: $assoc_array = array ('one' => 1, 'two' => 2);
39:
40: //array of values to iterate over
41: $inputs = array(
42:
43: // int data
44: 'int 0' => 0,
45: 'int 1' => 1,
46: 'int 12345' => 12345,
47: 'int -12345' => -12345,
48:
49: // float data
50: 'float 10.5' => 10.5,
51: 'float -10.5' => -10.5,
52: 'float 12.3456789000e10' => 12.3456789000e10,
53: 'float -12.3456789000e10' => -12.3456789000e10,
54: 'float .5' => .5,
55:
56: // array data
57: 'empty array' => array(),
58: 'int indexed array' => $index_array,
59: 'associative array' => $assoc_array,
60: 'nested arrays' => array('foo', $index_array, $assoc_array),
61:
62: // null data
63: 'uppercase NULL' => NULL,
64: 'lowercase null' => null,
65:
66: // boolean data
67: 'lowercase true' => true,
68: 'lowercase false' =>false,
69: 'uppercase TRUE' =>TRUE,
70: 'uppercase FALSE' =>FALSE,
71:
72: // empty data
73: 'empty string DQ' => "",
74: 'empty string SQ' => '',
75:
76: // string data
77: 'string DQ' => "string",
78: 'string SQ' => 'string',
79: 'mixed case string' => "sTrInG",
80: 'heredoc' => $heredoc,
81:
82: // object data
83: 'instance of classWithToString' => new classWithToString(),
84: 'instance of classWithoutToString' => new classWithoutToString(),
85:
86: // undefined data
87: 'undefined var' => @$undefined_var,
88:
89: // unset data
90: 'unset var' => @$unset_var,
91: );
92:
93: // loop through each element of the array for get_as_float
94:
95: foreach($inputs as $key =>$value) {
96: echo "\n--$key--\n";
97: var_dump( gettimeofday($value) );
98: };
99:
100: ?>
101: ===DONE===
102: --EXPECTF--
103: *** Testing gettimeofday() : usage variation ***
104:
105: --int 0--
106: array(4) {
107: ["sec"]=>
108: int(%d)
109: ["usec"]=>
110: int(%d)
111: ["minuteswest"]=>
112: int(-330)
113: ["dsttime"]=>
114: int(0)
115: }
116:
117: --int 1--
118: float(%f)
119:
120: --int 12345--
121: float(%f)
122:
123: --int -12345--
124: float(%f)
125:
126: --float 10.5--
127: float(%f)
128:
129: --float -10.5--
130: float(%f)
131:
132: --float 12.3456789000e10--
133: float(%f)
134:
135: --float -12.3456789000e10--
136: float(%f)
137:
138: --float .5--
139: float(%f)
140:
141: --empty array--
142:
143: Warning: gettimeofday() expects parameter 1 to be boolean, array given in %s on line %d
144: NULL
145:
146: --int indexed array--
147:
148: Warning: gettimeofday() expects parameter 1 to be boolean, array given in %s on line %d
149: NULL
150:
151: --associative array--
152:
153: Warning: gettimeofday() expects parameter 1 to be boolean, array given in %s on line %d
154: NULL
155:
156: --nested arrays--
157:
158: Warning: gettimeofday() expects parameter 1 to be boolean, array given in %s on line %d
159: NULL
160:
161: --uppercase NULL--
162: array(4) {
163: ["sec"]=>
164: int(%d)
165: ["usec"]=>
166: int(%d)
167: ["minuteswest"]=>
168: int(-330)
169: ["dsttime"]=>
170: int(0)
171: }
172:
173: --lowercase null--
174: array(4) {
175: ["sec"]=>
176: int(%d)
177: ["usec"]=>
178: int(%d)
179: ["minuteswest"]=>
180: int(-330)
181: ["dsttime"]=>
182: int(0)
183: }
184:
185: --lowercase true--
186: float(%f)
187:
188: --lowercase false--
189: array(4) {
190: ["sec"]=>
191: int(%d)
192: ["usec"]=>
193: int(%d)
194: ["minuteswest"]=>
195: int(-330)
196: ["dsttime"]=>
197: int(0)
198: }
199:
200: --uppercase TRUE--
201: float(%f)
202:
203: --uppercase FALSE--
204: array(4) {
205: ["sec"]=>
206: int(%d)
207: ["usec"]=>
208: int(%d)
209: ["minuteswest"]=>
210: int(-330)
211: ["dsttime"]=>
212: int(0)
213: }
214:
215: --empty string DQ--
216: array(4) {
217: ["sec"]=>
218: int(%d)
219: ["usec"]=>
220: int(%d)
221: ["minuteswest"]=>
222: int(-330)
223: ["dsttime"]=>
224: int(0)
225: }
226:
227: --empty string SQ--
228: array(4) {
229: ["sec"]=>
230: int(%d)
231: ["usec"]=>
232: int(%d)
233: ["minuteswest"]=>
234: int(-330)
235: ["dsttime"]=>
236: int(0)
237: }
238:
239: --string DQ--
240: float(%f)
241:
242: --string SQ--
243: float(%f)
244:
245: --mixed case string--
246: float(%f)
247:
248: --heredoc--
249: float(%f)
250:
251: --instance of classWithToString--
252:
253: Warning: gettimeofday() expects parameter 1 to be boolean, object given in %s on line %d
254: NULL
255:
256: --instance of classWithoutToString--
257:
258: Warning: gettimeofday() expects parameter 1 to be boolean, object given in %s on line %d
259: NULL
260:
261: --undefined var--
262: array(4) {
263: ["sec"]=>
264: int(%d)
265: ["usec"]=>
266: int(%d)
267: ["minuteswest"]=>
268: int(-330)
269: ["dsttime"]=>
270: int(0)
271: }
272:
273: --unset var--
274: array(4) {
275: ["sec"]=>
276: int(%d)
277: ["usec"]=>
278: int(%d)
279: ["minuteswest"]=>
280: int(-330)
281: ["dsttime"]=>
282: int(0)
283: }
284: ===DONE===