]> granicus.if.org Git - php/commitdiff
Add a test for bug #65672
authorCraig Duncan <git@duncanc.co.uk>
Tue, 20 Feb 2018 21:12:43 +0000 (21:12 +0000)
committerCraig Duncan <duncan3dc@php.net>
Thu, 30 May 2019 17:55:42 +0000 (18:55 +0100)
ext/date/tests/bug65672.phpt [new file with mode: 0644]

diff --git a/ext/date/tests/bug65672.phpt b/ext/date/tests/bug65672.phpt
new file mode 100644 (file)
index 0000000..a84cff6
--- /dev/null
@@ -0,0 +1,44 @@
+--TEST--
+Test for bug #65672: Broken classes inherited from DatePeriod
+--INI--
+date.timezone=UTC
+--FILE--
+<?php
+
+$interval = new DateInterval('P1D');
+$period = new class(new DateTime, $interval, new DateTime) extends DatePeriod {
+    public $extra = "stuff";
+};
+
+var_dump($period->extra);
+$period->extra = "modified";
+var_dump($period->extra);
+
+# Ensure we can modify properties (retrieve for write)
+$period->extra = [];
+$period->extra[] = "array";
+var_dump($period->extra);
+
+var_dump(isset($period->dynamic1));
+$period->dynamic1 = "dynamic";
+var_dump($period->dynamic1);
+
+# Ensure we can modify properties (retrieve for write)
+$period->dynamic2 = [];
+$period->dynamic2[] = "array";
+var_dump($period->dynamic2);
+
+?>
+--EXPECT--
+string(5) "stuff"
+string(8) "modified"
+array(1) {
+  [0]=>
+  string(5) "array"
+}
+bool(false)
+string(7) "dynamic"
+array(1) {
+  [0]=>
+  string(5) "array"
+}