1from PyObjCTools.TestSupport import * 2 3from Foundation import * 4 5try: 6 unicode 7except NameError: 8 unicode = str 9 10class TestNSErrorHelper (NSObject): 11 def attemptRecoveryFromError_optionIndex_delegate_didRecoverSelector_contextInfo_(self, a, b, c, d, e): pass 12 def attemptRecoveryFromError_optionIndex_(self, a, b): return 1 13 14 15class TestNSError (TestCase): 16 def testConstants(self): 17 self.assertIsInstance(NSCocoaErrorDomain, unicode) 18 self.assertIsInstance(NSPOSIXErrorDomain, unicode) 19 self.assertIsInstance(NSOSStatusErrorDomain, unicode) 20 self.assertIsInstance(NSMachErrorDomain, unicode) 21 self.assertIsInstance(NSUnderlyingErrorKey, unicode) 22 self.assertIsInstance(NSLocalizedDescriptionKey, unicode) 23 self.assertIsInstance(NSLocalizedFailureReasonErrorKey, unicode) 24 self.assertIsInstance(NSLocalizedRecoverySuggestionErrorKey, unicode) 25 self.assertIsInstance(NSLocalizedRecoveryOptionsErrorKey, unicode) 26 self.assertIsInstance(NSRecoveryAttempterErrorKey, unicode) 27 self.assertIsInstance(NSStringEncodingErrorKey, unicode) 28 self.assertIsInstance(NSURLErrorKey, unicode) 29 self.assertIsInstance(NSFilePathErrorKey, unicode) 30 self.assertIsInstance(NSHelpAnchorErrorKey, unicode) 31 32 def testAttemptRecovery(self): 33 self.assertArgHasType(TestNSErrorHelper.attemptRecoveryFromError_optionIndex_delegate_didRecoverSelector_contextInfo_, 1, objc._C_NSUInteger) 34 self.assertArgIsSEL(TestNSErrorHelper.attemptRecoveryFromError_optionIndex_delegate_didRecoverSelector_contextInfo_, 3, b'v@:' + objc._C_NSBOOL + b'^v') 35 self.assertArgHasType(TestNSErrorHelper.attemptRecoveryFromError_optionIndex_delegate_didRecoverSelector_contextInfo_, 4, b'^v') 36 37 self.assertResultIsBOOL(TestNSErrorHelper.attemptRecoveryFromError_optionIndex_) 38 self.assertArgHasType(TestNSErrorHelper.attemptRecoveryFromError_optionIndex_, 1, objc._C_NSUInteger) 39 40if __name__ == "__main__": 41 main() 42