diff --git a/Tests/base/NSCalendar/component-diff.m b/Tests/base/NSCalendar/component-diff.m index c374dd9e4..5dea52dc2 100644 --- a/Tests/base/NSCalendar/component-diff.m +++ b/Tests/base/NSCalendar/component-diff.m @@ -53,39 +53,6 @@ int main() PASS([comps month] == NSNotFound, "no month returned if not requested"); PASS([comps day] == 33, "day difference without larger unit correct"); - - /* Test getEra:year:month:day:fromDate: - */ - NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; - [dateFormatter setDateFormat: @"d MMM yyyy HH:mm:ss Z"]; - NSDate *date = [dateFormatter dateFromString:@"22 Nov 1969 08:15:00 Z"]; - - NSInteger era = 0; - NSInteger year = 0; - NSInteger month = 0; - NSInteger day = 0; - NSInteger hour = 0; - NSInteger min = 0; - NSInteger sec = 0; - NSInteger nano = 0; - - [cal getEra:&era year:&year month:&month day:&day fromDate:date]; - - PASS(era == 1, "getEra:year:month:day:fromDate: returns correct era"); - PASS(year == 1969, "getEra:year:month:day:fromDate: returns correct year"); - PASS(month == 11, "getEra:year:month:day:fromDate: returns correct month"); - PASS(day == 22, "getEra:year:month:day:fromDate: returns correct day"); - - /* Test getHour:minute:second:nanosecond:fromDate: - */ - [cal getHour:&hour minute:&min second:&sec nanosecond:&nano fromDate:date]; - - PASS(hour == 3, "getHour:minute:second:nanosecond:fromDate: returns correct hour"); - PASS(min == 15, "getHour:minute:second:nanosecond:fromDate: returns correct minute"); - PASS(sec == 0, "getHour:minute:second:nanosecond:fromDate: returns correct second"); - PASS(nano == 0, "getHour:minute:second:nanosecond:fromDate: returns correct nanosecond"); - - RELEASE(dateFormatter); RELEASE(cal); END_SET("NSCalendar date component differences") diff --git a/Tests/base/NSCalendar/era.m b/Tests/base/NSCalendar/era.m new file mode 100644 index 000000000..f284130d8 --- /dev/null +++ b/Tests/base/NSCalendar/era.m @@ -0,0 +1,58 @@ +#import "Testing.h" +#import "ObjectTesting.h" +#import +#import +#import +#import +#import +#include + +#if defined(GS_USE_ICU) +#define NSCALENDAR_SUPPORTED GS_USE_ICU +#else +#define NSCALENDAR_SUPPORTED 1 /* Assume Apple support */ +#endif + +int main() +{ + NSCalendar *cal; + NSDate *date; + NSDateFormatter *dateFormatter; + NSInteger era = 0; + NSInteger year = 0; + NSInteger month = 0; + NSInteger day = 0; + NSInteger hour = 0; + NSInteger min = 0; + NSInteger sec = 0; + NSInteger nano = 0; + + + START_SET("NSCalendar getEra:year:month:day:fromDate and getHour:minute:second:nanosecond:fromDate tests"); + /* Test getEra:year:month:day:fromDate: + */ + dateFormatter = [[NSDateFormatter alloc] init]; + cal = [NSCalendar currentCalendar]; + [cal setTimeZone:[NSTimeZone timeZoneWithName: @"America/New_York"]]; + [dateFormatter setDateFormat: @"d MMM yyyy HH:mm:ss Z"]; + date = [dateFormatter dateFromString:@"22 Nov 1969 08:15:00 Z"]; + + [cal getEra:&era year:&year month:&month day:&day fromDate:date]; + + PASS(era == 1, "getEra:year:month:day:fromDate: returns correct era"); + PASS(year == 1969, "getEra:year:month:day:fromDate: returns correct year"); + PASS(month == 11, "getEra:year:month:day:fromDate: returns correct month"); + PASS(day == 22, "getEra:year:month:day:fromDate: returns correct day"); + + /* Test getHour:minute:second:nanosecond:fromDate: + */ + [cal getHour:&hour minute:&min second:&sec nanosecond:&nano fromDate:date]; + + PASS(hour == 3, "getHour:minute:second:nanosecond:fromDate: returns correct hour"); + PASS(min == 15, "getHour:minute:second:nanosecond:fromDate: returns correct minute"); + PASS(sec == 0, "getHour:minute:second:nanosecond:fromDate: returns correct second"); + PASS(nano == 0, "getHour:minute:second:nanosecond:fromDate: returns correct nanosecond"); + + END_SET("NSCalendar getEra:year:month:day:fromDate and getHour:minute:second:nanosecond:fromDate tests"); + return 0; +}