summaryrefslogtreecommitdiff
path: root/ext/xmlrpc/tests/bug44996.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/xmlrpc/tests/bug44996.phpt')
-rw-r--r--ext/xmlrpc/tests/bug44996.phpt49
1 files changed, 49 insertions, 0 deletions
diff --git a/ext/xmlrpc/tests/bug44996.phpt b/ext/xmlrpc/tests/bug44996.phpt
new file mode 100644
index 0000000000..dc1bc5d4f5
--- /dev/null
+++ b/ext/xmlrpc/tests/bug44996.phpt
@@ -0,0 +1,49 @@
+--TEST--
+Bug #44996 (xmlrpc_decode() ignores time zone on iso8601.datetime)
+--FILE--
+<?php
+
+function DecodeDatetime($datetime) {
+ print "\nISO 8601 datetime $datetime\n";
+ $obj = xmlrpc_decode("<?xml version=\"1.0\"?><methodResponse><params><param><value><dateTime.iso8601>$datetime</dateTime.iso8601></value></param></params></methodResponse>");
+ print_r($obj);
+}
+
+DecodeDatetime("20010909T01:46:40Z");
+DecodeDatetime("20010909T00:46:40-01");
+DecodeDatetime("2001-09-09T08:46:40+07:00");
+DecodeDatetime("2001-09-08T21:46:40-0400");
+
+?>
+--EXPECT--
+ISO 8601 datetime 20010909T01:46:40Z
+stdClass Object
+(
+ [scalar] => 20010909T01:46:40Z
+ [xmlrpc_type] => datetime
+ [timestamp] => 1000000000
+)
+
+ISO 8601 datetime 20010909T00:46:40-01
+stdClass Object
+(
+ [scalar] => 20010909T00:46:40-01
+ [xmlrpc_type] => datetime
+ [timestamp] => 1000000000
+)
+
+ISO 8601 datetime 2001-09-09T08:46:40+07:00
+stdClass Object
+(
+ [scalar] => 2001-09-09T08:46:40+07:00
+ [xmlrpc_type] => datetime
+ [timestamp] => 1000000000
+)
+
+ISO 8601 datetime 2001-09-08T21:46:40-0400
+stdClass Object
+(
+ [scalar] => 2001-09-08T21:46:40-0400
+ [xmlrpc_type] => datetime
+ [timestamp] => 1000000000
+)