Skip to content

Commit e65cbf3

Browse files
committed
Workarounds for ICU change
1 parent 4a98afb commit e65cbf3

File tree

1 file changed

+24
-10
lines changed

1 file changed

+24
-10
lines changed

test/RangerTest.php

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,20 @@ public function testDateTimeRange($language, $start, $end, $expected)
4545
$this->assertEquals($expected, $formatter->format($start, $end));
4646
}
4747

48+
private static function get_space() : string
49+
{
50+
if (version_compare(INTL_ICU_VERSION, '72.1', '<')) {
51+
return ' '; // Space (U+0020)
52+
}
53+
return ''; // Narrow non-breaking space (U+202F)
54+
}
55+
4856
public static function providerDateTimeRange()
4957
{
58+
$space = self::get_space();
5059
return [
51-
['en', '2013-10-05 01:01:01', '2013-10-20 00:00:00', 'Oct 5, 2013, 1:01 AM – Oct 20, 2013, 12:00 AM'],
52-
['en', '2013-10-05 10:00:01', '2013-10-05 13:30:00', 'Oct 5, 2013, 10:00 AM – 1:30 PM'],
60+
['en', '2013-10-05 01:01:01', '2013-10-20 00:00:00', 'Oct 5, 2013, 1:01' . $space . 'AM – Oct 20, 2013, 12:00' . $space . 'AM'],
61+
['en', '2013-10-05 10:00:01', '2013-10-05 13:30:00', 'Oct 5, 2013, 10:00' . $space . 'AM – 1:30' . $space . 'PM'],
5362
['de', '2013-10-05 01:01:01', '2013-10-20 00:00:00', '05.10.2013, 01:01 – 20.10.2013, 00:00'],
5463
['de', '2013-10-05 10:00:01', '2013-10-05 13:30:00', '05.10.2013, 10:00 – 13:30'],
5564
];
@@ -110,7 +119,8 @@ public function testCustomOptions()
110119
->setTimeType(IntlDateFormatter::SHORT);
111120

112121
$formatted = $ranger->format('2013-10-05 10:00:01', '2013-10-05 13:30:00');
113-
$this->assertEquals('October 5, 2013: 10:00 AM -- 1:30 PM', $formatted);
122+
$space = self::get_space();
123+
$this->assertEquals('October 5, 2013: 10:00' . $space . 'AM -- 1:30' . $space . 'PM', $formatted);
114124
}
115125

116126
public function testEscapeCharParsing()
@@ -123,7 +133,8 @@ public function testEscapeCharParsing()
123133
->setTimeType(IntlDateFormatter::SHORT);
124134

125135
$formatted = $ranger->format('2013-10-05 10:00:01', '2013-10-05 13:30:00');
126-
$this->assertEquals('October 5, 2013, between 10:00 AM and 1:30 PM', $formatted);
136+
$space = self::get_space();
137+
$this->assertEquals('October 5, 2013, between 10:00' . $space . 'AM and 1:30' . $space . 'PM', $formatted);
127138
}
128139

129140
public function testDateTime()
@@ -184,7 +195,8 @@ public function testOffsetTimezone()
184195
$ranger->setTimeType(IntlDateFormatter::SHORT);
185196
$formatted = $ranger->format($start, $end);
186197
date_default_timezone_set($backup);
187-
$this->assertEquals('Oct 4, 2013, 7:00 PM – Oct 19, 2013, 7:00 PM', $formatted);
198+
$space = self::get_space();
199+
$this->assertEquals('Oct 4, 2013, 7:00' . $space . 'PM – Oct 19, 2013, 7:00' . $space . 'PM', $formatted);
188200
}
189201

190202
/**
@@ -201,13 +213,15 @@ public function testNoDate($language, $start, $end, $expected)
201213

202214
public static function providerNoDate()
203215
{
216+
$space = self::get_space();
217+
204218
return [
205-
['en', '2013-10-05 10:00:00', '2013-10-05 13:30:00', '10:00 AM – 1:30 PM'],
206-
['en', '2013-10-05 12:20:00', '2013-10-05 13:30:00', '12:20 – 1:30 PM'],
207-
['en', '12:20:00', '13:30:00', '12:20 – 1:30 PM'],
219+
['en', '2013-10-05 10:00:00', '2013-10-05 13:30:00', '10:00' . $space . 'AM – 1:30' . $space . 'PM'],
220+
['en', '2013-10-05 12:20:00', '2013-10-05 13:30:00', '12:20 – 1:30' . $space . 'PM'],
221+
['en', '12:20:00', '13:30:00', '12:20 – 1:30' . $space . 'PM'],
208222
// get a little weird
209-
['en', '2013-10-05 12:20:00', '2013-10-07 13:30:00', '12:20 – 1:30 PM'],
210-
['en', '2012-06-05 10:20:00', '2013-10-07 13:30:00', '10:20 AM – 1:30 PM'],
223+
['en', '2013-10-05 12:20:00', '2013-10-07 13:30:00', '12:20 – 1:30' . $space . 'PM'],
224+
['en', '2012-06-05 10:20:00', '2013-10-07 13:30:00', '10:20' . $space . 'AM – 1:30' . $space . 'PM'],
211225
];
212226
}
213227

0 commit comments

Comments
 (0)