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