@@ -278,14 +278,14 @@ final class DateFormatStyleTests : XCTestCase {
278
278
XCTAssertEqual ( date. formatted ( style. weekday ( . short) ) , " Th " )
279
279
280
280
XCTAssertEqual ( date. formatted ( style. hour ( . defaultDigits( amPM: . omitted) ) ) , " 12 " )
281
- XCTAssertEqualIgnoreSeparator ( date. formatted ( style. hour ( . defaultDigits( amPM: . narrow) ) ) , " 12 a " )
282
- XCTAssertEqualIgnoreSeparator ( date. formatted ( style. hour ( . defaultDigits( amPM: . abbreviated) ) ) , " 12 AM " )
283
- XCTAssertEqualIgnoreSeparator ( date. formatted ( style. hour ( . defaultDigits( amPM: . wide) ) ) , " 12 AM " )
281
+ XCTAssertEqual ( date. formatted ( style. hour ( . defaultDigits( amPM: . narrow) ) ) , " 12 a " )
282
+ XCTAssertEqual ( date. formatted ( style. hour ( . defaultDigits( amPM: . abbreviated) ) ) , " 12 AM " )
283
+ XCTAssertEqual ( date. formatted ( style. hour ( . defaultDigits( amPM: . wide) ) ) , " 12 AM " )
284
284
285
285
XCTAssertEqual ( date. formatted ( style. hour ( . twoDigits( amPM: . omitted) ) ) , " 12 " )
286
- XCTAssertEqualIgnoreSeparator ( date. formatted ( style. hour ( . twoDigits( amPM: . narrow) ) ) , " 12 a " )
287
- XCTAssertEqualIgnoreSeparator ( date. formatted ( style. hour ( . twoDigits( amPM: . abbreviated) ) ) , " 12 AM " )
288
- XCTAssertEqualIgnoreSeparator ( date. formatted ( style. hour ( . twoDigits( amPM: . wide) ) ) , " 12 AM " )
286
+ XCTAssertEqual ( date. formatted ( style. hour ( . twoDigits( amPM: . narrow) ) ) , " 12 a " )
287
+ XCTAssertEqual ( date. formatted ( style. hour ( . twoDigits( amPM: . abbreviated) ) ) , " 12 AM " )
288
+ XCTAssertEqual ( date. formatted ( style. hour ( . twoDigits( amPM: . wide) ) ) , " 12 AM " )
289
289
}
290
290
291
291
func testFormattingWithHourCycleOverrides( ) throws {
@@ -294,12 +294,12 @@ final class DateFormatStyleTests : XCTestCase {
294
294
let esES = " es_ES "
295
295
296
296
let style = Date . FormatStyle ( date: . omitted, time: . standard, calendar: Calendar ( identifier: . gregorian) , timeZone: TimeZone ( identifier: " PST " ) !, capitalizationContext: . standalone)
297
- XCTAssertEqualIgnoreSeparator ( date. formatted ( style. locale ( Locale . localeAsIfCurrent ( name: enUS, overrides: . init( ) ) ) ) , " 4:00:00 PM " )
298
- XCTAssertEqualIgnoreSeparator ( date. formatted ( style. locale ( Locale . localeAsIfCurrent ( name: enUS, overrides: . init( force12Hour: true ) ) ) ) , " 4:00:00 PM " )
297
+ XCTAssertEqual ( date. formatted ( style. locale ( Locale . localeAsIfCurrent ( name: enUS, overrides: . init( ) ) ) ) , " 4:00:00 PM " )
298
+ XCTAssertEqual ( date. formatted ( style. locale ( Locale . localeAsIfCurrent ( name: enUS, overrides: . init( force12Hour: true ) ) ) ) , " 4:00:00 PM " )
299
299
XCTAssertEqual ( date. formatted ( style. locale ( Locale . localeAsIfCurrent ( name: enUS, overrides: . init( force24Hour: true ) ) ) ) , " 16:00:00 " )
300
300
301
301
XCTAssertEqual ( date. formatted ( style. locale ( Locale . localeAsIfCurrent ( name: esES, overrides: . init( ) ) ) ) , " 16:00:00 " )
302
- XCTAssertEqualIgnoreSeparator ( date. formatted ( style. locale ( Locale . localeAsIfCurrent ( name: esES, overrides: . init( force12Hour: true ) ) ) ) , " 4:00:00 p. m. " )
302
+ XCTAssertEqual ( date. formatted ( style. locale ( Locale . localeAsIfCurrent ( name: esES, overrides: . init( force12Hour: true ) ) ) ) , " 4:00:00 p. m. " )
303
303
XCTAssertEqual ( date. formatted ( style. locale ( Locale . localeAsIfCurrent ( name: esES, overrides: . init( force24Hour: true ) ) ) ) , " 16:00:00 " )
304
304
}
305
305
@@ -422,7 +422,7 @@ final class DateFormatStyleTests : XCTestCase {
422
422
func verifyWithFormat( _ date: Date , expected: String , file: StaticString = #filePath, line: UInt = #line) {
423
423
let fmt = format. locale ( locale)
424
424
let formatted = fmt. format ( date)
425
- XCTAssertEqualIgnoreSeparator ( formatted, expected, file: file, line: line)
425
+ XCTAssertEqual ( formatted, expected, file: file, line: line)
426
426
}
427
427
428
428
do {
@@ -575,12 +575,12 @@ final class DateFormatStyleTests : XCTestCase {
575
575
do {
576
576
locale = Locale ( identifier: " en_TW " )
577
577
format = . init( timeZone: . gmt) . hour ( . twoDigits( amPM: . wide) ) . minute ( ) . second ( )
578
- verifyWithFormat ( middleOfNight, expected: " 03:50:00 AM " )
579
- verifyWithFormat ( earlyMorning, expected: " 06:50:00 AM " )
580
- verifyWithFormat ( morning, expected: " 09:50:00 AM " )
581
- verifyWithFormat ( noon, expected: " 12:50:00 PM " )
582
- verifyWithFormat ( afternoon, expected: " 03:50:00 PM " )
583
- verifyWithFormat ( evening, expected: " 09:50:00 PM " )
578
+ verifyWithFormat ( middleOfNight, expected: " 03:50:00 AM " )
579
+ verifyWithFormat ( earlyMorning, expected: " 06:50:00 AM " )
580
+ verifyWithFormat ( morning, expected: " 09:50:00 AM " )
581
+ verifyWithFormat ( noon, expected: " 12:50:00 PM " )
582
+ verifyWithFormat ( afternoon, expected: " 03:50:00 PM " )
583
+ verifyWithFormat ( evening, expected: " 09:50:00 PM " )
584
584
}
585
585
}
586
586
@@ -589,22 +589,22 @@ final class DateFormatStyleTests : XCTestCase {
589
589
var format : Date . FormatStyle = . init( calendar: . init( identifier: . gregorian) , timeZone: . gmt) . locale ( Locale ( identifier: " en_US " ) )
590
590
func verifyWithFormat( _ date: Date , expected: String , file: StaticString = #filePath, line: UInt = #line) {
591
591
let formatted = format. format ( date)
592
- XCTAssertEqualIgnoreSeparator ( formatted, expected, file: file, line: line)
592
+ XCTAssertEqual ( formatted, expected, file: file, line: line)
593
593
}
594
594
595
595
let date = Date ( timeIntervalSince1970: 0 )
596
596
597
- verifyWithFormat ( date, expected: " 1/1/1970, 12:00 AM " )
597
+ verifyWithFormat ( date, expected: " 1/1/1970, 12:00 AM " )
598
598
format = format. day ( . omitted)
599
- verifyWithFormat ( date, expected: " 1/1970, 12:00 AM " )
599
+ verifyWithFormat ( date, expected: " 1/1970, 12:00 AM " )
600
600
format = format. day ( . defaultDigits)
601
- verifyWithFormat ( date, expected: " 1/1/1970, 12:00 AM " )
601
+ verifyWithFormat ( date, expected: " 1/1/1970, 12:00 AM " )
602
602
format = format. minute ( )
603
- verifyWithFormat ( date, expected: " 1/1/1970, 12:00 AM " )
603
+ verifyWithFormat ( date, expected: " 1/1/1970, 12:00 AM " )
604
604
format = format. minute ( . omitted)
605
- verifyWithFormat ( date, expected: " 1/1/1970, 12 AM " )
605
+ verifyWithFormat ( date, expected: " 1/1/1970, 12 AM " )
606
606
format = format. day ( . omitted)
607
- verifyWithFormat ( date, expected: " 1/1970, 12 AM " )
607
+ verifyWithFormat ( date, expected: " 1/1970, 12 AM " )
608
608
609
609
format = . init( calendar: . init( identifier: . gregorian) , timeZone: . gmt) . locale ( Locale ( identifier: " en_US " ) )
610
610
format = format. day ( )
@@ -639,13 +639,13 @@ final class DateAttributedFormatStyleTests : XCTestCase {
639
639
( " 3 " , . hour) ,
640
640
( " : " , nil ) ,
641
641
( " 04 " , . minute) ,
642
- ( " " , nil ) ,
642
+ ( " " , nil ) ,
643
643
( " PM " , . amPM) ] ,
644
644
]
645
645
646
646
for (style, expectation) in expectations {
647
647
let formatted = style. attributed. format ( date)
648
- XCTAssertEqualIgnoreSeparator ( formatted, expectation. attributedString)
648
+ XCTAssertEqual ( formatted, expectation. attributedString)
649
649
}
650
650
}
651
651
func testIndividualFields( ) throws {
@@ -662,15 +662,15 @@ final class DateAttributedFormatStyleTests : XCTestCase {
662
662
baseStyle. day ( ) : [ ( " 12 " , . day) ] ,
663
663
baseStyle. dayOfYear ( ) : [ ( " 102 " , . dayOfYear) ] ,
664
664
baseStyle. weekday ( ) : [ ( " Mon " , . weekday) ] ,
665
- baseStyle. hour ( ) : [ ( " 3 " , . hour) , ( " " , nil ) , ( " PM " , . amPM) ] ,
665
+ baseStyle. hour ( ) : [ ( " 3 " , . hour) , ( " " , nil ) , ( " PM " , . amPM) ] ,
666
666
baseStyle. minute ( ) : [ ( " 4 " , . minute) ] ,
667
667
baseStyle. second ( ) : [ ( " 32 " , . second) ] ,
668
668
baseStyle. timeZone ( ) : [ ( " GMT " , . timeZone) ] ,
669
669
]
670
670
671
671
for (style, expectation) in expectations {
672
672
let formatted = style. attributed. format ( date)
673
- XCTAssertEqualIgnoreSeparator ( formatted, expectation. attributedString)
673
+ XCTAssertEqual ( formatted, expectation. attributedString)
674
674
}
675
675
}
676
676
@@ -715,7 +715,7 @@ final class DateAttributedFormatStyleTests : XCTestCase {
715
715
func test( dateStyle: Date . FormatStyle . DateStyle , timeStyle: Date . FormatStyle . TimeStyle , dateFormatOverride: [ Date . FormatStyle . DateStyle : String ] , expected: [ Segment ] , file: StaticString = #filePath, line: UInt = #line) {
716
716
let locale = Locale . localeAsIfCurrent ( name: enUS, overrides: . init( dateFormats: dateFormatOverride) )
717
717
let style = Date . FormatStyle ( date: dateStyle, time: timeStyle, locale: locale, calendar: Calendar ( identifier: . gregorian) , timeZone: TimeZone ( identifier: " PST " ) !, capitalizationContext: . standalone) . attributed
718
- XCTAssertEqualIgnoreSeparator ( style. format ( date) , expected. attributedString, file: file, line: line)
718
+ XCTAssertEqual ( style. format ( date) , expected. attributedString, file: file, line: line)
719
719
}
720
720
721
721
let dateFormatOverride : [ Date . FormatStyle . DateStyle : String ] = [
@@ -735,7 +735,7 @@ final class DateAttributedFormatStyleTests : XCTestCase {
735
735
( " 4 " , . hour) ,
736
736
( " : " , nil ) ,
737
737
( " 00 " , . minute) ,
738
- ( " " , nil ) ,
738
+ ( " " , nil ) ,
739
739
( " PM " , . amPM) ,
740
740
] ) // Ignoring override since there's no match for the specific style
741
741
@@ -781,7 +781,7 @@ final class DateAttributedFormatStyleTests : XCTestCase {
781
781
( " 00 " , . minute) ,
782
782
( " : " , nil ) ,
783
783
( " 00 " , . second) ,
784
- ( " " , nil ) ,
784
+ ( " " , nil ) ,
785
785
( " PM " , . amPM) ,
786
786
( " " , nil ) ,
787
787
( " PST " , . timeZone) ,
@@ -800,7 +800,7 @@ final class DateAttributedFormatStyleTests : XCTestCase {
800
800
( " 00 " , . minute) ,
801
801
( " : " , nil ) ,
802
802
( " 00 " , . second) ,
803
- ( " " , nil ) ,
803
+ ( " " , nil ) ,
804
804
( " PM " , . amPM) ,
805
805
( " " , nil ) ,
806
806
( " PST " , . timeZone) ,
@@ -819,7 +819,7 @@ final class DateAttributedFormatStyleTests : XCTestCase {
819
819
( " 00 " , . minute) ,
820
820
( " : " , nil ) ,
821
821
( " 00 " , . second) ,
822
- ( " " , nil ) ,
822
+ ( " " , nil ) ,
823
823
( " PM " , . amPM) ,
824
824
( " " , nil ) ,
825
825
( " PST " , . timeZone) ,
@@ -838,7 +838,7 @@ final class DateAttributedFormatStyleTests : XCTestCase {
838
838
( " 00 " , . minute) ,
839
839
( " : " , nil ) ,
840
840
( " 00 " , . second) ,
841
- ( " " , nil ) ,
841
+ ( " " , nil ) ,
842
842
( " PM " , . amPM) ,
843
843
( " " , nil ) ,
844
844
( " PST " , . timeZone) ,
@@ -857,7 +857,7 @@ final class DateAttributedFormatStyleTests : XCTestCase {
857
857
( " 00 " , . minute) ,
858
858
( " : " , nil ) ,
859
859
( " 00 " , . second) ,
860
- ( " " , nil ) ,
860
+ ( " " , nil ) ,
861
861
( " PM " , . amPM) ,
862
862
( " " , nil ) ,
863
863
( " PST " , . timeZone) ,
@@ -950,10 +950,10 @@ final class DateVerbatimFormatStyleTests : XCTestCase {
950
950
// Weekday: standalone
951
951
verify ( " \( weekday: . abbreviated) " , localeID: " en_GB " , calendarID: . gregorian, expectedString: " Thu " )
952
952
953
- #if FIXED_ICU_74_DAYPERIOD
954
953
// Day period: formatting
955
- verify ( " \( hour: . twoDigits( clock: . twelveHour, hourCycle: . zeroBased) ) \( dayPeriod: . standard( . abbreviated) ) " , localeID: " en_GB " , calendarID: . gregorian, expectedString: " 00 am " )
956
- #endif
954
+ #if FIXED_ICU_74_DAYPERIOD
955
+ verify ( " \( hour: . twoDigits( clock: . twelveHour, hourCycle: . zeroBased) ) \( dayPeriod: . standard( . abbreviated) ) " , localeID: " en_GB " , calendarID: . gregorian, expectedString: " 00 AM " )
956
+ #endif // FIXED_ICU_74_DAYPERIOD
957
957
}
958
958
959
959
func test_95845290( ) throws {
@@ -1404,7 +1404,7 @@ final class TestDateStyleDiscreteConformance : XCTestCase {
1404
1404
} else {
1405
1405
return bound
1406
1406
}
1407
- } . lazy. map ( \. output) . map { $0 . normalizingICUSeparator ( ) } ,
1407
+ } . lazy. map ( \. output) ,
1408
1408
contains: expectedExcerpts,
1409
1409
" (lowerbound to upperbound) " ,
1410
1410
file: file,
@@ -1417,7 +1417,7 @@ final class TestDateStyleDiscreteConformance : XCTestCase {
1417
1417
} else {
1418
1418
return bound
1419
1419
}
1420
- } . lazy. map ( \. output) . map { $0 . normalizingICUSeparator ( ) } ,
1420
+ } . lazy. map ( \. output) ,
1421
1421
contains: expectedExcerpts
1422
1422
. reversed ( )
1423
1423
. map { $0. reversed ( ) } ,
@@ -1432,53 +1432,53 @@ final class TestDateStyleDiscreteConformance : XCTestCase {
1432
1432
of: . init( date: . complete, time: . complete) . secondFraction ( . fractional( 2 ) ) ,
1433
1433
in: ( now - 0.1 ) ... ( now + 0.1 ) ,
1434
1434
includes: [
1435
- " Monday, May 15, 2023 at 8:47:19.90 AM GMT " ,
1436
- " Monday, May 15, 2023 at 8:47:19.91 AM GMT " ,
1437
- " Monday, May 15, 2023 at 8:47:19.92 AM GMT " ,
1438
- " Monday, May 15, 2023 at 8:47:19.93 AM GMT " ,
1439
- " Monday, May 15, 2023 at 8:47:19.94 AM GMT " ,
1440
- " Monday, May 15, 2023 at 8:47:19.95 AM GMT " ,
1441
- " Monday, May 15, 2023 at 8:47:19.96 AM GMT " ,
1442
- " Monday, May 15, 2023 at 8:47:19.97 AM GMT " ,
1443
- " Monday, May 15, 2023 at 8:47:19.98 AM GMT " ,
1444
- " Monday, May 15, 2023 at 8:47:19.99 AM GMT " ,
1445
- " Monday, May 15, 2023 at 8:47:20.00 AM GMT " ,
1446
- " Monday, May 15, 2023 at 8:47:20.01 AM GMT " ,
1447
- " Monday, May 15, 2023 at 8:47:20.02 AM GMT " ,
1448
- " Monday, May 15, 2023 at 8:47:20.03 AM GMT " ,
1449
- " Monday, May 15, 2023 at 8:47:20.04 AM GMT " ,
1450
- " Monday, May 15, 2023 at 8:47:20.05 AM GMT " ,
1451
- " Monday, May 15, 2023 at 8:47:20.06 AM GMT " ,
1452
- " Monday, May 15, 2023 at 8:47:20.07 AM GMT " ,
1453
- " Monday, May 15, 2023 at 8:47:20.08 AM GMT " ,
1454
- " Monday, May 15, 2023 at 8:47:20.09 AM GMT " ,
1455
- " Monday, May 15, 2023 at 8:47:20.10 AM GMT " ,
1435
+ " Monday, May 15, 2023 at 8:47:19.90 AM GMT " ,
1436
+ " Monday, May 15, 2023 at 8:47:19.91 AM GMT " ,
1437
+ " Monday, May 15, 2023 at 8:47:19.92 AM GMT " ,
1438
+ " Monday, May 15, 2023 at 8:47:19.93 AM GMT " ,
1439
+ " Monday, May 15, 2023 at 8:47:19.94 AM GMT " ,
1440
+ " Monday, May 15, 2023 at 8:47:19.95 AM GMT " ,
1441
+ " Monday, May 15, 2023 at 8:47:19.96 AM GMT " ,
1442
+ " Monday, May 15, 2023 at 8:47:19.97 AM GMT " ,
1443
+ " Monday, May 15, 2023 at 8:47:19.98 AM GMT " ,
1444
+ " Monday, May 15, 2023 at 8:47:19.99 AM GMT " ,
1445
+ " Monday, May 15, 2023 at 8:47:20.00 AM GMT " ,
1446
+ " Monday, May 15, 2023 at 8:47:20.01 AM GMT " ,
1447
+ " Monday, May 15, 2023 at 8:47:20.02 AM GMT " ,
1448
+ " Monday, May 15, 2023 at 8:47:20.03 AM GMT " ,
1449
+ " Monday, May 15, 2023 at 8:47:20.04 AM GMT " ,
1450
+ " Monday, May 15, 2023 at 8:47:20.05 AM GMT " ,
1451
+ " Monday, May 15, 2023 at 8:47:20.06 AM GMT " ,
1452
+ " Monday, May 15, 2023 at 8:47:20.07 AM GMT " ,
1453
+ " Monday, May 15, 2023 at 8:47:20.08 AM GMT " ,
1454
+ " Monday, May 15, 2023 at 8:47:20.09 AM GMT " ,
1455
+ " Monday, May 15, 2023 at 8:47:20.10 AM GMT " ,
1456
1456
] )
1457
1457
1458
1458
assertEvaluation (
1459
1459
of: . init( date: . complete, time: . complete) ,
1460
1460
in: ( now - 3 ) ... ( now + 3 ) ,
1461
1461
includes: [
1462
- " Monday, May 15, 2023 at 8:47:17 AM GMT " ,
1463
- " Monday, May 15, 2023 at 8:47:18 AM GMT " ,
1464
- " Monday, May 15, 2023 at 8:47:19 AM GMT " ,
1465
- " Monday, May 15, 2023 at 8:47:20 AM GMT " ,
1466
- " Monday, May 15, 2023 at 8:47:21 AM GMT " ,
1467
- " Monday, May 15, 2023 at 8:47:22 AM GMT " ,
1468
- " Monday, May 15, 2023 at 8:47:23 AM GMT " ,
1462
+ " Monday, May 15, 2023 at 8:47:17 AM GMT " ,
1463
+ " Monday, May 15, 2023 at 8:47:18 AM GMT " ,
1464
+ " Monday, May 15, 2023 at 8:47:19 AM GMT " ,
1465
+ " Monday, May 15, 2023 at 8:47:20 AM GMT " ,
1466
+ " Monday, May 15, 2023 at 8:47:21 AM GMT " ,
1467
+ " Monday, May 15, 2023 at 8:47:22 AM GMT " ,
1468
+ " Monday, May 15, 2023 at 8:47:23 AM GMT " ,
1469
1469
] )
1470
1470
1471
1471
assertEvaluation (
1472
1472
of: . init( ) . hour ( . twoDigits( amPM: . abbreviated) ) . minute ( ) ,
1473
1473
in: ( now - 180 ) ... ( now + 180 ) ,
1474
1474
includes: [
1475
- " 08:44 AM " ,
1476
- " 08:45 AM " ,
1477
- " 08:46 AM " ,
1478
- " 08:47 AM " ,
1479
- " 08:48 AM " ,
1480
- " 08:49 AM " ,
1481
- " 08:50 AM " ,
1475
+ " 08:44 AM " ,
1476
+ " 08:45 AM " ,
1477
+ " 08:46 AM " ,
1478
+ " 08:47 AM " ,
1479
+ " 08:48 AM " ,
1480
+ " 08:49 AM " ,
1481
+ " 08:50 AM " ,
1482
1482
] )
1483
1483
1484
1484
assertEvaluation (
0 commit comments