1 2from PyObjCTools.TestSupport import * 3from Quartz.CoreGraphics import * 4 5class TestCGColor (TestCase): 6 def testTypes(self): 7 self.failUnlessIsCFType(CGColorRef) 8 9 def testFunctions(self): 10 self.failUnlessResultIsCFRetained(CGColorCreate) 11 color = CGColorCreate(CGColorSpaceCreateDeviceRGB(), 12 [1.0, 0.5, 0.5]) 13 self.failUnlessIsInstance(color, CGColorRef) 14 15 self.failUnlessResultIsCFRetained(CGColorCreateGenericGray) 16 color = CGColorCreateGenericGray(0.75, 0.8) 17 self.failUnlessIsInstance(color, CGColorRef) 18 19 self.failUnlessResultIsCFRetained(CGColorCreateGenericCMYK) 20 color = CGColorCreateGenericCMYK(0.75, 0.8, 0.5, 1.0, 0.5) 21 self.failUnlessIsInstance(color, CGColorRef) 22 23 color = CGColorGetConstantColor(kCGColorWhite) 24 self.failUnlessIsInstance(color, CGColorRef) 25 26 self.failUnlessResultIsCFRetained(CGColorCreateGenericRGB) 27 color = CGColorCreateGenericRGB(0.75, 0.8, 1.0, 0.5) 28 self.failUnlessIsInstance(color, CGColorRef) 29 30 self.failUnlessResultIsCFRetained(CGColorCreateCopy) 31 v = CGColorCreateCopy(color) 32 self.failUnlessIsInstance(v, CGColorRef) 33 34 self.failUnlessResultIsCFRetained(CGColorCreateCopyWithAlpha) 35 v = CGColorCreateCopyWithAlpha(color, 0.7) 36 self.failUnlessIsInstance(v, CGColorRef) 37 38 CGColorRetain(color) 39 CGColorRelease(color) 40 41 self.failUnlessResultHasType(CGColorEqualToColor, objc._C_BOOL) 42 self.failUnless(CGColorEqualToColor(color, color) is True) 43 self.failUnless(CGColorEqualToColor(color, v) is False) 44 45 self.failUnlessEqual(CGColorGetNumberOfComponents(color), 4) 46 v = CGColorGetComponents(color) 47 self.failUnlessIsInstance(v, objc.varlist) 48 self.failUnlessIsInstance(v[0], float) 49 50 v = CGColorGetAlpha(color) 51 self.failUnlessIsInstance(v, float) 52 53 v = CGColorGetColorSpace(color) 54 self.failUnlessIsInstance(v, CGColorSpaceRef) 55 56 v = CGColorGetPattern(color) 57 self.failUnless(v is None) 58 59 self.failUnlessIsInstance(CGColorGetTypeID(), (int, long)) 60 61 # CGColorCreateWithPattern, CGColorGetPattern: tested in test_cgpattern 62 63 def testConstants(self): 64 self.failUnlessIsInstance(kCGColorWhite, unicode) 65 self.failUnlessIsInstance(kCGColorBlack, unicode) 66 self.failUnlessIsInstance(kCGColorClear, unicode) 67 68if __name__ == "__main__": 69 main() 70