1 2from PyObjCTools.TestSupport import * 3from Quartz import * 4import Quartz 5from Foundation import NSMutableData 6 7class TestCGPDFContext (TestCase): 8 @min_os_level('10.5') 9 def testFunctions10_5(self): 10 # Note actual test is in the function below this one. 11 CGPDFContextClose 12 13 def testFunctions(self): 14 data = NSMutableData.data() 15 self.assertIsInstance(data, CFMutableDataRef) 16 17 consumer = CGDataConsumerCreateWithCFData(data) 18 self.assertIsInstance(consumer, CGDataConsumerRef) 19 20 self.assertArgIsIn(CGPDFContextCreate, 1) 21 self.assertResultIsCFRetained(CGPDFContextCreate) 22 context = CGPDFContextCreate(consumer, None, None) 23 self.assertIsInstance(context, CGContextRef) 24 25 if hasattr(Quartz, 'CGPDFContextClose'): CGPDFContextClose(context) 26 27 self.assertResultIsCFRetained(CGPDFContextCreateWithURL) 28 url = CFURLCreateWithFileSystemPath(None, 29 "/tmp/pyobjc.test.pdf", kCFURLPOSIXPathStyle, False) 30 self.assertArgIsIn(CGPDFContextCreateWithURL, 1) 31 context = CGPDFContextCreateWithURL(url, None, None) 32 self.assertIsInstance(context, CGContextRef) 33 34 CGPDFContextBeginPage(context, None) 35 36 CGPDFContextSetURLForRect(context, url, ((0, 0), (10, 10))) 37 CGPDFContextAddDestinationAtPoint(context, "target", (50, 50)) 38 39 CGPDFContextSetDestinationForRect(context, "target", ((100, 120), (50, 60))) 40 41 CGPDFContextEndPage(context) 42 43 if hasattr(Quartz, 'CGPDFContextClose'): CGPDFContextClose(context) 44 45 @min_os_level('10.5') 46 def testConstants10_5(self): 47 self.assertIsInstance(kCGPDFContextSubject, unicode) 48 49 def testConstants(self): 50 self.assertIsInstance(kCGPDFContextMediaBox, unicode) 51 self.assertIsInstance(kCGPDFContextCropBox, unicode) 52 self.assertIsInstance(kCGPDFContextBleedBox, unicode) 53 self.assertIsInstance(kCGPDFContextTrimBox, unicode) 54 self.assertIsInstance(kCGPDFContextArtBox, unicode) 55 self.assertIsInstance(kCGPDFContextTitle, unicode) 56 self.assertIsInstance(kCGPDFContextAuthor, unicode) 57 self.assertIsInstance(kCGPDFContextKeywords, unicode) 58 self.assertIsInstance(kCGPDFContextCreator, unicode) 59 self.assertIsInstance(kCGPDFContextOwnerPassword, unicode) 60 self.assertIsInstance(kCGPDFContextUserPassword, unicode) 61 self.assertIsInstance(kCGPDFContextEncryptionKeyLength, unicode) 62 self.assertIsInstance(kCGPDFContextAllowsPrinting, unicode) 63 self.assertIsInstance(kCGPDFContextAllowsCopying, unicode) 64 self.assertIsInstance(kCGPDFContextOutputIntent, unicode) 65 self.assertIsInstance(kCGPDFXOutputIntentSubtype, unicode) 66 self.assertIsInstance(kCGPDFXOutputConditionIdentifier, unicode) 67 self.assertIsInstance(kCGPDFXOutputCondition, unicode) 68 self.assertIsInstance(kCGPDFXRegistryName, unicode) 69 self.assertIsInstance(kCGPDFXInfo, unicode) 70 self.assertIsInstance(kCGPDFXDestinationOutputProfile, unicode) 71 self.assertIsInstance(kCGPDFContextOutputIntents, unicode) 72 73 74 75 76 77if __name__ == "__main__": 78 main() 79