1 2from PyObjCTools.TestSupport import * 3from AppKit import * 4 5try: 6 unicode 7except NameError: 8 unicode = str 9 10class TestNSBrowserHelper (NSObject): 11 def browser_selectCellWithString_inColumn_(self, b, c, s): return 1 12 def browser_selectRow_inColumn_(self, b, r, c): return 1 13 def browser_isColumnValid_(self, b, c): return 1 14 def browser_shouldSizeColumn_forUserResize_toWidth_(self, b, c, us, w): return 1 15 def browser_shouldShowCellExpansionForRow_column_(self, b, r, c): return 1 16 def browser_writeRowsWithIndexes_inColumn_toPasteboard_(self, b, r, c, p): return 1 17 def browser_canDragRowsWithIndexes_inColumn_withEvent_(self, b, i, c, e): return 1 18 def browser_acceptDrop_atRow_column_dropOperation_(self, b, a, r, c, o): return 1 19 def browser_shouldTypeSelectForEvent_withCurrentSearchString_(self, b, e, s): return 1 20 def browser_isLeafItem_(self, b, s): return 1 21 def browser_heightOfRow_inColumn_(self, b, r, c): return 1 22 def browser_shouldEditItem_(self, b, i): return 1 23 def browser_numberOfRowsInColumn_(self, b, c): return 1 24 def browser_createRowsForColumn_inMatrix_(self, b, c, m): return 1 25 def browser_selectionIndexesForProposedSelection_inColumn_(self, b, s, c): return 1 26 27class TestNSBrowser (TestCase): 28 def testConstants(self): 29 self.assertEqual(NSBrowserNoColumnResizing, 0) 30 self.assertEqual(NSBrowserAutoColumnResizing, 1) 31 self.assertEqual(NSBrowserUserColumnResizing, 2) 32 33 self.assertEqual(NSBrowserDropOn, 0) 34 self.assertEqual(NSBrowserDropAbove, 1) 35 36 self.assertIsInstance(NSBrowserColumnConfigurationDidChangeNotification, unicode) 37 self.assertEqual(NSAppKitVersionNumberWithContinuousScrollingBrowser, 680.0) 38 self.assertEqual(NSAppKitVersionNumberWithColumnResizingBrowser, 685.0) 39 40 41 def testMethods(self): 42 self.assertResultIsBOOL(NSBrowser.isLoaded) 43 self.assertResultIsBOOL(NSBrowser.reusesColumns) 44 self.assertArgIsBOOL(NSBrowser.setReusesColumns_, 0) 45 self.assertResultIsBOOL(NSBrowser.hasHorizontalScroller) 46 self.assertArgIsBOOL(NSBrowser.setHasHorizontalScroller_, 0) 47 self.assertResultIsBOOL(NSBrowser.separatesColumns) 48 self.assertArgIsBOOL(NSBrowser.setSeparatesColumns_, 0) 49 self.assertResultIsBOOL(NSBrowser.isTitled) 50 self.assertArgIsBOOL(NSBrowser.setTitled_, 0) 51 self.assertResultIsBOOL(NSBrowser.allowsMultipleSelection) 52 self.assertArgIsBOOL(NSBrowser.setAllowsMultipleSelection_, 0) 53 self.assertResultIsBOOL(NSBrowser.allowsBranchSelection) 54 self.assertArgIsBOOL(NSBrowser.setAllowsBranchSelection_, 0) 55 self.assertResultIsBOOL(NSBrowser.allowsEmptySelection) 56 self.assertArgIsBOOL(NSBrowser.setAllowsEmptySelection_, 0) 57 self.assertResultIsBOOL(NSBrowser.takesTitleFromPreviousColumn) 58 self.assertArgIsBOOL(NSBrowser.setTakesTitleFromPreviousColumn_, 0) 59 self.assertResultIsBOOL(NSBrowser.acceptsArrowKeys) 60 self.assertArgIsBOOL(NSBrowser.setAcceptsArrowKeys_, 0) 61 self.assertResultIsBOOL(NSBrowser.sendsActionOnArrowKeys) 62 self.assertArgIsBOOL(NSBrowser.setSendsActionOnArrowKeys_, 0) 63 self.assertResultIsBOOL(NSBrowser.setPath_) 64 self.assertResultIsBOOL(NSBrowser.sendAction) 65 self.assertResultIsBOOL(NSBrowser.prefersAllColumnUserResizing) 66 self.assertArgIsBOOL(NSBrowser.setPrefersAllColumnUserResizing_, 0) 67 self.assertResultIsBOOL(NSBrowser.canDragRowsWithIndexes_inColumn_withEvent_) 68 self.assertArgIsBOOL(NSBrowser.setDraggingSourceOperationMask_forLocal_, 1) 69 self.assertResultIsBOOL(NSBrowser.allowsTypeSelect) 70 self.assertArgIsBOOL(NSBrowser.setAllowsTypeSelect_, 0) 71 72 def testDelegate(self): 73 self.assertResultIsBOOL(TestNSBrowserHelper.browser_selectCellWithString_inColumn_) 74 self.assertResultIsBOOL(TestNSBrowserHelper.browser_selectRow_inColumn_) 75 self.assertResultIsBOOL(TestNSBrowserHelper.browser_isColumnValid_) 76 self.assertArgIsBOOL(TestNSBrowserHelper.browser_shouldSizeColumn_forUserResize_toWidth_, 2) 77 self.assertResultIsBOOL(TestNSBrowserHelper.browser_shouldShowCellExpansionForRow_column_) 78 self.assertResultIsBOOL(TestNSBrowserHelper.browser_writeRowsWithIndexes_inColumn_toPasteboard_) 79 self.assertResultIsBOOL(TestNSBrowserHelper.browser_canDragRowsWithIndexes_inColumn_withEvent_) 80 self.assertResultIsBOOL(TestNSBrowserHelper.browser_acceptDrop_atRow_column_dropOperation_) 81 82 self.assertResultIsBOOL(TestNSBrowserHelper.browser_shouldTypeSelectForEvent_withCurrentSearchString_) 83 84 @min_os_level('10.6') 85 def testMethods10_6(self): 86 self.assertArgIsBOOL(NSBrowser.setAutohidesScroller_, 0) 87 self.assertResultIsBOOL(NSBrowser.autohidesScroller) 88 self.assertResultIsBOOL(NSBrowser.isLeafItem_) 89 self.assertResultIsBOOL(NSBrowser.getRow_column_forPoint_) 90 self.assertArgIsOut(NSBrowser.getRow_column_forPoint_, 0) 91 self.assertArgIsOut(NSBrowser.getRow_column_forPoint_, 1) 92 self.assertArgIsBOOL(NSBrowser.editItemAtIndexPath_withEvent_select_, 2) 93 94 self.assertArgHasType(TestNSBrowserHelper.browser_selectionIndexesForProposedSelection_inColumn_, 2, objc._C_NSInteger) 95 96 @min_os_level('10.6') 97 def testDelegate10_6(self): 98 self.assertResultIsBOOL(TestNSBrowserHelper.browser_isLeafItem_) 99 self.assertResultHasType(TestNSBrowserHelper.browser_heightOfRow_inColumn_, objc._C_CGFloat) 100 self.assertArgHasType(TestNSBrowserHelper.browser_heightOfRow_inColumn_, 1, objc._C_NSInteger) 101 self.assertArgHasType(TestNSBrowserHelper.browser_heightOfRow_inColumn_, 2, objc._C_NSInteger) 102 self.assertResultIsBOOL(TestNSBrowserHelper.browser_shouldEditItem_) 103 self.assertResultHasType(TestNSBrowserHelper.browser_numberOfRowsInColumn_, objc._C_NSInteger) 104 self.assertArgHasType(TestNSBrowserHelper.browser_numberOfRowsInColumn_, 1, objc._C_NSInteger) 105 self.assertArgHasType(TestNSBrowserHelper.browser_createRowsForColumn_inMatrix_, 1, objc._C_NSInteger) 106 107 108 109if __name__ == "__main__": 110 main() 111