1
2from PyObjCTools.TestSupport import *
3from Quartz.QuartzCore import *
4
5if os_release() >= (10, 5):
6    class TestCAMediaTimingHelper (NSObject, objc.protocolNamed('CAMediaTiming')):
7        def beginTime(self): return 1
8        def setBeginTime_(self, v): pass
9        def duration(self): return 1
10        def setDuration_(self, v): pass
11        def speed(self): return 1
12        def setSpeed_(self, v): pass
13        def timeOffset(self): return 1
14        def setTimeOffset_(self, v): pass
15        def repeatCount(self): return 1
16        def setRepeatCount_(self, v): pass
17        def repeatDuration(self): return 1
18        def setRepeatDuration_(self, v): pass
19        def autoreverses(self): return 1
20        def setAutoreverses_(self, v): return 1
21        def fillMode(self): return 1
22        def setFillMode_(self, v): pass
23
24class TestCAMediaTiming (TestCase):
25    @min_os_level('10.5')
26    def testConstants(self):
27        self.assertIsInstance(kCAFillModeForwards, unicode)
28        self.assertIsInstance(kCAFillModeBackwards, unicode)
29        self.assertIsInstance(kCAFillModeBoth, unicode)
30        self.assertIsInstance(kCAFillModeRemoved, unicode)
31
32    @min_os_level('10.5')
33    def testMethods(self):
34        self.assertResultHasType(TestCAMediaTimingHelper.beginTime, objc._C_DBL)
35        self.assertArgHasType(TestCAMediaTimingHelper.setBeginTime_, 0, objc._C_DBL)
36        self.assertResultHasType(TestCAMediaTimingHelper.duration, objc._C_DBL)
37        self.assertArgHasType(TestCAMediaTimingHelper.setDuration_, 0, objc._C_DBL)
38        self.assertResultHasType(TestCAMediaTimingHelper.speed, objc._C_FLT)
39        self.assertArgHasType(TestCAMediaTimingHelper.setSpeed_, 0, objc._C_FLT)
40        self.assertResultHasType(TestCAMediaTimingHelper.timeOffset, objc._C_DBL)
41        self.assertArgHasType(TestCAMediaTimingHelper.setTimeOffset_, 0, objc._C_DBL)
42        self.assertResultHasType(TestCAMediaTimingHelper.repeatCount, objc._C_FLT)
43        self.assertArgHasType(TestCAMediaTimingHelper.setRepeatCount_, 0, objc._C_FLT)
44        self.assertResultHasType(TestCAMediaTimingHelper.repeatDuration, objc._C_DBL)
45        self.assertArgHasType(TestCAMediaTimingHelper.setRepeatDuration_, 0, objc._C_DBL)
46        self.assertResultHasType(TestCAMediaTimingHelper.autoreverses, objc._C_NSBOOL)
47        self.assertArgHasType(TestCAMediaTimingHelper.setAutoreverses_, 0, objc._C_NSBOOL)
48        self.assertResultHasType(TestCAMediaTimingHelper.fillMode, objc._C_ID)
49        self.assertArgHasType(TestCAMediaTimingHelper.setFillMode_, 0, objc._C_ID)
50
51
52if __name__ == "__main__":
53    main()
54