diff options
author | Craig Duncan <duncan3dc@php.net> | 2019-05-30 18:55:55 +0100 |
---|---|---|
committer | Craig Duncan <duncan3dc@php.net> | 2019-05-30 18:55:55 +0100 |
commit | 370997fb5d2d6d2248064a6047d25d7794118470 (patch) | |
tree | 8f5d84063ebb9c0ef9f3c3e4670bd254caea30e9 /ext/date/tests | |
parent | 61a38bb2743ef2e76278aeeec9ec486b75e94485 (diff) | |
parent | 8b53c7232e2dae1af675e9e280e7e89f2758bda1 (diff) | |
download | php-git-370997fb5d2d6d2248064a6047d25d7794118470.tar.gz |
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Add a test for bug #65672
Ensure the internal properties cannot be overwritten
Diffstat (limited to 'ext/date/tests')
-rw-r--r-- | ext/date/tests/DatePeriod_properties2.phpt | 24 | ||||
-rw-r--r-- | ext/date/tests/bug65672.phpt | 44 |
2 files changed, 56 insertions, 12 deletions
diff --git a/ext/date/tests/DatePeriod_properties2.phpt b/ext/date/tests/DatePeriod_properties2.phpt index 01858e68d4..044746c024 100644 --- a/ext/date/tests/DatePeriod_properties2.phpt +++ b/ext/date/tests/DatePeriod_properties2.phpt @@ -32,15 +32,15 @@ foreach ($properties as $property) { ?> --EXPECT-- -Writing to DatePeriod properties is unsupported -Retrieval of DatePeriod properties for modification is unsupported -Writing to DatePeriod properties is unsupported -Retrieval of DatePeriod properties for modification is unsupported -Writing to DatePeriod properties is unsupported -Retrieval of DatePeriod properties for modification is unsupported -Writing to DatePeriod properties is unsupported -Retrieval of DatePeriod properties for modification is unsupported -Writing to DatePeriod properties is unsupported -Retrieval of DatePeriod properties for modification is unsupported -Writing to DatePeriod properties is unsupported -Retrieval of DatePeriod properties for modification is unsupported +Writing to DatePeriod->recurrences is unsupported +Retrieval of DatePeriod->recurrences for modification is unsupported +Writing to DatePeriod->include_start_date is unsupported +Retrieval of DatePeriod->include_start_date for modification is unsupported +Writing to DatePeriod->start is unsupported +Retrieval of DatePeriod->start for modification is unsupported +Writing to DatePeriod->current is unsupported +Retrieval of DatePeriod->current for modification is unsupported +Writing to DatePeriod->end is unsupported +Retrieval of DatePeriod->end for modification is unsupported +Writing to DatePeriod->interval is unsupported +Retrieval of DatePeriod->interval for modification is unsupported 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" +} |