1
2from PyObjCTools.TestSupport import *
3from Quartz import *
4
5class TestIKSlideShowHelper (NSObject):
6    def slideshowItemAtIndex_(self, idx): return None
7    def nameOfSlideshowItemAtIndex_(self, idx): return None
8    def canExportSlideshowItemAtIndex_toApplication_(self, idx, app): return True
9    def slideshowDidChangeCurrentIndex_(self, idx): pass
10
11
12class TestIKSlideshow (TestCase):
13    @min_os_level('10.5')
14    def no_testProtocols(self):
15        self.assertIsInstance(objc.protocolNamed("IKSlideshowDataSource"), objc.formal_protocol)
16
17    @min_os_level('10.5')
18    def testProtocolMethods(self):
19        self.assertArgHasType(TestIKSlideShowHelper.slideshowItemAtIndex_, 0, objc._C_NSUInteger)
20        self.assertArgHasType(TestIKSlideShowHelper.nameOfSlideshowItemAtIndex_, 0, objc._C_NSUInteger)
21        self.assertArgHasType(TestIKSlideShowHelper.canExportSlideshowItemAtIndex_toApplication_, 0, objc._C_NSUInteger)
22        self.assertResultIsBOOL(TestIKSlideShowHelper.canExportSlideshowItemAtIndex_toApplication_)
23        self.assertArgHasType(TestIKSlideShowHelper.slideshowDidChangeCurrentIndex_, 0, objc._C_NSUInteger)
24
25    @min_os_level('10.5')
26    def testMethods(self):
27        self.assertResultIsBOOL(IKSlideshow.canExportToApplication_)
28
29    @min_os_level('10.5')
30    def testConstants(self):
31        self.assertIsInstance(IKSlideshowModeImages, unicode)
32        self.assertIsInstance(IKSlideshowModePDF, unicode)
33        self.assertIsInstance(IKSlideshowModeOther, unicode)
34        self.assertIsInstance(IKSlideshowWrapAround, unicode)
35        self.assertIsInstance(IKSlideshowStartPaused, unicode)
36        self.assertIsInstance(IKSlideshowStartIndex, unicode)
37        self.assertIsInstance(IKSlideshowPDFDisplayBox, unicode)
38        self.assertIsInstance(IKSlideshowPDFDisplayMode, unicode)
39        self.assertIsInstance(IKSlideshowPDFDisplaysAsBook, unicode)
40        self.assertIsInstance(IK_iPhotoBundleIdentifier, unicode)
41
42    @min_os_level('10.6')
43    def testConstants10_6(self):
44        self.assertIsInstance(IKSlideshowScreen, unicode)
45        self.assertIsInstance(IKSlideshowAudioFile, unicode)
46        self.assertIsInstance(IKSlideshowPDFDisplayBox, unicode)
47        self.assertIsInstance(IKSlideshowPDFDisplayMode, unicode)
48        self.assertIsInstance(IKSlideshowPDFDisplaysAsBook, unicode)
49        self.assertIsInstance(IK_ApertureBundleIdentifier, unicode)
50        self.assertIsInstance(IK_MailBundleIdentifier, unicode)
51
52
53if __name__ == "__main__":
54    main()
55