Skip to content

Commit 8b53c72

Browse files
committed
Add a test for bug #65672
1 parent dc586bf commit 8b53c72

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

ext/date/tests/bug65672.phpt

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
--TEST--
2+
Test for bug #65672: Broken classes inherited from DatePeriod
3+
--INI--
4+
date.timezone=UTC
5+
--FILE--
6+
<?php
7+
8+
$interval = new DateInterval('P1D');
9+
$period = new class(new DateTime, $interval, new DateTime) extends DatePeriod {
10+
public $extra = "stuff";
11+
};
12+
13+
var_dump($period->extra);
14+
$period->extra = "modified";
15+
var_dump($period->extra);
16+
17+
# Ensure we can modify properties (retrieve for write)
18+
$period->extra = [];
19+
$period->extra[] = "array";
20+
var_dump($period->extra);
21+
22+
var_dump(isset($period->dynamic1));
23+
$period->dynamic1 = "dynamic";
24+
var_dump($period->dynamic1);
25+
26+
# Ensure we can modify properties (retrieve for write)
27+
$period->dynamic2 = [];
28+
$period->dynamic2[] = "array";
29+
var_dump($period->dynamic2);
30+
31+
?>
32+
--EXPECT--
33+
string(5) "stuff"
34+
string(8) "modified"
35+
array(1) {
36+
[0]=>
37+
string(5) "array"
38+
}
39+
bool(false)
40+
string(7) "dynamic"
41+
array(1) {
42+
[0]=>
43+
string(5) "array"
44+
}

0 commit comments

Comments
 (0)