@@ -16,8 +16,7 @@ class TestCalendar: XCTestCase {
16
16
( " test_gettingDatesOnHebrewCalendar " , test_gettingDatesOnHebrewCalendar ) ,
17
17
( " test_gettingDatesOnChineseCalendar " , test_gettingDatesOnChineseCalendar) ,
18
18
( " test_gettingDatesOnISO8601Calendar " , test_gettingDatesOnISO8601Calendar) ,
19
- ( " test_gettingDatesOnPersianCalendar " ,
20
- test_gettingDatesOnPersianCalendar) ,
19
+ ( " test_gettingDatesOnPersianCalendar " , test_gettingDatesOnPersianCalendar) ,
21
20
( " test_copy " , test_copy) ,
22
21
( " test_addingDates " , test_addingDates) ,
23
22
( " test_datesNotOnWeekend " , test_datesNotOnWeekend) ,
@@ -157,7 +156,9 @@ class TestCalendar: XCTestCase {
157
156
let copy = calendar
158
157
XCTAssertTrue ( copy == calendar)
159
158
160
- //verify firstWeekday and minimumDaysInFirstWeek of 'copy'.
159
+ //verify firstWeekday and minimumDaysInFirstWeek of 'copy'.
160
+ calendar. firstWeekday = 3
161
+ calendar. minimumDaysInFirstWeek = 3
161
162
XCTAssertEqual ( copy. firstWeekday, 2 )
162
163
XCTAssertEqual ( copy. minimumDaysInFirstWeek, 2 )
163
164
}
@@ -216,6 +217,7 @@ class TestNSDateComponents: XCTestCase {
216
217
( " test_copyNSDateComponents " , test_copyNSDateComponents) ,
217
218
( " test_dateDifferenceComponents " , test_dateDifferenceComponents) ,
218
219
( " test_nanoseconds " , test_nanoseconds) ,
220
+ ( " test_currentCalendar " , test_currentCalendar) ,
219
221
]
220
222
}
221
223
@@ -462,4 +464,20 @@ class TestNSDateComponents: XCTestCase {
462
464
XCTAssertEqual ( diff4. second, - 40 )
463
465
XCTAssertEqual ( diff4. nanosecond, - 455549950 )
464
466
}
467
+
468
+ func test_currentCalendar( ) {
469
+ let month = Calendar . current. dateComponents ( [ . month] , from: Date ( timeIntervalSince1970: 1554678000 ) ) . month // 2019-04-07 23:00:00.000 Sunday
470
+ XCTAssertEqual ( month, 4 )
471
+
472
+ let components = Calendar . current. dateComponents ( in: TimeZone ( secondsFromGMT: 0 ) !, from: Date ( timeIntervalSince1970: 1554678000 ) )
473
+ XCTAssertEqual ( components. year, 2019 )
474
+ XCTAssertEqual ( components. month, 4 )
475
+ XCTAssertEqual ( components. hour, 23 )
476
+
477
+ let d1 = Date . init ( timeIntervalSince1970: 1529431200.0 ) // 2018-06-19 18:00:00 +0000
478
+ let d2 = Date . init ( timeIntervalSince1970: 1529604000.0 ) // 2018-06-21 18:00:00 +0000
479
+ XCTAssertEqual ( Calendar . current. compare ( d1, to: d2, toGranularity: . month) , . orderedSame)
480
+ XCTAssertEqual ( Calendar . current. compare ( d1, to: d2, toGranularity: . weekday) , . orderedAscending)
481
+ XCTAssertEqual ( Calendar . current. compare ( d2, to: d1, toGranularity: . weekday) , . orderedDescending)
482
+ }
465
483
}
0 commit comments