1
2from PyObjCTools.TestSupport import *
3from AppKit import *
4
5class TestNSBrowserHelper (NSObject):
6    def browser_selectCellWithString_inColumn_(self, b, c, s): return 1
7    def browser_selectRow_inColumn_(self, b, r, c): return 1
8    def browser_isColumnValid_(self, b, c): return 1
9    def browser_shouldSizeColumn_forUserResize_toWidth_(self, b, c, us, w): return 1
10    def browser_shouldShowCellExpansionForRow_column_(self, b, r, c): return 1
11    def browser_writeRowsWithIndexes_inColumn_toPasteboard_(self, b, r, c, p): return 1
12    def browser_canDragRowsWithIndexes_inColumn_withEvent_(self, b, i, c, e): return 1
13    def browser_acceptDrop_atRow_column_dropOperation_(self, b, a, r, c, o): return 1
14    def browser_shouldTypeSelectForEvent_withCurrentSearchString_(self, b, e, s): return 1
15
16class TestNSBrowser (TestCase):
17    def testConstants(self):
18        self.failUnlessEqual(NSBrowserNoColumnResizing, 0)
19        self.failUnlessEqual(NSBrowserAutoColumnResizing, 1)
20        self.failUnlessEqual(NSBrowserUserColumnResizing, 2)
21
22        self.failUnlessEqual(NSBrowserDropOn, 0)
23        self.failUnlessEqual(NSBrowserDropAbove, 1)
24
25        self.failUnlessIsInstance(NSBrowserColumnConfigurationDidChangeNotification, unicode)
26        self.failUnlessEqual(NSAppKitVersionNumberWithContinuousScrollingBrowser, 680.0)
27        self.failUnlessEqual(NSAppKitVersionNumberWithColumnResizingBrowser, 685.0)
28
29
30    def testMethods(self):
31        self.failUnlessResultIsBOOL(NSBrowser.isLoaded)
32        self.failUnlessResultIsBOOL(NSBrowser.reusesColumns)
33        self.failUnlessResultIsBOOL(NSBrowser.hasHorizontalScroller)
34        self.failUnlessArgIsBOOL(NSBrowser.setHasHorizontalScroller_, 0)
35        self.failUnlessResultIsBOOL(NSBrowser.separatesColumns)
36        self.failUnlessArgIsBOOL(NSBrowser.setSeparatesColumns_, 0)
37        self.failUnlessResultIsBOOL(NSBrowser.isTitled)
38        self.failUnlessArgIsBOOL(NSBrowser.setTitled_, 0)
39        self.failUnlessResultIsBOOL(NSBrowser.allowsMultipleSelection)
40        self.failUnlessArgIsBOOL(NSBrowser.setAllowsMultipleSelection_, 0)
41        self.failUnlessResultIsBOOL(NSBrowser.allowsBranchSelection)
42        self.failUnlessArgIsBOOL(NSBrowser.setAllowsBranchSelection_, 0)
43        self.failUnlessResultIsBOOL(NSBrowser.allowsEmptySelection)
44        self.failUnlessArgIsBOOL(NSBrowser.setAllowsEmptySelection_, 0)
45        self.failUnlessResultIsBOOL(NSBrowser.takesTitleFromPreviousColumn)
46        self.failUnlessArgIsBOOL(NSBrowser.setTakesTitleFromPreviousColumn_, 0)
47        self.failUnlessResultIsBOOL(NSBrowser.acceptsArrowKeys)
48        self.failUnlessArgIsBOOL(NSBrowser.setAcceptsArrowKeys_, 0)
49        self.failUnlessResultIsBOOL(NSBrowser.sendsActionOnArrowKeys)
50        self.failUnlessArgIsBOOL(NSBrowser.setSendsActionOnArrowKeys_, 0)
51        self.failUnlessResultIsBOOL(NSBrowser.setPath_)
52        self.failUnlessResultIsBOOL(NSBrowser.sendAction)
53        self.failUnlessResultIsBOOL(NSBrowser.prefersAllColumnUserResizing)
54        self.failUnlessArgIsBOOL(NSBrowser.setPrefersAllColumnUserResizing_, 0)
55        self.failUnlessResultIsBOOL(NSBrowser.canDragRowsWithIndexes_inColumn_withEvent_)
56        self.failUnlessArgIsBOOL(NSBrowser.setDraggingSourceOperationMask_forLocal_, 1)
57        self.failUnlessResultIsBOOL(NSBrowser.allowsTypeSelect)
58        self.failUnlessArgIsBOOL(NSBrowser.setAllowsTypeSelect_, 0)
59
60    def testDelegate(self):
61        self.failUnlessResultIsBOOL(TestNSBrowserHelper.browser_selectCellWithString_inColumn_)
62        self.failUnlessResultIsBOOL(TestNSBrowserHelper.browser_selectRow_inColumn_)
63        self.failUnlessResultIsBOOL(TestNSBrowserHelper.browser_isColumnValid_)
64        self.failUnlessArgIsBOOL(TestNSBrowserHelper.browser_shouldSizeColumn_forUserResize_toWidth_, 2)
65        self.failUnlessResultIsBOOL(TestNSBrowserHelper.browser_shouldShowCellExpansionForRow_column_)
66        self.failUnlessResultIsBOOL(TestNSBrowserHelper.browser_writeRowsWithIndexes_inColumn_toPasteboard_)
67        self.failUnlessResultIsBOOL(TestNSBrowserHelper.browser_canDragRowsWithIndexes_inColumn_withEvent_)
68        self.failUnlessResultIsBOOL(TestNSBrowserHelper.browser_acceptDrop_atRow_column_dropOperation_)
69
70        self.failUnlessResultIsBOOL(TestNSBrowserHelper.browser_shouldTypeSelectForEvent_withCurrentSearchString_)
71
72
73
74if __name__ == "__main__":
75    main()
76