1
2from PyObjCTools.TestSupport import *
3from Quartz import *
4
5class TestIKImageBrowserViewHelper (NSObject):
6    # IKImageBrowserDataSource
7    def numberOfItemsInImageBrowser_(self, b): return 1
8    def imageBrowser_itemAtIndex_(self, b, i): return None
9    def imageBrowser_moveItemsAtIndexes_toIndex_(self, b, st, i): return False
10    def imageBrowser_writeItemsAtIndexes_toPasteboard_(self, b, st, pb): return 44
11    def numberOfGroupsInImageBrowser_(self, b): return 1
12    def imageBrowser_groupAtIndex_(self, b, idx): return None
13
14    # IKImageBrowserItem
15    def imageVersion(self): return 1
16    def isSelectable(self): return True
17
18    # IKImageBrowserDelegate
19    def imageBrowser_cellWasDoubleClickedAtIndex_(self, b, idx): pass
20    def imageBrowser_cellWasRightClickedAtIndex_withEvent_(self, b, idx, e): pass
21
22
23class TestIKImageBrowserView (TestCase):
24    @min_os_level('10.5')
25    def testProtocols(self):
26        self.assertIsInstance(protocols.IKImageBrowserDataSource, objc.informal_protocol)
27
28        self.assertResultHasType(TestIKImageBrowserViewHelper.numberOfItemsInImageBrowser_, objc._C_NSUInteger)
29        self.assertArgHasType(TestIKImageBrowserViewHelper.imageBrowser_itemAtIndex_, 1, objc._C_NSUInteger)
30        self.assertResultIsBOOL(TestIKImageBrowserViewHelper.imageBrowser_moveItemsAtIndexes_toIndex_)
31        self.assertArgHasType(TestIKImageBrowserViewHelper.imageBrowser_moveItemsAtIndexes_toIndex_, 2, objc._C_NSUInteger)
32        self.assertResultHasType(TestIKImageBrowserViewHelper.imageBrowser_writeItemsAtIndexes_toPasteboard_, objc._C_NSUInteger)
33        self.assertResultHasType(TestIKImageBrowserViewHelper.numberOfGroupsInImageBrowser_, objc._C_NSUInteger)
34        self.assertArgHasType(TestIKImageBrowserViewHelper.imageBrowser_groupAtIndex_, 1, objc._C_NSUInteger)
35
36        self.assertIsInstance(protocols.IKImageBrowserItem, objc.informal_protocol)
37        self.assertResultHasType(TestIKImageBrowserViewHelper.imageVersion, objc._C_NSUInteger)
38        self.assertResultIsBOOL(TestIKImageBrowserViewHelper.isSelectable)
39
40        self.assertIsInstance(protocols.IKImageBrowserDelegate, objc.informal_protocol)
41        self.assertArgHasType(TestIKImageBrowserViewHelper.imageBrowser_cellWasDoubleClickedAtIndex_, 1, objc._C_NSUInteger)
42        self.assertArgHasType(TestIKImageBrowserViewHelper.imageBrowser_cellWasRightClickedAtIndex_withEvent_, 1, objc._C_NSUInteger)
43
44    @min_os_level('10.5')
45    def testMethods(self):
46        self.assertResultIsBOOL(IKImageBrowserView.constrainsToOriginalSize)
47        self.assertArgIsBOOL(IKImageBrowserView.setConstrainsToOriginalSize_, 0)
48        self.assertArgIsBOOL(IKImageBrowserView.setSelectionIndexes_byExtendingSelection_, 1)
49        self.assertResultIsBOOL(IKImageBrowserView.allowsMultipleSelection)
50        self.assertArgIsBOOL(IKImageBrowserView.setAllowsMultipleSelection_, 0)
51        self.assertResultIsBOOL(IKImageBrowserView.allowsEmptySelection)
52        self.assertArgIsBOOL(IKImageBrowserView.setAllowsEmptySelection_, 0)
53        self.assertResultIsBOOL(IKImageBrowserView.allowsReordering)
54        self.assertArgIsBOOL(IKImageBrowserView.setAllowsReordering_, 0)
55        self.assertResultIsBOOL(IKImageBrowserView.animates)
56        self.assertArgIsBOOL(IKImageBrowserView.setAnimates_, 0)
57
58        # Method does not exist?
59        #view = IKImageBrowserView.alloc().init()
60        #self.assertResultIsBOOL(view.isGroupExpandedAtIndex_)
61
62    @min_os_level('10.5')
63    def testConstants(self):
64        self.assertEqual(IKCellsStyleNone, 0)
65        self.assertEqual(IKCellsStyleShadowed, 1)
66        self.assertEqual(IKCellsStyleOutlined, 2)
67        self.assertEqual(IKCellsStyleTitled, 4)
68        self.assertEqual(IKCellsStyleSubtitled, 8)
69        self.assertEqual(IKGroupBezelStyle, 0)
70        self.assertEqual(IKGroupDisclosureStyle, 1)
71
72        self.assertIsInstance(IKImageBrowserPathRepresentationType, unicode)
73        self.assertIsInstance(IKImageBrowserNSURLRepresentationType, unicode)
74        self.assertIsInstance(IKImageBrowserNSImageRepresentationType, unicode)
75        self.assertIsInstance(IKImageBrowserCGImageRepresentationType, unicode)
76        self.assertIsInstance(IKImageBrowserCGImageSourceRepresentationType, unicode)
77        self.assertIsInstance(IKImageBrowserNSDataRepresentationType, unicode)
78        self.assertIsInstance(IKImageBrowserNSBitmapImageRepresentationType, unicode)
79        self.assertIsInstance(IKImageBrowserQTMovieRepresentationType, unicode)
80        self.assertIsInstance(IKImageBrowserQTMoviePathRepresentationType, unicode)
81        self.assertIsInstance(IKImageBrowserQCCompositionRepresentationType, unicode)
82        self.assertIsInstance(IKImageBrowserQCCompositionPathRepresentationType, unicode)
83        self.assertIsInstance(IKImageBrowserQuickLookPathRepresentationType, unicode)
84        self.assertIsInstance(IKImageBrowserIconRefPathRepresentationType, unicode)
85        self.assertIsInstance(IKImageBrowserIconRefRepresentationType, unicode)
86        self.assertIsInstance(IKImageBrowserBackgroundColorKey, unicode)
87        self.assertIsInstance(IKImageBrowserSelectionColorKey, unicode)
88        self.assertIsInstance(IKImageBrowserCellsOutlineColorKey, unicode)
89        self.assertIsInstance(IKImageBrowserCellsTitleAttributesKey, unicode)
90        self.assertIsInstance(IKImageBrowserCellsHighlightedTitleAttributesKey, unicode)
91        self.assertIsInstance(IKImageBrowserCellsSubtitleAttributesKey, unicode)
92        self.assertIsInstance(IKImageBrowserGroupRangeKey, unicode)
93        self.assertIsInstance(IKImageBrowserGroupBackgroundColorKey, unicode)
94        self.assertIsInstance(IKImageBrowserGroupTitleKey, unicode)
95        self.assertIsInstance(IKImageBrowserGroupStyleKey, unicode)
96
97    @min_os_level('10.6')
98    def testConstants10_6(self):
99        self.assertEqual(IKImageBrowserDropOn, 0)
100        self.assertEqual(IKImageBrowserDropBefore, 1)
101
102        self.assertIsInstance(IKImageBrowserPDFPageRepresentationType, unicode)
103        self.assertIsInstance(IKImageBrowserGroupHeaderLayer, unicode)
104        self.assertIsInstance(IKImageBrowserGroupHeaderLayer, unicode)
105
106    @min_os_level('10.6')
107    def testMethods10_6(self):
108        self.assertResultIsBOOL(IKImageBrowserView.canControlQuickLookPanel)
109        self.assertArgIsBOOL(IKImageBrowserView.setCanControlQuickLookPanel_, 0)
110        self.assertResultIsBOOL(IKImageBrowserView.allowsDroppingOnItems)
111        self.assertArgIsBOOL(IKImageBrowserView.setAllowsDroppingOnItems_, 0)
112
113if __name__ == "__main__":
114    main()
115