Commits

Peter Hosey  committed e251783

Added a function that tests a single-digit hour (which should be prefixed with both + and 0) in various formats.

  • Participants
  • Parent commits a89a9a8

Comments (0)

Files changed (1)

File testunparsewithtime.m

 #import <Foundation/Foundation.h>
 #import "ISO8601DateFormatter.h"
 
+static void testFormatStrings(int hour, int minute);
+
 int main(void) {
 	NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
 	ISO8601DateFormatter *formatter = [[[ISO8601DateFormatter alloc] init] autorelease];
 	formatter.includeTime = YES;
 	NSDate *date = [NSDate dateWithTimeIntervalSinceReferenceDate:336614400.0];
 	NSLog(@"2011-09-01 at 5 PM ET: %@", [formatter stringFromDate:date]);
+
+	testFormatStrings(2, 6);
+	testFormatStrings(11, 6);
+
 	[pool drain];
 	return EXIT_SUCCESS;
 }
+
+static void testFormatStrings(int hour, int minute) {
+	NSArray *formatStrings = [NSArray arrayWithObjects:
+		@"%@: %02d:%02d",
+		@"%@: %+02d:%02d",
+		@"%@: %0+2d:%02d",
+		@"%@: %02+d:%02d",
+		@"%@: %+.2d:%02d",
+		nil];
+	NSLog(@"Testing with NSLog:");
+	for (NSString *format in formatStrings) {
+		NSLog(format, format, hour, minute);
+	}
+	printf("Testing with printf:\n");
+	for (NSString *format in formatStrings) {
+		format = [format stringByReplacingOccurrencesOfString:@"%@" withString:@"%s"];
+		printf([[format stringByAppendingString:@"\n"] UTF8String], [format UTF8String], hour, minute);
+	}
+}