Author: rfm
Date: Fri Mar 17 10:24:12 2017
New Revision: 40391
URL: http://svn.gna.org/viewcvs/gnustep?rev=40391&view=rev
Log:
fix accidental delete
Added:
libs/base/trunk/Tests/base/NSCalendarDate/test03.m
Added: libs/base/trunk/Tests/base/NSCalendarDate/test03.m
URL:
http://svn.gna.org/viewcvs/gnustep/libs/base/trunk/Tests/base/NSCalendarDate/test03.m?rev=40391&view=auto
==============================================================================
--- libs/base/trunk/Tests/base/NSCalendarDate/test03.m (added)
+++ libs/base/trunk/Tests/base/NSCalendarDate/test03.m Fri Mar 17 10:24:12 2017
@@ -0,0 +1,62 @@
+/*
+
+ * DateFormatTest.m - demonstrate [NSCalendarDate
descriptionWithCalendarFormat] hanging behaviour with some values.
+ *
+ * Created on: Mar 15, 2016
+ */
+
+#import <Foundation/Foundation.h>
+#import "Testing.h"
+
+#define ONE_SECOND ((double)1 / (24*60*60))
+
+static NSString *
+formattedDaysSince1970(double daysSince1970)
+{
+ NSCalendarDate *calendarDate;
+ NSTimeZone *tz;
+ NSString *formattedDate;
+ double secondsSinceReference;
+
+ // Convert offset in "days from 1970" to offset in seconds
+ // from Reference date (from 01-Jan-2001).
+ secondsSinceReference
+ = floor (daysSince1970 / ONE_SECOND - NSTimeIntervalSince1970 + 0.5);
+
+ printf ("daysSince1970: %.18g. secondsSinceReference: %.18g.\n",
+ daysSince1970, secondsSinceReference);
+
+ calendarDate = [[NSCalendarDate alloc]
+ initWithTimeIntervalSinceReferenceDate: secondsSinceReference];
+ tz = [NSTimeZone timeZoneWithName: @"GMT"];
+ [calendarDate setTimeZone: tz];
+
+ formattedDate = [calendarDate descriptionWithCalendarFormat: @"%d-%m-%Y"];
+ RELEASE(calendarDate);
+ return formattedDate;
+}
+
+int main(void)
+{
+ CREATE_AUTORELEASE_POOL(arp);
+
+ if (sizeof(NSInteger) == 4)
+ {
+ PASS_EQUAL(formattedDaysSince1970(8640000000), @"02-01-4001",
+ "format date for 8640000000");
+
+ PASS_EQUAL(formattedDaysSince1970(2147483651), @"02-01-4001",
+ "format date for 2147483651");
+ }
+ else
+ {
+ PASS_EQUAL(formattedDaysSince1970(8640000000), @"17-07-23657486",
+ "format date for 8640000000");
+
+ PASS_EQUAL(formattedDaysSince1970(2147483651), @"15-07-5881580",
+ "format date for 2147483651");
+ }
+ DESTROY(arp);
+ return 0;
+}
+
_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs