1 2from PyObjCTools.TestSupport import * 3from Quartz.CoreGraphics import * 4from Foundation import NSData 5 6class TestCGDataProvider (TestCase): 7 def testTypes(self): 8 self.failUnlessIsCFType(CGDataProviderRef) 9 10 def testFunctions(self): 11 provider = CGDataProviderCreateWithCFData(buffer("data")) 12 self.failUnlessIsInstance(provider, CGDataProviderRef) 13 14 url = CFURLCreateWithFileSystemPath(None, 15 "/Library/Documentation/Acknowledgements.rtf", 16 kCFURLPOSIXPathStyle, False) 17 18 provider = CGDataProviderCreateWithURL(url) 19 self.failUnlessIsInstance(provider, CGDataProviderRef) 20 21 v = CGDataProviderRetain(provider) 22 self.failUnless(v is provider) 23 CGDataProviderRelease(provider) 24 25 data = CGDataProviderCopyData(provider) 26 self.failUnlessIsInstance(data, CFDataRef) 27 28 info = ["hello world", False] 29 def release(info): 30 info[-1] = True 31 provider = CGDataProviderCreateWithData(info, info[0], len(info[0]), release) 32 self.failUnlessIsInstance(provider, CGDataProviderRef) 33 del provider 34 35 self.failUnless(info[-1]) 36 37 38 39 def testMissing(self): 40 self.fail("CGDataProviderCreateSequential") # + callbacks 41 self.fail("CGDataProviderCreateDirect") # + callbacks 42 self.fail("CGDataProviderCreate") # + callbacks 43 self.fail("CGDataProviderCreateDirectAccess") # + callbacks 44 45if __name__ == "__main__": 46 main() 47