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.failUnlessIsCFType(CFFileDescriptorRef) 12 13 def testTypeID(self): 14 self.failUnless(isinstance(CFFileDescriptorGetTypeID(), (int, long))) 15 16 def testConstants(self): 17 self.failUnless(kCFFileDescriptorReadCallBack == 1 << 0) 18 self.failUnless(kCFFileDescriptorWriteCallBack == 1 << 1) 19 20 21 def testInspection(self): 22 def callout(fd, types, context): 23 pass 24 class Context: 25 pass 26 context = Context() 27 fd = CFFileDescriptorCreate(None, 0, False, callout, context) 28 self.failUnless(isinstance(fd, CFFileDescriptorRef)) 29 30 self.failUnless(CFFileDescriptorGetNativeDescriptor(fd) == 0) 31 32 ctx = CFFileDescriptorGetContext(fd) 33 self.failUnless(ctx is context) 34 35 CFFileDescriptorEnableCallBacks(fd, kCFFileDescriptorReadCallBack) 36 CFFileDescriptorDisableCallBacks(fd, kCFFileDescriptorReadCallBack|kCFFileDescriptorWriteCallBack) 37 38 rls = CFFileDescriptorCreateRunLoopSource(None, fd, 0) 39 self.failUnless(isinstance(rls, CFRunLoopSourceRef)) 40 41 self.failUnless(CFFileDescriptorIsValid(fd)) 42 CFFileDescriptorInvalidate(fd) 43 self.failIf(CFFileDescriptorIsValid(fd)) 44 45 self.failUnlessResultIsBOOL(CFFileDescriptorIsValid) 46 47 48if __name__ == "__main__": 49 main() 50