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