summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandy wharmby <wharmby@php.net>2009-01-22 14:11:14 (GMT)
committerandy wharmby <wharmby@php.net>2009-01-22 14:11:14 (GMT)
commitf0c173aa35c73f425f02b8dfc5a4a8d9fa43259b (patch)
treec82dfc8d9fe7cc235184e826d0a990f0a40ac140
parentc8043b2ab3e7d38ee3f7f273001f723749cc3133 (diff)
downloadphp-f0c173aa35c73f425f02b8dfc5a4a8d9fa43259b.tar.gz
New basic time()and microtime() tests. Tested on Windows, Linux and Linux 64 bit
-rw-r--r--ext/date/tests/microtime_basic.phpt20
-rw-r--r--ext/date/tests/microtime_error.phpt71
-rw-r--r--ext/date/tests/time_basic.phpt16
-rw-r--r--ext/date/tests/time_error.phpt20
4 files changed, 127 insertions, 0 deletions
diff --git a/ext/date/tests/microtime_basic.phpt b/ext/date/tests/microtime_basic.phpt
new file mode 100644
index 0000000..0546b91
--- /dev/null
+++ b/ext/date/tests/microtime_basic.phpt
@@ -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
index 0000000..efb5adf
--- /dev/null
+++ b/ext/date/tests/microtime_error.phpt
@@ -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
index 0000000..116c0a4
--- /dev/null
+++ b/ext/date/tests/time_basic.phpt
@@ -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
index 0000000..1ab8827
--- /dev/null
+++ b/ext/date/tests/time_error.phpt
@@ -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