DateTimeZone_clone_basic2.phpt 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. --TEST--
  2. Testing clone on objects whoose class derived from DateTimeZone class
  3. --FILE--
  4. <?php
  5. //Set the default time zone
  6. date_default_timezone_set("Europe/London");
  7. class DateTimeZoneExt1 extends DateTimeZone {
  8. public $property1 = 99;
  9. public $property2 = "Hello";
  10. }
  11. class DateTimeZoneExt2 extends DateTimeZoneExt1 {
  12. public $property3 = true;
  13. public $property4 = 10.5;
  14. }
  15. echo "*** Testing clone on objects whoose class derived from DateTimeZone class ***\n";
  16. $d1 = new DateTimeZoneExt1("Europe/London");
  17. var_dump($d1);
  18. $d1_clone = clone $d1;
  19. var_dump($d1_clone);
  20. $d2 = new DateTimeZoneExt2("Europe/London");
  21. var_dump($d2);
  22. $d2_clone = clone $d2;
  23. var_dump($d2_clone);
  24. ?>
  25. ===DONE===
  26. --EXPECTF--
  27. *** Testing clone on objects whoose class derived from DateTimeZone class ***
  28. object(DateTimeZoneExt1)#%d (4) {
  29. ["property1"]=>
  30. int(99)
  31. ["property2"]=>
  32. string(5) "Hello"
  33. ["timezone_type"]=>
  34. int(3)
  35. ["timezone"]=>
  36. string(13) "Europe/London"
  37. }
  38. object(DateTimeZoneExt1)#%d (4) {
  39. ["property1"]=>
  40. int(99)
  41. ["property2"]=>
  42. string(5) "Hello"
  43. ["timezone_type"]=>
  44. int(3)
  45. ["timezone"]=>
  46. string(13) "Europe/London"
  47. }
  48. object(DateTimeZoneExt2)#%d (6) {
  49. ["property3"]=>
  50. bool(true)
  51. ["property4"]=>
  52. float(10.5)
  53. ["property1"]=>
  54. int(99)
  55. ["property2"]=>
  56. string(5) "Hello"
  57. ["timezone_type"]=>
  58. int(3)
  59. ["timezone"]=>
  60. string(13) "Europe/London"
  61. }
  62. object(DateTimeZoneExt2)#%d (6) {
  63. ["property3"]=>
  64. bool(true)
  65. ["property4"]=>
  66. float(10.5)
  67. ["property1"]=>
  68. int(99)
  69. ["property2"]=>
  70. string(5) "Hello"
  71. ["timezone_type"]=>
  72. int(3)
  73. ["timezone"]=>
  74. string(13) "Europe/London"
  75. }
  76. ===DONE===