minor #31640 Fix inconsistency in json format regarding DST value (mmokhi)

This PR was merged into the 4.2 branch.

Discussion
----------

Fix inconsistency in json format regarding DST value

| Q             | A
| ------------- | ---
| Branch?       | 4.2
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

In absence of a known time zone we might or might not have DST.
If DST doesn't exist (eg, server has timezone set on GMT) the current test fails,
Becasue PHP doesn't dump `dst_savings` in the `IntlTimeZone` objects.

This patch takes care of this known point.

Sponsored-by: Platform.sh

Commits
-------

38a5b2c943 Fix inconsistency in json format regarding DST value
This commit is contained in:
Fabien Potencier 2019-06-04 14:23:06 +02:00
commit 846f721cc4

View File

@ -240,6 +240,12 @@ EOTXT;
$expectedTimeType = $var->getTimeType(); $expectedTimeType = $var->getTimeType();
$expectedDateType = $var->getDateType(); $expectedDateType = $var->getDateType();
$expectedTimeZone = $var->getTimeZone();
$expectedTimeZoneDisplayName = $expectedTimeZone->getDisplayName();
$expectedTimeZoneID = $expectedTimeZone->getID();
$expectedTimeZoneRawOffset = $expectedTimeZone->getRawOffset();
$expectedTimeZoneDSTSavings = $expectedTimeZone->useDaylightTime() ? "\n dst_savings: ".$expectedTimeZone->getDSTSavings() : '';
$expectedCalendarObject = $var->getCalendarObject(); $expectedCalendarObject = $var->getCalendarObject();
$expectedCalendarObjectType = $expectedCalendarObject->getType(); $expectedCalendarObjectType = $expectedCalendarObject->getType();
$expectedCalendarObjectFirstDayOfWeek = $expectedCalendarObject->getFirstDayOfWeek(); $expectedCalendarObjectFirstDayOfWeek = $expectedCalendarObject->getFirstDayOfWeek();
@ -254,13 +260,7 @@ EOTXT;
$expectedCalendarObjectTimeZoneDisplayName = $expectedCalendarObjectTimeZone->getDisplayName(); $expectedCalendarObjectTimeZoneDisplayName = $expectedCalendarObjectTimeZone->getDisplayName();
$expectedCalendarObjectTimeZoneID = $expectedCalendarObjectTimeZone->getID(); $expectedCalendarObjectTimeZoneID = $expectedCalendarObjectTimeZone->getID();
$expectedCalendarObjectTimeZoneRawOffset = $expectedCalendarObjectTimeZone->getRawOffset(); $expectedCalendarObjectTimeZoneRawOffset = $expectedCalendarObjectTimeZone->getRawOffset();
$expectedCalendarObjectTimeZoneDSTSavings = $expectedCalendarObjectTimeZone->getDSTSavings(); $expectedCalendarObjectTimeZoneDSTSavings = $expectedTimeZone->useDaylightTime() ? "\n dst_savings: ".$expectedCalendarObjectTimeZone->getDSTSavings() : '';
$expectedTimeZone = $var->getTimeZone();
$expectedTimeZoneDisplayName = $expectedTimeZone->getDisplayName();
$expectedTimeZoneID = $expectedTimeZone->getID();
$expectedTimeZoneRawOffset = $expectedTimeZone->getRawOffset();
$expectedTimeZoneDSTSavings = $expectedTimeZone->getDSTSavings();
$expected = <<<EOTXT $expected = <<<EOTXT
IntlDateFormatter { IntlDateFormatter {
@ -282,15 +282,13 @@ IntlDateFormatter {
time_zone: IntlTimeZone { time_zone: IntlTimeZone {
display_name: "$expectedCalendarObjectTimeZoneDisplayName" display_name: "$expectedCalendarObjectTimeZoneDisplayName"
id: "$expectedCalendarObjectTimeZoneID" id: "$expectedCalendarObjectTimeZoneID"
raw_offset: $expectedCalendarObjectTimeZoneRawOffset raw_offset: $expectedCalendarObjectTimeZoneRawOffset$expectedCalendarObjectTimeZoneDSTSavings
dst_savings: $expectedCalendarObjectTimeZoneDSTSavings
} }
} }
time_zone: IntlTimeZone { time_zone: IntlTimeZone {
display_name: "$expectedTimeZoneDisplayName" display_name: "$expectedTimeZoneDisplayName"
id: "$expectedTimeZoneID" id: "$expectedTimeZoneID"
raw_offset: $expectedTimeZoneRawOffset raw_offset: $expectedTimeZoneRawOffset$expectedTimeZoneDSTSavings
dst_savings: $expectedTimeZoneDSTSavings
} }
} }
EOTXT; EOTXT;