summaryrefslogtreecommitdiff
path: root/ext/date/tests/DateTimeZone_clone_basic2.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/date/tests/DateTimeZone_clone_basic2.phpt')
-rw-r--r--ext/date/tests/DateTimeZone_clone_basic2.phpt66
1 files changed, 66 insertions, 0 deletions
diff --git a/ext/date/tests/DateTimeZone_clone_basic2.phpt b/ext/date/tests/DateTimeZone_clone_basic2.phpt
new file mode 100644
index 0000000..a499510
--- /dev/null
+++ b/ext/date/tests/DateTimeZone_clone_basic2.phpt
@@ -0,0 +1,66 @@
+--TEST--
+Testing clone on objects whoose class derived from DateTimeZone class
+--FILE--
+<?php
+//Set the default time zone
+date_default_timezone_set("Europe/London");
+
+class DateTimeZoneExt1 extends DateTimeZone {
+ public $property1 = 99;
+ public $property2 = "Hello";
+}
+
+class DateTimeZoneExt2 extends DateTimeZoneExt1 {
+ public $property3 = true;
+ public $property4 = 10.5;
+}
+
+echo "*** Testing clone on objects whoose class derived from DateTimeZone class ***\n";
+
+$d1 = new DateTimeZoneExt1("Europe/London");
+var_dump($d1);
+$d1_clone = clone $d1;
+var_dump($d1_clone);
+
+$d2 = new DateTimeZoneExt2("Europe/London");
+var_dump($d2);
+$d2_clone = clone $d2;
+var_dump($d2_clone);
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing clone on objects whoose class derived from DateTimeZone class ***
+object(DateTimeZoneExt1)#%d (2) {
+ ["property1"]=>
+ int(99)
+ ["property2"]=>
+ string(5) "Hello"
+}
+object(DateTimeZoneExt1)#%d (2) {
+ ["property1"]=>
+ int(99)
+ ["property2"]=>
+ string(5) "Hello"
+}
+object(DateTimeZoneExt2)#%d (4) {
+ ["property3"]=>
+ bool(true)
+ ["property4"]=>
+ float(10.5)
+ ["property1"]=>
+ int(99)
+ ["property2"]=>
+ string(5) "Hello"
+}
+object(DateTimeZoneExt2)#%d (4) {
+ ["property3"]=>
+ bool(true)
+ ["property4"]=>
+ float(10.5)
+ ["property1"]=>
+ int(99)
+ ["property2"]=>
+ string(5) "Hello"
+}
+===DONE===