1from PyObjCTools.TestSupport import *
2from AppKit import *
3import array
4
5class TestRegressions (TestCase):
6    def testQualifiersInSignature(self):
7        NSColor.redColor().getRed_green_blue_alpha_(None, None, None, None)
8
9    def testMethods(self):
10        self.failUnlessResultIsBOOL(NSColor.ignoresAlpha)
11        self.failUnlessArgIsBOOL(NSColor.setIgnoresAlpha_, 0)
12
13        space = NSColorSpace.adobeRGB1998ColorSpace()
14        color = NSColor.colorWithColorSpace_components_count_(space, (0.1, 0.2, 0.3, 0.4), 4)
15        self.failUnlessIsInstance(color, NSColor)
16
17        color = NSColor.colorWithCalibratedRed_green_blue_alpha_(0, 0, 0, 0)
18        r, g, b, a = color.getRed_green_blue_alpha_(None, None, None, None)
19        self.failUnlessIsInstance(r, float)
20        self.failUnlessIsInstance(g, float)
21        self.failUnlessIsInstance(b, float)
22        self.failUnlessIsInstance(a, float)
23
24        color = NSColor.colorWithCalibratedHue_saturation_brightness_alpha_(0.1, 0.2, 0.3, 0.4)
25        h, s, b, a = color.getHue_saturation_brightness_alpha_(None, None, None, None)
26        self.failUnlessIsInstance(h, float)
27        self.failUnlessIsInstance(s, float)
28        self.failUnlessIsInstance(b, float)
29        self.failUnlessIsInstance(a, float)
30
31        color = NSColor.colorWithCalibratedWhite_alpha_(0.1, 0.2)
32        w, a = color.getWhite_alpha_(None, None)
33        self.failUnlessIsInstance(w, float)
34        self.failUnlessIsInstance(a, float)
35
36        color = NSColor.colorWithDeviceCyan_magenta_yellow_black_alpha_(1, 1, 1, 1, 1)
37        c, m, y, b, a  = color.getCyan_magenta_yellow_black_alpha_(None, None, None, None, None)
38        self.failUnlessIsInstance(c, float)
39        self.failUnlessIsInstance(m, float)
40        self.failUnlessIsInstance(y, float)
41        self.failUnlessIsInstance(b, float)
42        self.failUnlessIsInstance(a, float)
43
44        a = array.array('f', [0] * 6)
45        v = color.getComponents_(a)
46        self.failUnlessEqual(a[0], 1.0)
47
48    def testConstants(self):
49        self.failUnlessIsInstance(NSSystemColorsDidChangeNotification, unicode)
50
51if __name__ == "__main__":
52    main()
53