from PyObjCTools.TestSupport import *
from Quartz.CoreGraphics import *
class TestCGShading (TestCase):
def testTypes(self):
self.assertIsCFType(CGShadingRef)
def testFunctions(self):
self.assertIsInstance(CGShadingGetTypeID(), (int, long))
values = []
def evaluate(info, input, output):
values.append(input)
return input * 4
self.assertIsInstance(CGFunctionGetTypeID(), (int, long))
myInfo = object()
func = CGFunctionCreate(myInfo, 1, [0, 1], 4, [0, 1, 0, 1, 0, 1, 0, 1], evaluate)
self.assertIsInstance(func, CGFunctionRef)
self.assertResultIsCFRetained(CGShadingCreateAxial)
self.assertArgHasType(CGShadingCreateAxial, 4, objc._C_BOOL)
self.assertArgHasType(CGShadingCreateAxial, 5, objc._C_BOOL)
shading = CGShadingCreateAxial(
CGColorSpaceCreateDeviceRGB(), CGPoint(0, 0), CGPoint(50, 200),
func, False, False)
self.assertIsInstance(shading, CGShadingRef)
self.assertResultIsCFRetained(CGShadingCreateRadial)
self.assertArgHasType(CGShadingCreateRadial, 6, objc._C_BOOL)
self.assertArgHasType(CGShadingCreateRadial, 7, objc._C_BOOL)
shading = CGShadingCreateRadial(
CGColorSpaceCreateDeviceRGB(), CGPoint(0, 0), 5.0,
CGPoint(50, 200), 10.5, func, False, False)
self.assertIsInstance(shading, CGShadingRef)
v = CGShadingRetain(shading)
self.assertTrue(v is shading)
CGShadingRelease(shading)
if __name__ == "__main__":
main()
|