Fixed: CPDateFormatter did not work with symbols MM and LL with the month of december

This commit is contained in:
Alexandre Wilhelm
2015-12-09 10:51:51 -08:00
parent 0508b70658
commit b59b0259ca
2 changed files with 66 additions and 2 deletions
+2 -2
View File
@@ -1552,7 +1552,7 @@ var defaultDateFormatterBehavior = CPDateFormatterBehavior10_4,
month = [[self monthSymbols] indexOfObject:dateComponent] + 1;
}
if (month > 11 || length >= 5)
if (month > 12 || length >= 5)
return nil;
dateArray[1] = month;
@@ -1580,7 +1580,7 @@ var defaultDateFormatterBehavior = CPDateFormatterBehavior10_4,
month = [[self standaloneMonthSymbols] indexOfObject:dateComponent] + 1;
}
if (month > 11 || length >= 5)
if (month > 12 || length >= 5)
return nil;
dateArray[1] = month;
+64
View File
@@ -635,18 +635,50 @@
var result = [_dateFormatter dateFromString:@"10"];
[self assert:result equals:[[CPDate alloc] initWithString:@"2000-10-01 08:00:00 +0000"]];
[_dateFormatter setDateFormat:@"M"];
var result = [_dateFormatter dateFromString:@"1"];
[self assert:result equals:[[CPDate alloc] initWithString:@"2000-01-01 08:00:00 +0000"]];
[_dateFormatter setDateFormat:@"M"];
var result = [_dateFormatter dateFromString:@"12"];
[self assert:result equals:[[CPDate alloc] initWithString:@"2000-12-01 08:00:00 +0000"]];
[_dateFormatter setDateFormat:@"MM"];
var result = [_dateFormatter dateFromString:@"7"];
[self assert:result equals:[[CPDate alloc] initWithString:@"2000-07-01 08:00:00 +0000"]];
[_dateFormatter setDateFormat:@"MM"];
var result = [_dateFormatter dateFromString:@"1"];
[self assert:result equals:[[CPDate alloc] initWithString:@"2000-01-01 08:00:00 +0000"]];
[_dateFormatter setDateFormat:@"MM"];
var result = [_dateFormatter dateFromString:@"12"];
[self assert:result equals:[[CPDate alloc] initWithString:@"2000-12-01 08:00:00 +0000"]];
[_dateFormatter setDateFormat:@"MMM"];
var result = [_dateFormatter dateFromString:@"Sep"];
[self assert:result equals:[[CPDate alloc] initWithString:@"2000-09-01 08:00:00 +0000"]];
[_dateFormatter setDateFormat:@"MMM"];
var result = [_dateFormatter dateFromString:@"Jan"];
[self assert:result equals:[[CPDate alloc] initWithString:@"2000-01-01 08:00:00 +0000"]];
[_dateFormatter setDateFormat:@"MMM"];
var result = [_dateFormatter dateFromString:@"Dec"];
[self assert:result equals:[[CPDate alloc] initWithString:@"2000-12-01 08:00:00 +0000"]];
[_dateFormatter setDateFormat:@"MMMM"];
var result = [_dateFormatter dateFromString:@"September"];
[self assert:result equals:[[CPDate alloc] initWithString:@"2000-09-01 08:00:00 +0000"]];
[_dateFormatter setDateFormat:@"MMMM"];
var result = [_dateFormatter dateFromString:@"December"];
[self assert:result equals:[[CPDate alloc] initWithString:@"2000-12-01 08:00:00 +0000"]];
[_dateFormatter setDateFormat:@"MMMM"];
var result = [_dateFormatter dateFromString:@"January"];
[self assert:result equals:[[CPDate alloc] initWithString:@"2000-01-01 08:00:00 +0000"]];
[_dateFormatter setDateFormat:@"MMMMM"];
var result = [_dateFormatter dateFromString:@"S"];
[self assert:result equals:nil];
@@ -682,18 +714,50 @@
var result = [_dateFormatter dateFromString:@"10"];
[self assert:result equals:[[CPDate alloc] initWithString:@"2000-10-01 08:00:00 +0000"]];
[_dateFormatter setDateFormat:@"L"];
var result = [_dateFormatter dateFromString:@"1"];
[self assert:result equals:[[CPDate alloc] initWithString:@"2000-01-01 08:00:00 +0000"]];
[_dateFormatter setDateFormat:@"L"];
var result = [_dateFormatter dateFromString:@"12"];
[self assert:result equals:[[CPDate alloc] initWithString:@"2000-12-01 08:00:00 +0000"]];
[_dateFormatter setDateFormat:@"LL"];
var result = [_dateFormatter dateFromString:@"7"];
[self assert:result equals:[[CPDate alloc] initWithString:@"2000-07-01 08:00:00 +0000"]];
[_dateFormatter setDateFormat:@"LL"];
var result = [_dateFormatter dateFromString:@"1"];
[self assert:result equals:[[CPDate alloc] initWithString:@"2000-01-01 08:00:00 +0000"]];
[_dateFormatter setDateFormat:@"LL"];
var result = [_dateFormatter dateFromString:@"12"];
[self assert:result equals:[[CPDate alloc] initWithString:@"2000-12-01 08:00:00 +0000"]];
[_dateFormatter setDateFormat:@"LLL"];
var result = [_dateFormatter dateFromString:@"Sep"];
[self assert:result equals:[[CPDate alloc] initWithString:@"2000-09-01 08:00:00 +0000"]];
[_dateFormatter setDateFormat:@"LLL"];
var result = [_dateFormatter dateFromString:@"Dec"];
[self assert:result equals:[[CPDate alloc] initWithString:@"2000-12-01 08:00:00 +0000"]];
[_dateFormatter setDateFormat:@"LLL"];
var result = [_dateFormatter dateFromString:@"Jan"];
[self assert:result equals:[[CPDate alloc] initWithString:@"2000-01-01 08:00:00 +0000"]];
[_dateFormatter setDateFormat:@"LLLL"];
var result = [_dateFormatter dateFromString:@"September"];
[self assert:result equals:[[CPDate alloc] initWithString:@"2000-09-01 08:00:00 +0000"]];
[_dateFormatter setDateFormat:@"LLLL"];
var result = [_dateFormatter dateFromString:@"December"];
[self assert:result equals:[[CPDate alloc] initWithString:@"2000-12-01 08:00:00 +0000"]];
[_dateFormatter setDateFormat:@"LLLL"];
var result = [_dateFormatter dateFromString:@"January"];
[self assert:result equals:[[CPDate alloc] initWithString:@"2000-01-01 08:00:00 +0000"]];
[_dateFormatter setDateFormat:@"LLLLL"];
var result = [_dateFormatter dateFromString:@"S"];
[self assert:result equals:nil];