1 2from PyObjCTools.TestSupport import * 3from Quartz.CoreGraphics import * 4 5try: 6 long 7except NameError: 8 long = int 9 10class TestCGShading (TestCase): 11 def testTypes(self): 12 self.assertIsCFType(CGShadingRef) 13 14 def testFunctions(self): 15 self.assertIsInstance(CGShadingGetTypeID(), (int, long)) 16 17 values = [] 18 def evaluate(info, input, output): 19 values.append(input) 20 return input * 4 21 22 self.assertIsInstance(CGFunctionGetTypeID(), (int, long)) 23 24 myInfo = object() 25 func = CGFunctionCreate(myInfo, 1, [0, 1], 4, [0, 1, 0, 1, 0, 1, 0, 1], evaluate) 26 self.assertIsInstance(func, CGFunctionRef) 27 28 29 self.assertResultIsCFRetained(CGShadingCreateAxial) 30 self.assertArgHasType(CGShadingCreateAxial, 4, objc._C_BOOL) 31 self.assertArgHasType(CGShadingCreateAxial, 5, objc._C_BOOL) 32 shading = CGShadingCreateAxial( 33 CGColorSpaceCreateDeviceRGB(), CGPoint(0, 0), CGPoint(50, 200), 34 func, False, False) 35 self.assertIsInstance(shading, CGShadingRef) 36 37 self.assertResultIsCFRetained(CGShadingCreateRadial) 38 self.assertArgHasType(CGShadingCreateRadial, 6, objc._C_BOOL) 39 self.assertArgHasType(CGShadingCreateRadial, 7, objc._C_BOOL) 40 shading = CGShadingCreateRadial( 41 CGColorSpaceCreateDeviceRGB(), CGPoint(0, 0), 5.0, 42 CGPoint(50, 200), 10.5, func, False, False) 43 self.assertIsInstance(shading, CGShadingRef) 44 45 v = CGShadingRetain(shading) 46 self.assertTrue(v is shading) 47 48 CGShadingRelease(shading) 49 50 51 52 53if __name__ == "__main__": 54 main() 55