1
2from PyObjCTools.TestSupport import *
3from Quartz.CoreGraphics import *
4
5class TestCGEventSource (TestCase):
6    def testTypes(self):
7        self.assertIsCFType(CGEventSourceRef)
8
9    def testFunctions(self):
10        self.assertIsInstance(CGEventSourceGetTypeID(), (int, long))
11
12        src = CGEventSourceCreate(0)
13        self.assertIsInstance(src, CGEventSourceRef)
14
15        v = CGEventSourceGetKeyboardType(src)
16        self.assertIsInstance(v, (int, long))
17
18        CGEventSourceSetKeyboardType(src, v)
19
20        CGEventSourceSetPixelsPerLine(src, 23)
21        v = CGEventSourceGetPixelsPerLine(src)
22        self.assertIsInstance(v, float)
23        self.assertEqual(v, 23)
24
25        v = CGEventSourceGetSourceStateID(src)
26        self.assertIsInstance(v, (int, long))
27
28        self.assertResultHasType(CGEventSourceButtonState, objc._C_BOOL)
29        v = CGEventSourceButtonState(0, 0)
30        self.assertIsInstance(v, bool)
31
32        self.assertResultHasType(CGEventSourceKeyState, objc._C_BOOL)
33        v = CGEventSourceKeyState(0, 64)
34        self.assertIsInstance(v, bool)
35
36        v = CGEventSourceFlagsState(0)
37        self.assertIsInstance(v, (int, long))
38
39        v = CGEventSourceSecondsSinceLastEventType(0, kCGEventLeftMouseDown)
40        self.assertIsInstance(v, float)
41
42        v = CGEventSourceCounterForEventType(0, kCGEventLeftMouseDown)
43        self.assertIsInstance(v, (int, long))
44
45        CGEventSourceSetUserData(src, 0xabbccdd00112233)
46        v = CGEventSourceGetUserData(src)
47        self.assertIsInstance(v, (int, long))
48        self.assertEqual(v, 0xabbccdd00112233)
49
50        CGEventSourceSetLocalEventsFilterDuringSuppressionState(src,
51                kCGEventFlagMaskControl|kCGEventFlagMaskCommand,
52                 kCGEventSuppressionStateRemoteMouseDrag )
53
54        m = CGEventSourceGetLocalEventsFilterDuringSuppressionState(src,
55                 kCGEventSuppressionStateRemoteMouseDrag )
56        self.assertIsInstance(m, (int, long))
57
58        CGEventSourceSetLocalEventsSuppressionInterval(src, 1.5)
59        v = CGEventSourceGetLocalEventsSuppressionInterval(src)
60        self.assertEqual(v, 1.5)
61
62if __name__ == "__main__":
63    main()
64