1""" 2FIXME: None of these tests actually use the filedescriptor 3""" 4 5from PyObjCTools.TestSupport import * 6from CoreFoundation import * 7 8try: 9 long 10except NameError: 11 long = int 12 13 14 15class TestFileDescriptor (TestCase): 16 def testTypes(self): 17 self.assertIsCFType(CFFileDescriptorRef) 18 19 def testTypeID(self): 20 self.assertIsInstance(CFFileDescriptorGetTypeID(), (int, long)) 21 22 def testConstants(self): 23 self.assertEqual(kCFFileDescriptorReadCallBack , 1 << 0) 24 self.assertEqual(kCFFileDescriptorWriteCallBack , 1 << 1) 25 26 def testInspection(self): 27 def callout(fd, types, context): 28 pass 29 class Context: 30 pass 31 context = Context() 32 fd = CFFileDescriptorCreate(None, 0, False, callout, context) 33 self.assertIsInstance(fd, CFFileDescriptorRef) 34 self.assertEqual(CFFileDescriptorGetNativeDescriptor(fd) , 0) 35 ctx = CFFileDescriptorGetContext(fd, None) 36 self.assertIs(ctx, context) 37 CFFileDescriptorEnableCallBacks(fd, kCFFileDescriptorReadCallBack) 38 CFFileDescriptorDisableCallBacks(fd, kCFFileDescriptorReadCallBack|kCFFileDescriptorWriteCallBack) 39 40 rls = CFFileDescriptorCreateRunLoopSource(None, fd, 0) 41 self.assertIsInstance(rls, CFRunLoopSourceRef) 42 self.assertTrue(CFFileDescriptorIsValid(fd)) 43 CFFileDescriptorInvalidate(fd) 44 self.assertFalse(CFFileDescriptorIsValid(fd)) 45 46 self.assertResultIsBOOL(CFFileDescriptorIsValid) 47 48 49if __name__ == "__main__": 50 main() 51