]> granicus.if.org Git - php/commitdiff
New basic time()and microtime() tests. Tested on Windows, Linux and Linux 64 bit
authorandy wharmby <wharmby@php.net>
Thu, 22 Jan 2009 14:11:14 +0000 (14:11 +0000)
committerandy wharmby <wharmby@php.net>
Thu, 22 Jan 2009 14:11:14 +0000 (14:11 +0000)
ext/date/tests/microtime_basic.phpt [new file with mode: 0644]
ext/date/tests/microtime_error.phpt [new file with mode: 0644]
ext/date/tests/time_basic.phpt [new file with mode: 0644]
ext/date/tests/time_error.phpt [new file with mode: 0644]

diff --git a/ext/date/tests/microtime_basic.phpt b/ext/date/tests/microtime_basic.phpt
new file mode 100644 (file)
index 0000000..0546b91
--- /dev/null
@@ -0,0 +1,20 @@
+--TEST--
+Test return type and value for expected input microtime()
+--FILE--
+<?php
+/* 
+ * proto mixed microtime([bool get_as_float])
+ * Function is implemented in ext/standard/microtime.c
+*/ 
+
+var_dump(microtime());
+var_dump(microtime(true));
+var_dump(microtime(false));
+
+?>
+===DONE===
+--EXPECTF--
+unicode(%d) "%s %s"
+float(%s)
+unicode(%d) "%s %s"
+===DONE===
diff --git a/ext/date/tests/microtime_error.phpt b/ext/date/tests/microtime_error.phpt
new file mode 100644 (file)
index 0000000..efb5adf
--- /dev/null
@@ -0,0 +1,71 @@
+--TEST--
+Test wrong number of arguments for microtime()
+--FILE--
+<?php
+/* 
+ * proto mixed microtime([bool get_as_float])
+ * Function is implemented in ext/standard/microtime.c
+*/ 
+
+$opt_arg_0 = true;
+$extra_arg = 1;
+
+echo "\n-- Too many arguments --\n";
+var_dump(microtime($opt_arg_0, $extra_arg));
+
+
+echo "\n-- Bad Arg types --\n";
+
+$bad_args = array(null,
+                                 1.5,
+                                 "hello",
+                                 array('k'=>'v', array(0)),
+                                 new stdClass,
+                                 1);
+foreach ($bad_args as $bad_arg) {
+       echo "\n--> bad arg: ";
+       var_dump($bad_arg);
+       var_dump(microtime($bad_arg));
+}
+
+?>
+===DONE===
+--EXPECTF--
+-- Too many arguments --
+
+Warning: microtime() expects at most 1 parameter, 2 given in %s on line %d
+NULL
+
+-- Bad Arg types --
+
+--> bad arg: NULL
+unicode(%d) "%s"
+
+--> bad arg: float(1.5)
+float(%f)
+
+--> bad arg: unicode(5) "hello"
+float(%f)
+
+--> bad arg: array(2) {
+  [u"k"]=>
+  unicode(1) "v"
+  [0]=>
+  array(1) {
+    [0]=>
+    int(0)
+  }
+}
+
+Warning: microtime() expects parameter 1 to be boolean, array given in %s on line %d
+NULL
+
+--> bad arg: object(stdClass)#1 (0) {
+}
+
+Warning: microtime() expects parameter 1 to be boolean, object given in %s on line %d
+NULL
+
+--> bad arg: int(1)
+float(%f)
+===DONE===
\ No newline at end of file
diff --git a/ext/date/tests/time_basic.phpt b/ext/date/tests/time_basic.phpt
new file mode 100644 (file)
index 0000000..116c0a4
--- /dev/null
@@ -0,0 +1,16 @@
+--TEST--
+Test return type and value for expected input time()
+--FILE--
+<?php
+/* 
+ * proto int time(void)
+ * Function is implemented in ext/date/php_date.c
+*/ 
+
+var_dump(time());
+
+?>
+===DONE===
+--EXPECTF--
+int(%d)
+===DONE===
\ No newline at end of file
diff --git a/ext/date/tests/time_error.phpt b/ext/date/tests/time_error.phpt
new file mode 100644 (file)
index 0000000..1ab8827
--- /dev/null
@@ -0,0 +1,20 @@
+--TEST--
+Test wrong number of arguments for time()
+--FILE--
+<?php
+/* 
+ * proto int time(void)
+ * Function is implemented in ext/date/php_date.c
+*/ 
+
+// Extra arguments are ignored
+$extra_arg = 1;
+echo "\n-- Too many arguments --\n";
+var_dump (time($extra_arg));
+?>
+===DONE===
+--EXPECTF--
+
+-- Too many arguments --
+int(%d)
+===DONE===
\ No newline at end of file