Skip to content

Commit

Permalink
Merge pull request #89 from Clubjudge/timezone
Browse files Browse the repository at this point in the history
Parses date strings using a standard timezone
  • Loading branch information
inf0rmer committed Aug 20, 2014
2 parents 67a8705 + 91bd3ef commit 25c8909
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 9 deletions.
2 changes: 1 addition & 1 deletion Classes/Categories/NSDate+StringParsing.m
Expand Up @@ -36,7 +36,7 @@ + (NSDate *)dateFromString:(NSString *)dateString
NSLocale *locale = [[NSLocale alloc]
initWithLocaleIdentifier:@"en_US_POSIX"];
[dateFormatter setLocale:locale];
[dateFormatter setTimeZone:[NSTimeZone systemTimeZone]];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];

NSDate *date = [dateFormatter dateFromString:dateString];
return date;
Expand Down
5 changes: 4 additions & 1 deletion Example/CJKitTests/CJCommentTests.m
Expand Up @@ -13,6 +13,9 @@
SPEC_BEGIN(CJCOMMENTSPEC)

describe(@"Comment Model", ^{
NSCalendar* calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
[calendar setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];

NSDictionary *stub = @{
@"id": @"dab8df0390b14949",
@"message": @"This is awesome",
Expand Down Expand Up @@ -90,7 +93,7 @@

describe(@"#createdAt", ^{
it(@"produces a correct mapping", ^{
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond | NSCalendarUnitTimeZone fromDate:comment.createdAt];
NSDateComponents *components = [calendar components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond | NSCalendarUnitTimeZone fromDate:comment.createdAt];

[[theValue(components.day) should] equal:theValue(24)];
[[theValue(components.month) should] equal:theValue(4)];
Expand Down
11 changes: 7 additions & 4 deletions Example/CJKitTests/CJEventTests.m
Expand Up @@ -24,6 +24,9 @@ - (BOOL)isRetinaDisplay;
SPEC_BEGIN(CJEVENTSPEC)

describe(@"Event Model", ^{
NSCalendar* calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
[calendar setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];

NSDictionary *stub = @{
@"id": @55,
@"followersCount": @10,
Expand Down Expand Up @@ -114,7 +117,7 @@ - (BOOL)isRetinaDisplay;

describe(@"#startsAt", ^{
it(@"produces a correct mapping", ^{
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond | NSCalendarUnitTimeZone fromDate:event.startsAt];
NSDateComponents *components = [calendar components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond | NSCalendarUnitTimeZone fromDate:event.startsAt];

[[theValue(components.day) should] equal:theValue(21)];
[[theValue(components.month) should] equal:theValue(4)];
Expand All @@ -127,7 +130,7 @@ - (BOOL)isRetinaDisplay;

describe(@"#endsAt", ^{
it(@"produces a correct mapping", ^{
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond | NSCalendarUnitTimeZone fromDate:event.endsAt];
NSDateComponents *components = [calendar components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond | NSCalendarUnitTimeZone fromDate:event.endsAt];

[[theValue(components.day) should] equal:theValue(21)];
[[theValue(components.month) should] equal:theValue(4)];
Expand All @@ -140,7 +143,7 @@ - (BOOL)isRetinaDisplay;

describe(@"#updatedAt", ^{
it(@"produces a correct mapping", ^{
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond | NSCalendarUnitTimeZone fromDate:event.updatedAt];
NSDateComponents *components = [calendar components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond | NSCalendarUnitTimeZone fromDate:event.updatedAt];

[[theValue(components.day) should] equal:theValue(22)];
[[theValue(components.month) should] equal:theValue(4)];
Expand All @@ -153,7 +156,7 @@ - (BOOL)isRetinaDisplay;

describe(@"#reviewEndsAt", ^{
it(@"produces a correct mapping", ^{
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond | NSCalendarUnitTimeZone fromDate:event.reviewEndsAt];
NSDateComponents *components = [calendar components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond | NSCalendarUnitTimeZone fromDate:event.reviewEndsAt];

[[theValue(components.day) should] equal:theValue(28)];
[[theValue(components.month) should] equal:theValue(4)];
Expand Down
7 changes: 5 additions & 2 deletions Example/CJKitTests/CJUserTests.m
Expand Up @@ -12,6 +12,9 @@
SPEC_BEGIN(CJUSERSPEC)

describe(@"User Model", ^{
NSCalendar* calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
[calendar setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];

NSDictionary *stub = @{
@"id": @443,
@"email": @"bruno.abrantes@clubjudge.com",
Expand Down Expand Up @@ -116,7 +119,7 @@

describe(@"#createdAt", ^{
it(@"produces a correct mapping", ^{
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond | NSCalendarUnitTimeZone fromDate:user.createdAt];
NSDateComponents *components = [calendar components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond | NSCalendarUnitTimeZone fromDate:user.createdAt];

[[theValue(components.day) should] equal:theValue(19)];
[[theValue(components.month) should] equal:theValue(03)];
Expand Down Expand Up @@ -189,7 +192,7 @@

describe(@"#birthdate", ^{
it(@"produces a correct mapping", ^{
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond | NSCalendarUnitTimeZone fromDate:user.birthdate];
NSDateComponents *components = [calendar components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond | NSCalendarUnitTimeZone fromDate:user.birthdate];

[[theValue(components.day) should] equal:theValue(13)];
[[theValue(components.month) should] equal:theValue(10)];
Expand Down
5 changes: 4 additions & 1 deletion Example/CJKitTests/CJVenueTests.m
Expand Up @@ -23,6 +23,9 @@ - (BOOL)isRetinaDisplay;
SPEC_BEGIN(CJVENUESPEC)

describe(@"Venue Model", ^{
NSCalendar* calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
[calendar setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];

NSDictionary *stub = @{
@"address": @{
@"city": @{
Expand Down Expand Up @@ -222,7 +225,7 @@ - (BOOL)isRetinaDisplay;

describe(@"#updatedAt", ^{
it(@"produces a correct mapping", ^{
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond | NSCalendarUnitTimeZone fromDate:venue.updatedAt];
NSDateComponents *components = [calendar components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond | NSCalendarUnitTimeZone fromDate:venue.updatedAt];

[[theValue(components.day) should] equal:theValue(17)];
[[theValue(components.month) should] equal:theValue(12)];
Expand Down

0 comments on commit 25c8909

Please sign in to comment.