summaryrefslogtreecommitdiff
path: root/ext/date/tests/DateTimeZone_clone_basic2.phpt
blob: f7f81cb275a85ffca4e6ed565a03bf6aba7f5199 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
--TEST--
Testing clone on objects whose 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 whose 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);

?>
--EXPECTF--
*** Testing clone on objects whose class derived from DateTimeZone class ***
object(DateTimeZoneExt1)#%d (4) {
  ["property1"]=>
  int(99)
  ["property2"]=>
  string(5) "Hello"
  ["timezone_type"]=>
  int(3)
  ["timezone"]=>
  string(13) "Europe/London"
}
object(DateTimeZoneExt1)#%d (4) {
  ["property1"]=>
  int(99)
  ["property2"]=>
  string(5) "Hello"
  ["timezone_type"]=>
  int(3)
  ["timezone"]=>
  string(13) "Europe/London"
}
object(DateTimeZoneExt2)#%d (6) {
  ["property1"]=>
  int(99)
  ["property2"]=>
  string(5) "Hello"
  ["property3"]=>
  bool(true)
  ["property4"]=>
  float(10.5)
  ["timezone_type"]=>
  int(3)
  ["timezone"]=>
  string(13) "Europe/London"
}
object(DateTimeZoneExt2)#%d (6) {
  ["property1"]=>
  int(99)
  ["property2"]=>
  string(5) "Hello"
  ["property3"]=>
  bool(true)
  ["property4"]=>
  float(10.5)
  ["timezone_type"]=>
  int(3)
  ["timezone"]=>
  string(13) "Europe/London"
}