1from PyObjCTools.TestSupport import * 2 3from Foundation import * 4 5class TestNSDateFormatter (TestCase): 6 def testOutput(self): 7 formatter = NSDateFormatter.alloc().init() 8 formatter.setDateFormat_("yyyy/mm/dd") 9 10 self.assertResultIsBOOL(NSDateFormatter.getObjectValue_forString_range_error_) 11 self.assertArgIsOut(NSDateFormatter.getObjectValue_forString_range_error_, 0) 12 self.assertArgIsInOut(NSDateFormatter.getObjectValue_forString_range_error_, 2) 13 self.assertArgIsOut(NSDateFormatter.getObjectValue_forString_range_error_, 3) 14 ok, val, range, err = formatter.getObjectValue_forString_range_error_( 15 None, "2008/10/12", NSRange(0, 10), None) 16 self.assertTrue(ok) 17 self.assertIsInstance(val, NSDate) 18 self.assertEqual(range , NSRange(0, 10)) 19 self.assertIs(err, None) 20 self.assertResultIsBOOL(NSDateFormatter.getObjectValue_forString_range_error_) 21 self.assertArgIsInOut(NSDateFormatter.getObjectValue_forString_range_error_, 2) 22 self.assertArgIsOut(NSDateFormatter.getObjectValue_forString_range_error_, 3) 23 24 def testConstants(self): 25 self.assertEqual(NSDateFormatterNoStyle, kCFDateFormatterNoStyle) 26 self.assertEqual(NSDateFormatterShortStyle, kCFDateFormatterShortStyle) 27 self.assertEqual(NSDateFormatterMediumStyle, kCFDateFormatterMediumStyle) 28 self.assertEqual(NSDateFormatterLongStyle, kCFDateFormatterLongStyle) 29 self.assertEqual(NSDateFormatterFullStyle, kCFDateFormatterFullStyle) 30 31 self.assertEqual(NSDateFormatterBehaviorDefault, 0) 32 self.assertEqual(NSDateFormatterBehavior10_0, 1000) 33 self.assertEqual(NSDateFormatterBehavior10_4, 1040) 34 35 def testMethods(self): 36 self.assertResultIsBOOL(NSDateFormatter.generatesCalendarDates) 37 self.assertArgIsBOOL(NSDateFormatter.setGeneratesCalendarDates_, 0) 38 self.assertResultIsBOOL(NSDateFormatter.isLenient) 39 self.assertArgIsBOOL(NSDateFormatter.setLenient_, 0) 40 self.assertResultIsBOOL(NSDateFormatter.isLenient) 41 self.assertArgIsBOOL(NSDateFormatter.initWithDateFormat_allowNaturalLanguage_, 1) 42 self.assertResultIsBOOL(NSDateFormatter.allowsNaturalLanguage) 43 44 @min_os_level('10.6') 45 def testMethods10_6(self): 46 self.assertResultIsBOOL(NSDateFormatter.doesRelativeDateFormatting) 47 self.assertArgIsBOOL(NSDateFormatter.setDoesRelativeDateFormatting_, 0) 48 49 50 51if __name__ == "__main__": 52 main() 53