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