1 2from PyObjCTools.TestSupport import * 3from AppKit import * 4 5try: 6 unicode 7except NameError: 8 unicode = str 9 10class TestNSTableViewHelper (NSObject): 11 def tableView_viewForTableColumn_row_(self, a, b, c): pass 12 def tableView_rowViewForRow_(self, a, b): pass 13 def tableView_didAddRowView_forRow_(self, a, b, c): pass 14 def tableView_didRemoveRowView_forRow_(self, a, b, c): pass 15 def tableView_pastboardWriterForRow_(self, a, b): pass 16 def tableView_draggingSession_willBeginAtPoint_forRowIndexes_(self, a, b, c, d): pass 17 def tableView_draggingSession_endedAtPoint_operation_(self, a, b, c, d): pass 18 19 def numberOfRowsInTableView_(self, tv): return 1 20 def tableView_objectValueForTableColumn_row_(self, tv, c, r): return 1 21 def tableView_setObjectValue_forTableColumn_row_(self, o, tv, c, r): pass 22 def tableView_writeRowsWithIndexes_toPasteboard_(self, tv, r, p): return 1 23 def tableView_validateDrop_proposedRow_proposedDropOperation_(self, tv, dr, r, o): return 1 24 def tableView_acceptDrop_row_dropOperation_(self, tv, dr, r, o): return 1 25 def tableView_writeRows_toPasteboard_(self, tv, r, p): return 1 26 27 def tableView_willDisplayCell_forTableColumn_row_(self, tv, c, tc, r): return 1 28 def tableView_shouldEditTableColumn_row_(self, tv, tc, r): return 1 29 def selectionShouldChangeInTableView_(self, tv): return 1 30 def tableView_shouldSelectTableColumn_(self, tv, tc): return 1 31 def tableView_toolTipForCell_rect_tableColumn_row_mouseLocation_(self, tv, c, re, tc, r, l): return 1 32 def tableView_heightOfRow_(self, tv, r): return 1 33 def tableView_typeSelectStringForTableColumn_row_(self, tv, tc, r): return 1 34 def tableView_nextTypeSelectMatchFromRow_toRow_forString_(self, tv, r1, r2, s): return 1 35 def tableView_shouldTypeSelectForEvent_withCurrentSearchString_(self, tv, e, s): return 1 36 def tableView_shouldShowCellExpansionForTableColumn_row_(self, tv, tc, r): return 1 37 def tableView_shouldTrackCell_forTableColumn_row_(self, tv, c, tc, r): return 1 38 def tableView_dataCellForTableColumn_row_(self, tv, tc, r): return 1 39 def tableView_isGroupRow_(self, tv, r): return 1 40 41 def tableView_sizeToFitWidthOfColumn_(self, tv, c): return 1 42 def tableView_shouldReorderColumn_toColumn_(self, tv, c1, c2): return 1 43 44 45 46 47 48class TestNSTableView (TestCase): 49 def testConstants(self): 50 self.assertEqual(NSTableViewDropOn, 0) 51 self.assertEqual(NSTableViewDropAbove, 1) 52 53 self.assertEqual(NSTableViewNoColumnAutoresizing, 0) 54 self.assertEqual(NSTableViewUniformColumnAutoresizingStyle, 1) 55 self.assertEqual(NSTableViewSequentialColumnAutoresizingStyle, 2) 56 self.assertEqual(NSTableViewReverseSequentialColumnAutoresizingStyle, 3) 57 self.assertEqual(NSTableViewLastColumnOnlyAutoresizingStyle, 4) 58 self.assertEqual(NSTableViewFirstColumnOnlyAutoresizingStyle, 5) 59 60 self.assertEqual(NSTableViewGridNone, 0) 61 self.assertEqual(NSTableViewSolidVerticalGridLineMask, 1 << 0) 62 self.assertEqual(NSTableViewSolidHorizontalGridLineMask, 1 << 1) 63 64 self.assertEqual(NSTableViewSelectionHighlightStyleRegular, 0) 65 self.assertEqual(NSTableViewSelectionHighlightStyleSourceList, 1) 66 67 self.assertIsInstance(NSTableViewSelectionDidChangeNotification, unicode) 68 self.assertIsInstance(NSTableViewColumnDidMoveNotification, unicode) 69 self.assertIsInstance(NSTableViewColumnDidResizeNotification, unicode) 70 self.assertIsInstance(NSTableViewSelectionIsChangingNotification, unicode) 71 72 @min_os_level('10.6') 73 def testConstants10_6(self): 74 self.assertEqual(NSTableViewSelectionHighlightStyleNone, -1) 75 self.assertEqual(NSTableViewDraggingDestinationFeedbackStyleNone, -1) 76 self.assertEqual(NSTableViewDraggingDestinationFeedbackStyleRegular, 0) 77 self.assertEqual(NSTableViewDraggingDestinationFeedbackStyleSourceList, 1) 78 79 @min_os_level('10.7') 80 def testConstants10_7(self): 81 self.assertEqual(NSTableViewDashedHorizontalGridLineMask, 1<<3) 82 self.assertEqual(NSTableViewRowSizeStyleDefault, -1) 83 self.assertEqual(NSTableViewRowSizeStyleCustom, 0) 84 self.assertEqual(NSTableViewRowSizeStyleSmall, 1) 85 self.assertEqual(NSTableViewRowSizeStyleMedium, 2) 86 self.assertEqual(NSTableViewRowSizeStyleLarge, 3) 87 88 self.assertEqual(NSTableViewAnimationEffectNone, 0) 89 self.assertEqual(NSTableViewAnimationEffectFade, 1) 90 self.assertEqual(NSTableViewAnimationEffectGap, 2) 91 self.assertEqual(NSTableViewAnimationSlideUp, 0x10) 92 self.assertEqual(NSTableViewAnimationSlideDown, 0x20) 93 self.assertEqual(NSTableViewAnimationSlideLeft, 0x30) 94 self.assertEqual(NSTableViewAnimationSlideRight, 0x40) 95 96 self.assertIsInstance(NSTableViewRowViewKey, unicode) 97 98 self.assertEqual(NSTableViewDashedHorizontalGridLineMask, 1<<3) 99 100 def testMethods(self): 101 self.assertArgIsBOOL(NSTableView.setAllowsColumnReordering_, 0) 102 self.assertResultIsBOOL(NSTableView.allowsColumnReordering) 103 self.assertArgIsBOOL(NSTableView.setAllowsColumnResizing_, 0) 104 self.assertResultIsBOOL(NSTableView.allowsColumnResizing) 105 self.assertArgIsBOOL(NSTableView.setUsesAlternatingRowBackgroundColors_, 0) 106 self.assertResultIsBOOL(NSTableView.usesAlternatingRowBackgroundColors) 107 self.assertArgIsBOOL(NSTableView.setVerticalMotionCanBeginDrag_, 0) 108 self.assertResultIsBOOL(NSTableView.verticalMotionCanBeginDrag) 109 self.assertResultIsBOOL(NSTableView.canDragRowsWithIndexes_atPoint_) 110 self.assertArgIsInOut(NSTableView.dragImageForRowsWithIndexes_tableColumns_event_offset_, 3) 111 self.assertArgIsBOOL(NSTableView.setDraggingSourceOperationMask_forLocal_, 1) 112 self.assertResultIsBOOL(NSTableView.verticalMotionCanBeginDrag) 113 self.assertArgIsBOOL(NSTableView.setAllowsMultipleSelection_, 0) 114 self.assertResultIsBOOL(NSTableView.allowsMultipleSelection) 115 self.assertArgIsBOOL(NSTableView.setAllowsEmptySelection_, 0) 116 self.assertResultIsBOOL(NSTableView.allowsEmptySelection) 117 self.assertArgIsBOOL(NSTableView.setAllowsColumnSelection_, 0) 118 self.assertResultIsBOOL(NSTableView.allowsColumnSelection) 119 self.assertArgIsBOOL(NSTableView.selectColumnIndexes_byExtendingSelection_, 1) 120 self.assertArgIsBOOL(NSTableView.selectRowIndexes_byExtendingSelection_, 1) 121 self.assertResultIsBOOL(NSTableView.isColumnSelected_) 122 self.assertResultIsBOOL(NSTableView.isRowSelected_) 123 self.assertResultIsBOOL(NSTableView.textShouldBeginEditing_) 124 self.assertResultIsBOOL(NSTableView.textShouldEndEditing_) 125 self.assertArgIsBOOL(NSTableView.setAutosaveTableColumns_, 0) 126 self.assertResultIsBOOL(NSTableView.autosaveTableColumns) 127 self.assertArgIsBOOL(NSTableView.editColumn_row_withEvent_select_, 3) 128 129 self.assertArgHasType(NSTableView.drawBackgroundInClipRect_, 0, NSRect.__typestr__) 130 131 132 133 self.assertArgIsBOOL(NSTableView.setDrawsGrid_, 0) 134 self.assertResultIsBOOL(NSTableView.drawsGrid) 135 self.assertArgIsBOOL(NSTableView.selectColumn_byExtendingSelection_, 1) 136 self.assertArgIsBOOL(NSTableView.selectRow_byExtendingSelection_, 1) 137 self.assertArgIsInOut(NSTableView.dragImageForRows_event_dragImageOffset_, 2) 138 self.assertArgIsBOOL(NSTableView.setAutoresizesAllColumnsToFit_, 0) 139 self.assertResultIsBOOL(NSTableView.autoresizesAllColumnsToFit) 140 141 @min_os_level('10.5') 142 def testMethods10_5(self): 143 self.assertArgIsBOOL(NSTableView.setAllowsTypeSelect_, 0) 144 self.assertResultIsBOOL(NSTableView.allowsTypeSelect) 145 146 self.assertArgHasType(NSTableView.columnIndexesInRect_, 0, NSRect.__typestr__) 147 148 @min_os_level('10.6') 149 def testMethods10_6(self): 150 self.assertResultIsBOOL(NSTableView.shouldFocusCell_atColumn_row_) 151 152 @min_os_level('10.7') 153 def testMethods10_7(self): 154 self.assertArgIsBOOL(NSTableView.viewAtColumn_row_makeIfNecessary_, 2) 155 self.assertArgIsBOOL(NSTableView.rowViewAtRow_makeIfNecessary_, 1) 156 157 self.assertArgIsBlock(NSTableView.enumerateAvailableRowViewsUsingBlock_, 0, b'v@' + objc._C_NSInteger) 158 159 self.assertResultIsBOOL(NSTableView.floatsGroupRows) 160 self.assertArgIsBOOL(NSTableView.setFloatsGroupRows_, 0) 161 162 def testProtocols(self): 163 self.assertResultHasType(TestNSTableViewHelper.numberOfRowsInTableView_, objc._C_NSInteger) 164 self.assertArgHasType(TestNSTableViewHelper.tableView_objectValueForTableColumn_row_, 2, objc._C_NSInteger) 165 self.assertArgHasType(TestNSTableViewHelper.tableView_setObjectValue_forTableColumn_row_, 3, objc._C_NSInteger) 166 self.assertResultIsBOOL(TestNSTableViewHelper.tableView_writeRowsWithIndexes_toPasteboard_) 167 self.assertResultHasType(TestNSTableViewHelper.tableView_validateDrop_proposedRow_proposedDropOperation_, objc._C_NSUInteger) 168 self.assertArgHasType(TestNSTableViewHelper.tableView_validateDrop_proposedRow_proposedDropOperation_, 2, objc._C_NSInteger) 169 self.assertArgHasType(TestNSTableViewHelper.tableView_validateDrop_proposedRow_proposedDropOperation_, 3, objc._C_NSUInteger) 170 self.assertResultIsBOOL(TestNSTableViewHelper.tableView_acceptDrop_row_dropOperation_) 171 self.assertArgHasType(TestNSTableViewHelper.tableView_acceptDrop_row_dropOperation_, 2, objc._C_NSInteger) 172 self.assertArgHasType(TestNSTableViewHelper.tableView_acceptDrop_row_dropOperation_, 3, objc._C_NSUInteger) 173 self.assertResultIsBOOL(TestNSTableViewHelper.tableView_writeRows_toPasteboard_) 174 175 176 self.assertArgHasType(TestNSTableViewHelper.tableView_willDisplayCell_forTableColumn_row_, 3, objc._C_NSInteger) 177 self.assertResultIsBOOL(TestNSTableViewHelper.tableView_shouldEditTableColumn_row_) 178 self.assertArgHasType(TestNSTableViewHelper.tableView_shouldEditTableColumn_row_, 2, objc._C_NSInteger) 179 self.assertResultIsBOOL(TestNSTableViewHelper.selectionShouldChangeInTableView_) 180 self.assertResultIsBOOL(TestNSTableViewHelper.tableView_shouldSelectTableColumn_) 181 self.assertArgHasType(TestNSTableViewHelper.tableView_toolTipForCell_rect_tableColumn_row_mouseLocation_, 2, b'N^' + NSRect.__typestr__) 182 self.assertArgHasType(TestNSTableViewHelper.tableView_toolTipForCell_rect_tableColumn_row_mouseLocation_, 4, objc._C_NSInteger) 183 self.assertArgHasType(TestNSTableViewHelper.tableView_toolTipForCell_rect_tableColumn_row_mouseLocation_, 5, NSPoint.__typestr__) 184 self.assertResultHasType(TestNSTableViewHelper.tableView_heightOfRow_, objc._C_CGFloat) 185 self.assertArgHasType(TestNSTableViewHelper.tableView_heightOfRow_, 1, objc._C_NSInteger) 186 self.assertArgHasType(TestNSTableViewHelper.tableView_typeSelectStringForTableColumn_row_, 2, objc._C_NSInteger) 187 self.assertResultHasType(TestNSTableViewHelper.tableView_nextTypeSelectMatchFromRow_toRow_forString_, objc._C_NSInteger) 188 self.assertArgHasType(TestNSTableViewHelper.tableView_nextTypeSelectMatchFromRow_toRow_forString_, 1, objc._C_NSInteger) 189 self.assertArgHasType(TestNSTableViewHelper.tableView_nextTypeSelectMatchFromRow_toRow_forString_, 2, objc._C_NSInteger) 190 self.assertResultIsBOOL(TestNSTableViewHelper.tableView_shouldTypeSelectForEvent_withCurrentSearchString_) 191 self.assertResultIsBOOL(TestNSTableViewHelper.tableView_shouldShowCellExpansionForTableColumn_row_) 192 self.assertArgHasType(TestNSTableViewHelper.tableView_shouldShowCellExpansionForTableColumn_row_, 2, objc._C_NSInteger) 193 self.assertResultIsBOOL(TestNSTableViewHelper.tableView_shouldTrackCell_forTableColumn_row_) 194 self.assertArgHasType(TestNSTableViewHelper.tableView_shouldTrackCell_forTableColumn_row_, 3, objc._C_NSInteger) 195 self.assertArgHasType(TestNSTableViewHelper.tableView_dataCellForTableColumn_row_, 2, objc._C_NSInteger) 196 self.assertResultIsBOOL(TestNSTableViewHelper.tableView_isGroupRow_) 197 self.assertArgHasType(TestNSTableViewHelper.tableView_isGroupRow_, 1, objc._C_NSInteger) 198 199 @min_os_level('10.6') 200 def testProtococols10_6(self): 201 self.assertResultHasType(TestNSTableViewHelper.tableView_sizeToFitWidthOfColumn_, objc._C_CGFloat) 202 self.assertArgHasType(TestNSTableViewHelper.tableView_sizeToFitWidthOfColumn_, 1, objc._C_NSInteger) 203 204 self.assertResultIsBOOL(TestNSTableViewHelper.tableView_shouldReorderColumn_toColumn_) 205 self.assertArgHasType(TestNSTableViewHelper.tableView_shouldReorderColumn_toColumn_, 1, objc._C_NSInteger) 206 self.assertArgHasType(TestNSTableViewHelper.tableView_shouldReorderColumn_toColumn_, 2, objc._C_NSInteger) 207 208 @min_os_level('10.7') 209 def testProtococols10_7(self): 210 self.assertArgHasType(TestNSTableViewHelper.tableView_viewForTableColumn_row_, 2, objc._C_NSInteger) 211 self.assertArgHasType(TestNSTableViewHelper.tableView_rowViewForRow_, 1, objc._C_NSInteger) 212 self.assertArgHasType(TestNSTableViewHelper.tableView_didAddRowView_forRow_, 2, objc._C_NSInteger) 213 self.assertArgHasType(TestNSTableViewHelper.tableView_didRemoveRowView_forRow_, 2, objc._C_NSInteger) 214 self.assertArgHasType(TestNSTableViewHelper.tableView_pastboardWriterForRow_, 1, objc._C_NSInteger) 215 self.assertArgHasType(TestNSTableViewHelper.tableView_draggingSession_willBeginAtPoint_forRowIndexes_, 2, NSPoint.__typestr__) 216 self.assertArgHasType(TestNSTableViewHelper.tableView_draggingSession_endedAtPoint_operation_, 2, NSPoint.__typestr__) 217 218 219if __name__ == "__main__": 220 main() 221