1--TEST--
2Test clone of DateTime objects
3--FILE--
4<?php
5//Set the default time zone
6date_default_timezone_set("Europe/London");
7
8echo "*** Testing clone on DateTime objects ***\n";
9
10echo "\n-- Create a DateTime object --\n";
11$d1 = new DateTime("2009-02-03 12:34:41 GMT");
12var_dump($d1);
13echo "\n-- Add some properties --\n";
14$d1->property1 = 99;
15$d1->property2 = "Hello";
16var_dump($d1);
17echo "\n-- clone it --\n";
18$d1_clone = clone $d1;
19var_dump($d1_clone);
20echo "\n-- Add some more properties --\n";
21$d1_clone->property3 = true;
22$d1_clone->property4 = 10.5;
23var_dump($d1_clone);
24echo "\n-- clone it --\n";
25$d2_clone = clone $d1_clone;
26var_dump($d2_clone);
27?>
28===DONE===
29--EXPECTF--
30*** Testing clone on DateTime objects ***
31
32-- Create a DateTime object --
33object(DateTime)#%d (3) {
34  ["date"]=>
35  string(26) "2009-02-03 12:34:41.000000"
36  ["timezone_type"]=>
37  int(2)
38  ["timezone"]=>
39  string(3) "GMT"
40}
41
42-- Add some properties --
43object(DateTime)#%d (5) {
44  ["property1"]=>
45  int(99)
46  ["property2"]=>
47  string(5) "Hello"
48  ["date"]=>
49  string(26) "2009-02-03 12:34:41.000000"
50  ["timezone_type"]=>
51  int(2)
52  ["timezone"]=>
53  string(3) "GMT"
54}
55
56-- clone it --
57object(DateTime)#%d (5) {
58  ["property1"]=>
59  int(99)
60  ["property2"]=>
61  string(5) "Hello"
62  ["date"]=>
63  string(26) "2009-02-03 12:34:41.000000"
64  ["timezone_type"]=>
65  int(2)
66  ["timezone"]=>
67  string(3) "GMT"
68}
69
70-- Add some more properties --
71object(DateTime)#%d (7) {
72  ["property1"]=>
73  int(99)
74  ["property2"]=>
75  string(5) "Hello"
76  ["property3"]=>
77  bool(true)
78  ["property4"]=>
79  float(10.5)
80  ["date"]=>
81  string(26) "2009-02-03 12:34:41.000000"
82  ["timezone_type"]=>
83  int(2)
84  ["timezone"]=>
85  string(3) "GMT"
86}
87
88-- clone it --
89object(DateTime)#%d (7) {
90  ["property1"]=>
91  int(99)
92  ["property2"]=>
93  string(5) "Hello"
94  ["property3"]=>
95  bool(true)
96  ["property4"]=>
97  float(10.5)
98  ["date"]=>
99  string(26) "2009-02-03 12:34:41.000000"
100  ["timezone_type"]=>
101  int(2)
102  ["timezone"]=>
103  string(3) "GMT"
104}
105===DONE===
106