summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandy wharmby <wharmby@php.net>2009-06-18 21:14:15 +0000
committerandy wharmby <wharmby@php.net>2009-06-18 21:14:15 +0000
commit7c7dd8b7125812f4f8f5af8234860ca48d907e5c (patch)
treea88b018fa6edb229a22823eeeec1bb713a89efa3
parent9851acba7bb60d01a5d2198a64b36a6ead9e82d9 (diff)
downloadphp-git-7c7dd8b7125812f4f8f5af8234860ca48d907e5c.tar.gz
Basic tests for strftime(). Tested on Windows (all tests skip), Linux and Liinux 64 bit
-rw-r--r--ext/standard/tests/time/strptime_basic.phpt99
-rw-r--r--ext/standard/tests/time/strptime_error.phpt55
2 files changed, 154 insertions, 0 deletions
diff --git a/ext/standard/tests/time/strptime_basic.phpt b/ext/standard/tests/time/strptime_basic.phpt
new file mode 100644
index 0000000000..a3fa435d8c
--- /dev/null
+++ b/ext/standard/tests/time/strptime_basic.phpt
@@ -0,0 +1,99 @@
+--TEST--
+Test strptime() function : basic functionality
+--SKIPIF--
+<?php
+ if (!function_exists('strptime')) {
+ die("skip - strptime() function not available in this build");
+ }
+?>
+
+--FILE--
+<?php
+/* Prototype : array strptime ( string $date , string $format )
+ * Description: Parse a time/date generated with strftime()
+ * Source code: ext/standard/datetime.c
+*/
+
+$orig = setlocale(LC_ALL, 'C');
+date_default_timezone_set("GMT");
+
+echo "*** Testing strptime() : basic functionality ***\n";
+
+$input = "10:00:00 AM July 2 1963";
+$tstamp = strtotime($input);
+
+$str = strftime("%r %B%e %Y %Z", $tstamp);
+var_dump(strptime($str, '%H:%M:%S %p %B %d %Y %Z'));
+
+$str = strftime("%T %D", $tstamp);
+var_dump(strptime($str, '%H:%M:%S %m/%d/%y'));
+
+$str = strftime("%A %B %e %R", $tstamp);
+var_dump(strptime($str, '%A %B %e %R'));
+
+setlocale(LC_ALL, $orig);
+?>
+===DONE===
+--EXPECTF--
+*** Testing strptime() : basic functionality ***
+array(9) {
+ ["tm_sec"]=>
+ int(0)
+ ["tm_min"]=>
+ int(0)
+ ["tm_hour"]=>
+ int(10)
+ ["tm_mday"]=>
+ int(2)
+ ["tm_mon"]=>
+ int(6)
+ ["tm_year"]=>
+ int(63)
+ ["tm_wday"]=>
+ int(2)
+ ["tm_yday"]=>
+ int(182)
+ ["unparsed"]=>
+ string(3) "GMT"
+}
+array(9) {
+ ["tm_sec"]=>
+ int(0)
+ ["tm_min"]=>
+ int(0)
+ ["tm_hour"]=>
+ int(10)
+ ["tm_mday"]=>
+ int(2)
+ ["tm_mon"]=>
+ int(6)
+ ["tm_year"]=>
+ int(163)
+ ["tm_wday"]=>
+ int(1)
+ ["tm_yday"]=>
+ int(182)
+ ["unparsed"]=>
+ string(0) ""
+}
+array(9) {
+ ["tm_sec"]=>
+ int(0)
+ ["tm_min"]=>
+ int(0)
+ ["tm_hour"]=>
+ int(10)
+ ["tm_mday"]=>
+ int(2)
+ ["tm_mon"]=>
+ int(6)
+ ["tm_year"]=>
+ int(0)
+ ["tm_wday"]=>
+ int(2)
+ ["tm_yday"]=>
+ int(182)
+ ["unparsed"]=>
+ string(0) ""
+}
+===DONE===
diff --git a/ext/standard/tests/time/strptime_error.phpt b/ext/standard/tests/time/strptime_error.phpt
new file mode 100644
index 0000000000..92c7ca3474
--- /dev/null
+++ b/ext/standard/tests/time/strptime_error.phpt
@@ -0,0 +1,55 @@
+--TEST--
+Test localtime() function : error conditions
+--SKIPIF--
+<?php
+if (!function_exists('strptime')) {
+ echo "SKIP strptime function not available in build";
+}
+?>
+--FILE--
+<?php
+/* Prototype : array strptime ( string $date , string $format )
+ * Description: Parse a time/date generated with strftime()
+ * Source code: ext/standard/datetime.c
+ * Alias to functions:
+ */
+
+//Set the default time zone
+date_default_timezone_set("Europe/London");
+
+echo "*** Testing strptime() : error conditions ***\n";
+
+echo "\n-- Testing strptime() function with Zero arguments --\n";
+var_dump( strptime() );
+
+echo "\n-- Testing strptime() function with less than expected no. of arguments --\n";
+$format = '%b %d %Y %H:%M:%S';
+$timestamp = mktime(8, 8, 8, 8, 8, 2008);
+$date = strftime($format, $timestamp);
+var_dump( strptime($date) );
+
+echo "\n-- Testing strptime() function with more than expected no. of arguments --\n";
+$extra_arg = 10;
+var_dump( strptime($date, $format, $extra_arg) );
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing strptime() : error conditions ***
+
+-- Testing strptime() function with Zero arguments --
+
+Warning: strptime() expects exactly 2 parameters, 0 given in %s on line %d
+NULL
+
+-- Testing strptime() function with less than expected no. of arguments --
+
+Warning: strptime() expects exactly 2 parameters, 1 given in %s on line %d
+NULL
+
+-- Testing strptime() function with more than expected no. of arguments --
+
+Warning: strptime() expects exactly 2 parameters, 3 given in %s on line %d
+NULL
+===DONE===
+