mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-24 17:28:59 +00:00
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32606 72102866-910b-0410-8b05-ffd578937521
94 lines
3.9 KiB
Objective-C
94 lines
3.9 KiB
Objective-C
#import "Testing.h"
|
|
#import <Foundation/NSCalendarDate.h>
|
|
#import <Foundation/NSAutoreleasePool.h>
|
|
#import <Foundation/NSDictionary.h>
|
|
#import <Foundation/NSString.h>
|
|
|
|
#include "./western.h"
|
|
|
|
int main()
|
|
{
|
|
NSAutoreleasePool *arp = [NSAutoreleasePool new];
|
|
NSTimeInterval time1, time2, time3, time4, time5, time6, time7, time8, time9;
|
|
NSCalendarDate *date1;
|
|
NSDictionary *locale;
|
|
|
|
locale = westernLocale();
|
|
|
|
time1 = [[NSCalendarDate dateWithString: @"Nov 20 02 01:54:22"
|
|
calendarFormat: @"%b %d %y %H:%M:%S"
|
|
locale: locale]
|
|
timeIntervalSinceReferenceDate];
|
|
time2 = [[NSCalendarDate dateWithString: @"Nov 20 02 02:54:22"
|
|
calendarFormat: @"%b %d %y %H:%M:%S"
|
|
locale: locale]
|
|
timeIntervalSinceReferenceDate];
|
|
time3 = [[NSCalendarDate dateWithString: @"Nov 20 02 03:54:22"
|
|
calendarFormat: @"%b %d %y %H:%M:%S"
|
|
locale: locale]
|
|
timeIntervalSinceReferenceDate];
|
|
time4 = [[NSCalendarDate dateWithString: @"Nov 20 02 04:54:22"
|
|
calendarFormat: @"%b %d %y %H:%M:%S"
|
|
locale: locale]
|
|
timeIntervalSinceReferenceDate];
|
|
time5 = [[NSCalendarDate dateWithString: @"Nov 20 02 05:54:22"
|
|
calendarFormat: @"%b %d %y %H:%M:%S"
|
|
locale: locale]
|
|
timeIntervalSinceReferenceDate];
|
|
time6 = [[NSCalendarDate dateWithString: @"Nov 20 02 06:54:22"
|
|
calendarFormat: @"%b %d %y %H:%M:%S"
|
|
locale: locale]
|
|
timeIntervalSinceReferenceDate];
|
|
time7 = [[NSCalendarDate dateWithString: @"Nov 20 02 07:54:22"
|
|
calendarFormat: @"%b %d %y %H:%M:%S"
|
|
locale: locale]
|
|
timeIntervalSinceReferenceDate];
|
|
time8 = [[NSCalendarDate dateWithString: @"Nov 20 02 08:54:22"
|
|
calendarFormat: @"%b %d %y %H:%M:%S"
|
|
locale: locale]
|
|
timeIntervalSinceReferenceDate];
|
|
time9 = [[NSCalendarDate dateWithString: @"Nov 20 02 09:54:22"
|
|
calendarFormat: @"%b %d %y %H:%M:%S"
|
|
locale: locale]
|
|
timeIntervalSinceReferenceDate];
|
|
|
|
PASS ((time1 < time2 && time2 < time3 && time3 < time4 && time4 < time5
|
|
&& time5 < time6 && time6 < time7 && time7 < time8 && time8 < time9),
|
|
"+dateWithString:calendarFormat: works if no time zone is specified");
|
|
|
|
date1 = [NSCalendarDate dateWithString: @"Nov 29 06 12:00am"
|
|
calendarFormat: @"%b %d %y %H:%M%p"
|
|
locale: locale];
|
|
PASS(date1 != nil && [date1 hourOfDay] == 0, "12:00am is midnight");
|
|
|
|
date1 = [NSCalendarDate dateWithString: @"Nov 29 06 12:00pm"
|
|
calendarFormat: @"%b %d %y %H:%M%p"
|
|
locale: locale];
|
|
PASS(date1 != nil && [date1 hourOfDay] == 12, "12:00pm is noon");
|
|
|
|
date1 = [NSCalendarDate dateWithString: @"Nov 29 06 01:25:38"
|
|
calendarFormat: @"%b %d %y %H:%M:%S"
|
|
locale: locale];
|
|
PASS([date1 timeIntervalSinceReferenceDate] + 1 == [[date1 addTimeInterval:1]
|
|
timeIntervalSinceReferenceDate],
|
|
"-addTimeInterval: works on a NSCalendarDate parsed with no timezone");
|
|
|
|
{
|
|
NSString *fmt = @"%Y-%m-%d %H:%M:%S:%F";
|
|
NSString *fmt2 = @"%Y-%m-%e %H:%M:%S:%F";
|
|
NSString *dateString = @"2006-04-22 22:22:22:901";
|
|
NSString *dateString2 = @"2006-04-2 22:22:22:901";
|
|
NSCalendarDate *date = [NSCalendarDate
|
|
dateWithString:dateString calendarFormat:fmt locale:locale];
|
|
NSCalendarDate *date2 = [NSCalendarDate
|
|
dateWithString:dateString2 calendarFormat:fmt2 locale:locale];
|
|
NSLog(@"%@\n%@", dateString, [date descriptionWithCalendarFormat:fmt]);
|
|
PASS([dateString isEqual: [date descriptionWithCalendarFormat:fmt]],
|
|
"formatting milliseconds works");
|
|
PASS([dateString2 isEqual: [date2 descriptionWithCalendarFormat:fmt2]],
|
|
"formatting with %%e works");
|
|
}
|
|
|
|
[arp release]; arp = nil;
|
|
return 0;
|
|
}
|