1
2from PyObjCTools.TestSupport import *
3from AppKit import *
4import Quartz.CoreGraphics
5
6class TestNSGraphicsContext (TestCase):
7    def testConstants(self):
8        self.failUnlessIsInstance(NSGraphicsContextDestinationAttributeName, unicode)
9        self.failUnlessIsInstance(NSGraphicsContextRepresentationFormatAttributeName, unicode)
10        self.failUnlessIsInstance(NSGraphicsContextPSFormat, unicode)
11        self.failUnlessIsInstance(NSGraphicsContextPDFFormat, unicode)
12
13        self.failUnlessEqual(NSImageInterpolationDefault, 0)
14        self.failUnlessEqual(NSImageInterpolationNone, 1)
15        self.failUnlessEqual(NSImageInterpolationLow, 2)
16        self.failUnlessEqual(NSImageInterpolationHigh, 3)
17
18        self.failUnlessEqual(NSColorRenderingIntentDefault, 0)
19        self.failUnlessEqual(NSColorRenderingIntentAbsoluteColorimetric, 1)
20        self.failUnlessEqual(NSColorRenderingIntentRelativeColorimetric, 2)
21        self.failUnlessEqual(NSColorRenderingIntentPerceptual, 3)
22        self.failUnlessEqual(NSColorRenderingIntentSaturation, 4)
23
24
25    def testMethods(self):
26        self.failUnlessArgIsBOOL(NSGraphicsContext.graphicsContextWithGraphicsPort_flipped_, 1)
27        self.failUnlessResultIsBOOL(NSGraphicsContext.currentContextDrawingToScreen)
28        self.failUnlessResultIsBOOL(NSGraphicsContext.isDrawingToScreen)
29        self.failUnlessResultIsBOOL(NSGraphicsContext.isFlipped)
30        self.failUnlessResultIsBOOL(NSGraphicsContext.shouldAntialias)
31        self.failUnlessArgIsBOOL(NSGraphicsContext.setShouldAntialias_, 0)
32
33        img = NSBitmapImageRep.alloc().initWithBitmapDataPlanes_pixelsWide_pixelsHigh_bitsPerSample_samplesPerPixel_hasAlpha_isPlanar_colorSpaceName_bitmapFormat_bytesPerRow_bitsPerPixel_(
34            None, 255, 255, 8, 4, True, False, NSCalibratedRGBColorSpace, 0, 0, 0)
35        context = NSGraphicsContext.graphicsContextWithBitmapImageRep_(img)
36        self.failUnlessIsInstance(context, NSGraphicsContext)
37        port = context.graphicsPort()
38        self.failUnlessIsInstance(port, Quartz.CoreGraphics.CGContextRef)
39
40        self.failUnlessArgHasType(NSGraphicsContext.graphicsContextWithGraphicsPort_flipped_, 0, '^{CGContext=}')
41        self.failUnlessResultHasType(NSGraphicsContext.graphicsPort, '^{CGContext=}')
42
43
44if __name__ == "__main__":
45    main()
46