Peter Hosey avatar Peter Hosey committed e251783

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

Comments (0)

Files changed (1)

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);
+	}
+}
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.