1
2from PyObjCTools.TestSupport import *
3from Quartz.ImageKit 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    def testProtocols(self):
25        self.failUnlessIsInstance(protocols.IKImageBrowserDataSource, objc.informal_protocol)
26
27        self.failUnlessResultHasType(TestIKImageBrowserViewHelper.numberOfItemsInImageBrowser_, objc._C_NSUInteger)
28        self.failUnlessArgHasType(TestIKImageBrowserViewHelper.imageBrowser_itemAtIndex_, 1, objc._C_NSUInteger)
29        self.failUnlessResultIsBOOL(TestIKImageBrowserViewHelper.imageBrowser_moveItemsAtIndexes_toIndex_)
30        self.failUnlessArgHasType(TestIKImageBrowserViewHelper.imageBrowser_moveItemsAtIndexes_toIndex_, 2, objc._C_NSUInteger)
31        self.failUnlessResultHasType(TestIKImageBrowserViewHelper.imageBrowser_writeItemsAtIndexes_toPasteboard_, objc._C_NSUInteger)
32        self.failUnlessResultHasType(TestIKImageBrowserViewHelper.numberOfGroupsInImageBrowser_, objc._C_NSUInteger)
33        self.failUnlessArgHasType(TestIKImageBrowserViewHelper.imageBrowser_groupAtIndex_, 1, objc._C_NSUInteger)
34
35        self.failUnlessIsInstance(protocols.IKImageBrowserItem, objc.informal_protocol)
36        self.failUnlessResultHasType(TestIKImageBrowserViewHelper.imageVersion, objc._C_NSUInteger)
37        self.failUnlessResultIsBOOL(TestIKImageBrowserViewHelper.isSelectable)
38
39        self.failUnlessIsInstance(protocols.IKImageBrowserDelegate, objc.informal_protocol)
40        self.failUnlessArgHasType(TestIKImageBrowserViewHelper.imageBrowser_cellWasDoubleClickedAtIndex_, 1, objc._C_NSUInteger)
41        self.failUnlessArgHasType(TestIKImageBrowserViewHelper.imageBrowser_cellWasRightClickedAtIndex_withEvent_, 1, objc._C_NSUInteger)
42
43    def testMethods(self):
44        self.failUnlessResultIsBOOL(IKImageBrowserView.constrainsToOriginalSize)
45        self.failUnlessArgIsBOOL(IKImageBrowserView.setConstrainsToOriginalSize_, 0)
46        self.failUnlessArgIsBOOL(IKImageBrowserView.setSelectionIndexes_byExtendingSelection_, 1)
47        self.failUnlessResultIsBOOL(IKImageBrowserView.allowsMultipleSelection)
48        self.failUnlessArgIsBOOL(IKImageBrowserView.setAllowsMultipleSelection_, 0)
49        self.failUnlessResultIsBOOL(IKImageBrowserView.allowsEmptySelection)
50        self.failUnlessArgIsBOOL(IKImageBrowserView.setAllowsEmptySelection_, 0)
51        self.failUnlessResultIsBOOL(IKImageBrowserView.allowsReordering)
52        self.failUnlessArgIsBOOL(IKImageBrowserView.setAllowsReordering_, 0)
53        self.failUnlessResultIsBOOL(IKImageBrowserView.animates)
54        self.failUnlessArgIsBOOL(IKImageBrowserView.setAnimates_, 0)
55
56        # Method does not exist?
57        #view = IKImageBrowserView.alloc().init()
58        #self.failUnlessResultIsBOOL(view.isGroupExpandedAtIndex_)
59
60    def testConstants(self):
61        self.failUnlessEqual(IKCellsStyleNone, 0)
62        self.failUnlessEqual(IKCellsStyleShadowed, 1)
63        self.failUnlessEqual(IKCellsStyleOutlined, 2)
64        self.failUnlessEqual(IKCellsStyleTitled, 4)
65        self.failUnlessEqual(IKCellsStyleSubtitled, 8)
66
67        self.failUnlessIsInstance(IKImageBrowserPathRepresentationType, unicode)
68        self.failUnlessIsInstance(IKImageBrowserNSURLRepresentationType, unicode)
69        self.failUnlessIsInstance(IKImageBrowserNSImageRepresentationType, unicode)
70        self.failUnlessIsInstance(IKImageBrowserCGImageRepresentationType, unicode)
71        self.failUnlessIsInstance(IKImageBrowserCGImageSourceRepresentationType, unicode)
72        self.failUnlessIsInstance(IKImageBrowserNSDataRepresentationType, unicode)
73        self.failUnlessIsInstance(IKImageBrowserNSBitmapImageRepresentationType, unicode)
74        self.failUnlessIsInstance(IKImageBrowserQTMovieRepresentationType, unicode)
75        self.failUnlessIsInstance(IKImageBrowserQTMoviePathRepresentationType, unicode)
76        self.failUnlessIsInstance(IKImageBrowserQCCompositionRepresentationType, unicode)
77        self.failUnlessIsInstance(IKImageBrowserQCCompositionPathRepresentationType, unicode)
78        self.failUnlessIsInstance(IKImageBrowserQuickLookPathRepresentationType, unicode)
79        self.failUnlessIsInstance(IKImageBrowserIconRefPathRepresentationType, unicode)
80        self.failUnlessIsInstance(IKImageBrowserIconRefRepresentationType, unicode)
81        self.failUnlessIsInstance(IKImageBrowserBackgroundColorKey, unicode)
82        self.failUnlessIsInstance(IKImageBrowserSelectionColorKey, unicode)
83        self.failUnlessIsInstance(IKImageBrowserCellsOutlineColorKey, unicode)
84        self.failUnlessIsInstance(IKImageBrowserCellsTitleAttributesKey, unicode)
85        self.failUnlessIsInstance(IKImageBrowserCellsHighlightedTitleAttributesKey, unicode)
86        self.failUnlessIsInstance(IKImageBrowserCellsSubtitleAttributesKey, unicode)
87        self.failUnlessIsInstance(IKImageBrowserGroupRangeKey, unicode)
88        self.failUnlessIsInstance(IKImageBrowserGroupBackgroundColorKey, unicode)
89        self.failUnlessIsInstance(IKImageBrowserGroupTitleKey, unicode)
90        self.failUnlessIsInstance(IKImageBrowserGroupStyleKey, unicode)
91
92
93
94if __name__ == "__main__":
95    main()
96