summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Duncan <git@duncanc.co.uk>2018-02-20 21:12:43 +0000
committerCraig Duncan <duncan3dc@php.net>2019-05-30 18:55:42 +0100
commit8b53c7232e2dae1af675e9e280e7e89f2758bda1 (patch)
tree8c1bd609ce9a45e37d63f5131d5757e09063c344
parentdc586bff36a8a7359942179b94b0f71e99c81d12 (diff)
downloadphp-git-8b53c7232e2dae1af675e9e280e7e89f2758bda1.tar.gz
Add a test for bug #65672
-rw-r--r--ext/date/tests/bug65672.phpt44
1 files changed, 44 insertions, 0 deletions
diff --git a/ext/date/tests/bug65672.phpt b/ext/date/tests/bug65672.phpt
new file mode 100644
index 0000000000..a84cff69ae
--- /dev/null
+++ b/ext/date/tests/bug65672.phpt
@@ -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"
+}