Skip to content

Commit 29c885c

Browse files
author
Sanjay Mantoor
committed
New testcases for gettimeofday function
1 parent c9e793d commit 29c885c

File tree

3 files changed

+368
-0
lines changed

3 files changed

+368
-0
lines changed
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
--TEST--
2+
Test gettimeofday() function : basic functionality
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() : basic functionality ***\n";
12+
13+
date_default_timezone_set("Asia/Calcutta");
14+
15+
// Initialise all required variables
16+
$get_as_float = true;
17+
18+
// Calling gettimeofday() with all possible arguments
19+
var_dump( gettimeofday($get_as_float) );
20+
21+
// Calling gettimeofday() with mandatory arguments
22+
var_dump( gettimeofday() );
23+
24+
// Initialise all required variables
25+
$get_as_float = false;
26+
27+
// Calling gettimeofday() with all possible arguments
28+
var_dump( gettimeofday($get_as_float) );
29+
30+
?>
31+
===DONE===
32+
--EXPECTF--
33+
*** Testing gettimeofday() : basic functionality ***
34+
float(%f)
35+
array(4) {
36+
["sec"]=>
37+
int(%d)
38+
["usec"]=>
39+
int(%d)
40+
["minuteswest"]=>
41+
int(-330)
42+
["dsttime"]=>
43+
int(0)
44+
}
45+
array(4) {
46+
["sec"]=>
47+
int(%d)
48+
["usec"]=>
49+
int(%d)
50+
["minuteswest"]=>
51+
int(-330)
52+
["dsttime"]=>
53+
int(0)
54+
}
55+
===DONE===
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
--TEST--
2+
Test gettimeofday() function : error conditions
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() : error conditions ***\n";
12+
13+
14+
//Test gettimeofday with one more than the expected number of arguments
15+
echo "\n-- Testing gettimeofday() function with more than expected no. of arguments --\n";
16+
$get_as_float = true;
17+
$extra_arg = 10;
18+
var_dump( gettimeofday($get_as_float, $extra_arg) );
19+
20+
?>
21+
===DONE===
22+
--EXPECTF--
23+
*** Testing gettimeofday() : error conditions ***
24+
25+
-- Testing gettimeofday() function with more than expected no. of arguments --
26+
27+
Warning: gettimeofday() expects at most 1 parameter, 2 given in %s on line %d
28+
NULL
29+
===DONE===
Lines changed: 284 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,284 @@
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===

0 commit comments

Comments
 (0)