@@ -121,10 +121,8 @@ public function formatProvider()
121
121
$ formatData = array (
122
122
/* general */
123
123
array ('y-M-d ' , 0 , '1970-1-1 ' ),
124
- array ("yyyy.MM.dd 'at' HH:mm:ss zzz " , 0 , '1970.01.01 at 00:00:00 GMT+00:00 ' ),
125
124
array ("EEE, MMM d, ''yy " , 0 , "Thu, Jan 1, '70 " ),
126
125
array ('h:mm a ' , 0 , '12:00 AM ' ),
127
- array ('K:mm a, z ' , 0 , '0:00 AM, GMT+00:00 ' ),
128
126
array ('yyyyy.MMMM.dd hh:mm aaa ' , 0 , '01970.January.01 12:00 AM ' ),
129
127
130
128
/* escaping */
@@ -285,26 +283,36 @@ public function formatProvider()
285
283
array ('s ' , 3601 , '1 ' ),
286
284
array ('s ' , 3630 , '30 ' ),
287
285
array ('s ' , 43200 , '0 ' ), // 12 hours
288
-
289
- /* timezone */
290
- array ('z ' , 0 , 'GMT+00:00 ' ),
291
- array ('zz ' , 0 , 'GMT+00:00 ' ),
292
- array ('zzz ' , 0 , 'GMT+00:00 ' ),
293
- array ('zzzz ' , 0 , 'GMT+00:00 ' ),
294
- array ('zzzzz ' , 0 , 'GMT+00:00 ' ),
295
286
);
296
287
288
+ // Timezone
289
+ if ($ this ->isIntlExtensionLoaded () && $ this ->isGreaterOrEqualThanIcuVersion ('4.8 ' )) {
290
+ // general
291
+ $ formatData [] = array ("yyyy.MM.dd 'at' HH:mm:ss zzz " , 0 , '1970.01.01 at 00:00:00 GMT ' );
292
+ $ formatData [] = array ('K:mm a, z ' , 0 , '0:00 AM, GMT ' );
293
+
294
+ // timezone
295
+ $ formatData [] = array ('z ' , 0 , 'GMT ' );
296
+ $ formatData [] = array ('zz ' , 0 , 'GMT ' );
297
+ $ formatData [] = array ('zzz ' , 0 , 'GMT ' );
298
+ $ formatData [] = array ('zzzz ' , 0 , 'GMT ' );
299
+ $ formatData [] = array ('zzzzz ' , 0 , 'GMT ' );
300
+ }
301
+
297
302
// As of PHP 5.3.4, IntlDateFormatter::format() accepts DateTime instances
298
303
if ($ this ->isGreaterOrEqualThanPhpVersion ('5.3.4 ' )) {
299
304
$ dateTime = new \DateTime ('@0 ' );
300
305
301
306
/* general, DateTime */
302
307
$ formatData [] = array ('y-M-d ' , $ dateTime , '1970-1-1 ' );
303
- $ formatData [] = array ("yyyy.MM.dd 'at' HH:mm:ss zzz " , $ dateTime , '1970.01.01 at 00:00:00 GMT+00:00 ' );
304
308
$ formatData [] = array ("EEE, MMM d, ''yy " , $ dateTime , "Thu, Jan 1, '70 " );
305
309
$ formatData [] = array ('h:mm a ' , $ dateTime , '12:00 AM ' );
306
- $ formatData [] = array ('K:mm a, z ' , $ dateTime , '0:00 AM, GMT+00:00 ' );
307
310
$ formatData [] = array ('yyyyy.MMMM.dd hh:mm aaa ' , $ dateTime , '01970.January.01 12:00 AM ' );
311
+
312
+ if ($ this ->isIntlExtensionLoaded () && $ this ->isGreaterOrEqualThanIcuVersion ('4.8 ' )) {
313
+ $ formatData [] = array ("yyyy.MM.dd 'at' HH:mm:ss zzz " , $ dateTime , '1970.01.01 at 00:00:00 GMT ' );
314
+ $ formatData [] = array ('K:mm a, z ' , $ dateTime , '0:00 AM, GMT ' );
315
+ }
308
316
}
309
317
310
318
return $ formatData ;
@@ -428,7 +436,9 @@ public function testFormatWithTimezoneFormatOptionAndDifferentThanUtcIntl()
428
436
$ this ->skipIfIntlExtensionIsNotLoaded ();
429
437
$ formatter = $ this ->createIntlFormatter ('zzzz ' );
430
438
$ formatter ->setTimeZoneId ('Pacific/Fiji ' );
431
- $ this ->assertEquals ('Fiji Time ' , $ formatter ->format (0 ));
439
+
440
+ $ expected = $ this ->isGreaterOrEqualThanIcuVersion ('49 ' ) ? 'Fiji Standard Time ' : 'Fiji Time ' ;
441
+ $ this ->assertEquals ($ expected , $ formatter ->format (0 ));
432
442
}
433
443
434
444
public function testFormatWithGmtTimezoneStub ()
@@ -559,17 +569,22 @@ public function testDateAndTimeTypeIntl($timestamp, $datetype, $timetype, $expec
559
569
560
570
public function dateAndTimeTypeProvider ()
561
571
{
562
- return array (
572
+ $ data = array (
563
573
array (0 , StubIntlDateFormatter::FULL , StubIntlDateFormatter::NONE , 'Thursday, January 1, 1970 ' ),
564
574
array (0 , StubIntlDateFormatter::LONG , StubIntlDateFormatter::NONE , 'January 1, 1970 ' ),
565
575
array (0 , StubIntlDateFormatter::MEDIUM , StubIntlDateFormatter::NONE , 'Jan 1, 1970 ' ),
566
576
array (0 , StubIntlDateFormatter::SHORT , StubIntlDateFormatter::NONE , '1/1/70 ' ),
567
-
568
- array (0 , StubIntlDateFormatter::NONE , StubIntlDateFormatter::FULL , '12:00:00 AM GMT+00:00 ' ),
569
- array (0 , StubIntlDateFormatter::NONE , StubIntlDateFormatter::LONG , '12:00:00 AM GMT+00:00 ' ),
570
- array (0 , StubIntlDateFormatter::NONE , StubIntlDateFormatter::MEDIUM , '12:00:00 AM ' ),
571
- array (0 , StubIntlDateFormatter::NONE , StubIntlDateFormatter::SHORT , '12:00 AM ' ),
572
577
);
578
+
579
+ if ($ this ->isIntlExtensionLoaded () && $ this ->isGreaterOrEqualThanIcuVersion ('4.8 ' )) {
580
+ $ data [] = array (0 , StubIntlDateFormatter::NONE , StubIntlDateFormatter::FULL , '12:00:00 AM GMT ' );
581
+ $ data [] = array (0 , StubIntlDateFormatter::NONE , StubIntlDateFormatter::LONG , '12:00:00 AM GMT ' );
582
+ }
583
+
584
+ $ data [] = array (0 , StubIntlDateFormatter::NONE , StubIntlDateFormatter::MEDIUM , '12:00:00 AM ' );
585
+ $ data [] = array (0 , StubIntlDateFormatter::NONE , StubIntlDateFormatter::SHORT , '12:00 AM ' );
586
+
587
+ return $ data ;
573
588
}
574
589
575
590
public function testGetCalendar ()
@@ -668,7 +683,7 @@ public function testParseStub($pattern, $value, $expected)
668
683
669
684
public function parseProvider ()
670
685
{
671
- return array (
686
+ $ data = array (
672
687
// years
673
688
array ('y-M-d ' , '1970-1-1 ' , 0 ),
674
689
array ('yy-M-d ' , '70-1-1 ' , 0 ),
@@ -807,6 +822,15 @@ public function parseProvider()
807
822
array ("''y " , "'1970 " , 0 ),
808
823
array ("H 'o'' clock' " , "0 o' clock " , 0 ),
809
824
);
825
+
826
+ if ($ this ->isIntlExtensionLoaded () && $ this ->isGreaterOrEqualThanIcuVersion ('4.8 ' )) {
827
+ $ data [] = array ('y-M-d ' , '1970/1/1 ' , 0 );
828
+ $ data [] = array ('yy-M-d ' , '70/1/1 ' , 0 );
829
+ $ data [] = array ('y/M/d ' , '1970-1-1 ' , 0 );
830
+ $ data [] = array ('yy/M/d ' , '70-1-1 ' , 0 );
831
+ }
832
+
833
+ return $ data ;
810
834
}
811
835
812
836
/**
@@ -846,9 +870,6 @@ public function testParseErrorStub($pattern, $value)
846
870
public function parseErrorProvider ()
847
871
{
848
872
return array (
849
- array ('y-M-d ' , '1970/1/1 ' ),
850
- array ('yy-M-d ' , '70/1/1 ' ),
851
-
852
873
// 1 char month
853
874
array ('y-MMMMM-d ' , '1970-J-1 ' ),
854
875
array ('y-MMMMM-d ' , '1970-S-1 ' ),
0 commit comments