1from PyObjCTools.TestSupport import * 2from Foundation import * 3 4try: 5 unicode 6except NameError: 7 unicode = str 8 9class TestNSTextCheckingResult (TestCase): 10 @min_os_level('10.6') 11 def testConstants(self): 12 self.assertEqual(NSTextCheckingTypeOrthography, 1 << 0) 13 self.assertEqual(NSTextCheckingTypeSpelling, 1 << 1) 14 self.assertEqual(NSTextCheckingTypeGrammar, 1 << 2) 15 self.assertEqual(NSTextCheckingTypeDate, 1 << 3) 16 self.assertEqual(NSTextCheckingTypeAddress, 1 << 4) 17 self.assertEqual(NSTextCheckingTypeLink, 1 << 5) 18 self.assertEqual(NSTextCheckingTypeQuote, 1 << 6) 19 self.assertEqual(NSTextCheckingTypeDash, 1 << 7) 20 self.assertEqual(NSTextCheckingTypeReplacement, 1 << 8) 21 self.assertEqual(NSTextCheckingTypeCorrection, 1 << 9) 22 23 self.assertEqual(NSTextCheckingAllSystemTypes, 0xffffffff) 24 self.assertEqual(NSTextCheckingAllCustomTypes, (0xffffffff << 32)) 25 self.assertEqual(NSTextCheckingAllTypes, (NSTextCheckingAllSystemTypes | NSTextCheckingAllCustomTypes)) 26 27 self.assertIsInstance(NSTextCheckingNameKey, unicode) 28 self.assertIsInstance(NSTextCheckingJobTitleKey, unicode) 29 self.assertIsInstance(NSTextCheckingOrganizationKey, unicode) 30 self.assertIsInstance(NSTextCheckingStreetKey, unicode) 31 self.assertIsInstance(NSTextCheckingCityKey, unicode) 32 self.assertIsInstance(NSTextCheckingStateKey, unicode) 33 self.assertIsInstance(NSTextCheckingZIPKey, unicode) 34 self.assertIsInstance(NSTextCheckingCountryKey, unicode) 35 self.assertIsInstance(NSTextCheckingPhoneKey, unicode) 36 37 @min_os_level('10.7') 38 def testConstants10_7(self): 39 self.assertEqual(NSTextCheckingTypeRegularExpression, 1 << 10) 40 self.assertEqual(NSTextCheckingTypePhoneNumber, 1 << 11) 41 self.assertEqual(NSTextCheckingTypeTransitInformation, 1 << 12) 42 43 self.assertIsInstance(NSTextCheckingAirlineKey, unicode) 44 self.assertIsInstance(NSTextCheckingFlightKey, unicode) 45 46 47 @min_os_level('10.6') 48 def testMethods(self): 49 self.assertResultHasType(NSTextCheckingResult.range, NSRange.__typestr__) 50 51 self.assertArgHasType(NSTextCheckingResult.orthographyCheckingResultWithRange_orthography_, 0, NSRange.__typestr__) 52 self.assertArgHasType(NSTextCheckingResult.spellCheckingResultWithRange_, 0, NSRange.__typestr__) 53 self.assertArgHasType(NSTextCheckingResult.grammarCheckingResultWithRange_details_, 0, NSRange.__typestr__) 54 self.assertArgHasType(NSTextCheckingResult.dateCheckingResultWithRange_date_, 0, NSRange.__typestr__) 55 self.assertArgHasType(NSTextCheckingResult.dateCheckingResultWithRange_date_timeZone_duration_, 0, NSRange.__typestr__) 56 self.assertArgHasType(NSTextCheckingResult.addressCheckingResultWithRange_components_, 0, NSRange.__typestr__) 57 self.assertArgHasType(NSTextCheckingResult.linkCheckingResultWithRange_URL_, 0, NSRange.__typestr__) 58 self.assertArgHasType(NSTextCheckingResult.quoteCheckingResultWithRange_replacementString_, 0, NSRange.__typestr__) 59 self.assertArgHasType(NSTextCheckingResult.dashCheckingResultWithRange_replacementString_, 0, NSRange.__typestr__) 60 self.assertArgHasType(NSTextCheckingResult.replacementCheckingResultWithRange_replacementString_, 0, NSRange.__typestr__) 61 self.assertArgHasType(NSTextCheckingResult.correctionCheckingResultWithRange_replacementString_, 0, NSRange.__typestr__) 62 63 @min_os_level('10.7') 64 def testMethods10_7(self): 65 self.assertArgHasType(NSTextCheckingResult.regularExpressionCheckingResultWithRanges_count_regularExpression_, 0, b'n^' + NSRange.__typestr__) 66 self.assertArgSizeInArg(NSTextCheckingResult.regularExpressionCheckingResultWithRanges_count_regularExpression_, 0, 1) 67 68if __name__ == "__main__": 69 main() 70