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