Skip to content

Commit ae737c1

Browse files
committed
Refactor the test
1 parent f2825a2 commit ae737c1

File tree

2 files changed

+18
-20
lines changed

2 files changed

+18
-20
lines changed

TestFoundation/TestCalendar.swift

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -133,14 +133,15 @@ class TestCalendar: XCTestCase {
133133

134134
}
135135

136-
func test_gettingDatesOnJapaneseCalendar() {
136+
func test_gettingDatesOnJapaneseCalendar() throws {
137137
var calendar = Calendar(identifier: .japanese)
138-
calendar.timeZone = TimeZone(identifier: "UTC")!
138+
calendar.timeZone = try TimeZone(identifier: "UTC").unwrapped()
139+
calendar.locale = Locale(identifier: "en_US_POSIX")
139140

140141
do {
141142
let date = Date(timeIntervalSince1970: 1556633400) // April 30, 2019
142143
let components = calendar.dateComponents([.era, .year, .month, .day], from: date)
143-
XCTAssertEqual(calendar.eraSymbols[components.era!], "Heisei")
144+
XCTAssertEqual(calendar.eraSymbols[try components.era.unwrapped()], "Heisei")
144145
XCTAssertEqual(components.year, 31)
145146
XCTAssertEqual(components.month, 4)
146147
XCTAssertEqual(components.day, 30)
@@ -150,7 +151,7 @@ class TestCalendar: XCTestCase {
150151
do {
151152
let date = Date(timeIntervalSince1970: 1556719800) // May 1, 2019
152153
let components = calendar.dateComponents([.era, .year, .month, .day], from: date)
153-
XCTAssertEqual(calendar.eraSymbols[components.era!], "Reiwa")
154+
XCTAssertEqual(calendar.eraSymbols[try components.era.unwrapped()], "Reiwa")
154155
XCTAssertEqual(components.year, 1)
155156
XCTAssertEqual(components.month, 5)
156157
XCTAssertEqual(components.day, 1)

TestFoundation/TestDateFormatter.swift

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -456,21 +456,18 @@ class TestDateFormatter: XCTestCase {
456456
XCTAssertEqual(dateString, "令和1年5月1日 23:10")
457457
}
458458

459-
// Test for new Japanese era and 元年 representaion of 1st year
460-
// This block needs ICU 64.2
461-
462-
// Disabled until the ICU is updated.
463-
// do {
464-
// // parse test
465-
// let parsed = formatter.date(from: "令和元年5月1日 23:10")
466-
// XCTAssertEqual(parsed?.timeIntervalSince1970, 1556719800) // May 1st, 2019, 11:10 PM (JST)
467-
//
468-
// let parsedAlt = formatter.date(from: "令和1年5月1日 23:10")
469-
// XCTAssertEqual(parsedAlt?.timeIntervalSince1970, 1556719800) // May 1st, 2019, 11:10 PM (JST)
470-
//
471-
// // format test
472-
// let dateString = formatter.string(from: Date(timeIntervalSince1970: 1556719800)) // May 1st, 2019, 11:10 PM (JST)
473-
// XCTAssertEqual(dateString, "令和元年5月1日 23:10")
474-
// }
459+
// Test for new Japanese era and 元年(Gannen) representaion of 1st year
460+
if shouldAttemptXFailTests("These tests require ICU 64.2 or later. https://bugs.swift.org/browse/SR-10574") {
461+
// parse test
462+
let parsed = formatter.date(from: "令和元年5月1日 23:10")
463+
XCTAssertEqual(parsed?.timeIntervalSince1970, 1556719800) // May 1st, 2019, 11:10 PM (JST)
464+
465+
let parsedAlt = formatter.date(from: "令和1年5月1日 23:10")
466+
XCTAssertEqual(parsedAlt?.timeIntervalSince1970, 1556719800) // May 1st, 2019, 11:10 PM (JST)
467+
468+
// format test
469+
let dateString = formatter.string(from: Date(timeIntervalSince1970: 1556719800)) // May 1st, 2019, 11:10 PM (JST)
470+
XCTAssertEqual(dateString, "令和元年5月1日 23:10")
471+
}
475472
}
476473
}

0 commit comments

Comments
 (0)