1 2from PyObjCTools.TestSupport import * 3from AppKit import * 4 5class TestNSTextViewHelper (NSObject): 6 def textView_clickedOnLink_atIndex_(self, tv, a, b): return 1 7 def textView_clickedOnCell_inRect_atIndex_(self, tv, a, b, c): return 1 8 def textView_doubleClickedOnCell_inRect_atIndex_(self, tv, a, b, c): return 1 9 def textView_draggedCell_inRect_event_atIndex_(elf, tv, a, b, c, d): return 1 10 def textView_writablePasteboardTypesForCell_atIndex_(self, tv, a, b): return 1 11 def textView_writeCell_atIndex_toPasteboard_type_(self, tv, a, b, c, d): return 1 12 def textView_willChangeSelectionFromCharacterRange_toCharacterRange_(self, tv, a, b): return 1 13 def textView_shouldChangeTextInRanges_replacementStrings_(self, tv, a, b): return 1 14 def textView_willDisplayToolTip_forCharacterAtIndex_(self, tv, a, b): return 1 15 def textView_completions_forPartialWordRange_indexOfSelectedItem_(self, tv, a, b, c): return 1 16 def textView_shouldChangeTextInRange_replacementString_(self, tv, a, b): return 1 17 def textView_doCommandBySelector_(self, tv, a): return 1 18 def textView_clickedOnLink_(self, tv, a): return 1 19 def textView_clickedOnCell_inRect_(self, tv, a, b): return 1 20 def textView_doubleClickedOnCell_inRect_(self, tv, a, b): return 1 21 def textView_draggedCell_inRect_event_(self, tv, a, b, c): return 1 22 def textView_shouldSetSpellingState_range_(self, tv, a, b): return 1 23 def textView_menu_forEvent_atIndex_(self, tv, a, b, c): return 1 24 def textView_willCheckTextInRange_options_types_(self, tv, a, b, c): return 1 25 def textView_didCheckTextInRange_types_options_results_orthography_wordCount_(self, tv, r, t, o, rs, ort, wc): return 1 26 27class TestNSTextView (TestCase): 28 def testConstants(self): 29 self.assertEqual(NSSelectByCharacter, 0) 30 self.assertEqual(NSSelectByWord, 1) 31 self.assertEqual(NSSelectByParagraph, 2) 32 self.assertEqual(NSSelectionAffinityUpstream, 0) 33 self.assertEqual(NSSelectionAffinityDownstream, 1) 34 self.assertEqual(NSFindPanelActionShowFindPanel, 1) 35 self.assertEqual(NSFindPanelActionNext, 2) 36 self.assertEqual(NSFindPanelActionPrevious, 3) 37 self.assertEqual(NSFindPanelActionReplaceAll, 4) 38 self.assertEqual(NSFindPanelActionReplace, 5) 39 self.assertEqual(NSFindPanelActionReplaceAndFind, 6) 40 self.assertEqual(NSFindPanelActionSetFindString, 7) 41 self.assertEqual(NSFindPanelActionReplaceAllInSelection, 8) 42 self.assertEqual(NSFindPanelActionSelectAll, 9) 43 self.assertEqual(NSFindPanelActionSelectAllInSelection, 10) 44 45 self.assertIsInstance(NSFindPanelSearchOptionsPboardType, unicode) 46 47 self.assertIsInstance(NSFindPanelCaseInsensitiveSearch, unicode) 48 self.assertIsInstance(NSFindPanelSubstringMatch, unicode) 49 50 self.assertEqual(NSFindPanelSubstringMatchTypeContains, 0) 51 self.assertEqual(NSFindPanelSubstringMatchTypeStartsWith, 1) 52 self.assertEqual(NSFindPanelSubstringMatchTypeFullWord, 2) 53 self.assertEqual(NSFindPanelSubstringMatchTypeEndsWith, 3) 54 55 self.assertIsInstance(NSAllRomanInputSourcesLocaleIdentifier, unicode) 56 57 self.assertIsInstance(NSTextViewWillChangeNotifyingTextViewNotification, unicode) 58 self.assertIsInstance(NSTextViewDidChangeSelectionNotification, unicode) 59 self.assertIsInstance(NSTextViewDidChangeTypingAttributesNotification, unicode) 60 61 62 def testMethods(self): 63 self.assertResultIsBOOL(NSTextView.rulerView_shouldMoveMarker_) 64 self.assertResultIsBOOL(NSTextView.rulerView_shouldAddMarker_) 65 self.assertResultIsBOOL(NSTextView.rulerView_shouldRemoveMarker_) 66 self.assertArgIsBOOL(NSTextView.setNeedsDisplayInRect_avoidAdditionalLayout_, 1) 67 self.assertArgIsBOOL(NSTextView.drawInsertionPointInRect_color_turnedOn_, 2) 68 self.assertArgIsOut(NSTextView.completionsForPartialWordRange_indexOfSelectedItem_, 1) 69 self.assertArgIsBOOL(NSTextView.insertCompletion_forPartialWordRange_movement_isFinal_, 3) 70 self.assertResultIsBOOL(NSTextView.writeSelectionToPasteboard_type_) 71 self.assertResultIsBOOL(NSTextView.writeSelectionToPasteboard_types_) 72 self.assertResultIsBOOL(NSTextView.readSelectionFromPasteboard_type_) 73 self.assertResultIsBOOL(NSTextView.readSelectionFromPasteboard_) 74 self.assertResultIsBOOL(NSTextView.dragSelectionWithEvent_offset_slideBack_) 75 self.assertArgIsBOOL(NSTextView.dragSelectionWithEvent_offset_slideBack_, 2) 76 self.assertArgIsBOOL(NSTextView.setSelectedRanges_affinity_stillSelecting_, 2) 77 self.assertArgIsBOOL(NSTextView.setSelectedRange_affinity_stillSelecting_, 2) 78 self.assertArgIsBOOL(NSTextView.updateInsertionPointStateAndRestartTimer_, 0) 79 self.assertResultIsBOOL(NSTextView.acceptsGlyphInfo) 80 self.assertArgIsBOOL(NSTextView.setAcceptsGlyphInfo_, 0) 81 self.assertArgIsBOOL(NSTextView.setRulerVisible_, 0) 82 self.assertResultIsBOOL(NSTextView.usesRuler) 83 self.assertArgIsBOOL(NSTextView.setUsesRuler_, 0) 84 self.assertResultIsBOOL(NSTextView.isContinuousSpellCheckingEnabled) 85 self.assertArgIsBOOL(NSTextView.setContinuousSpellCheckingEnabled_, 0) 86 self.assertResultIsBOOL(NSTextView.isGrammarCheckingEnabled) 87 self.assertArgIsBOOL(NSTextView.setGrammarCheckingEnabled_, 0) 88 self.assertResultIsBOOL(NSTextView.shouldChangeTextInRanges_replacementStrings_) 89 self.assertResultIsBOOL(NSTextView.shouldChangeTextInRange_replacementString_) 90 self.assertResultIsBOOL(NSTextView.usesFindPanel) 91 self.assertArgIsBOOL(NSTextView.setUsesFindPanel_, 0) 92 self.assertResultIsBOOL(NSTextView.allowsDocumentBackgroundColorChange) 93 self.assertArgIsBOOL(NSTextView.setAllowsDocumentBackgroundColorChange_, 0) 94 self.assertResultIsBOOL(NSTextView.allowsUndo) 95 self.assertArgIsBOOL(NSTextView.setAllowsUndo_, 0) 96 self.assertResultIsBOOL(NSTextView.allowsImageEditing) 97 self.assertArgIsBOOL(NSTextView.setAllowsImageEditing_, 0) 98 self.assertResultIsBOOL(NSTextView.isEditable) 99 self.assertArgIsBOOL(NSTextView.setEditable_, 0) 100 self.assertResultIsBOOL(NSTextView.isSelectable) 101 self.assertArgIsBOOL(NSTextView.setSelectable_, 0) 102 self.assertResultIsBOOL(NSTextView.isRichText) 103 self.assertArgIsBOOL(NSTextView.setRichText_, 0) 104 self.assertResultIsBOOL(NSTextView.importsGraphics) 105 self.assertArgIsBOOL(NSTextView.setImportsGraphics_, 0) 106 self.assertResultIsBOOL(NSTextView.drawsBackground) 107 self.assertArgIsBOOL(NSTextView.setDrawsBackground_, 0) 108 self.assertResultIsBOOL(NSTextView.isFieldEditor) 109 self.assertArgIsBOOL(NSTextView.setFieldEditor_, 0) 110 self.assertResultIsBOOL(NSTextView.usesFontPanel) 111 self.assertArgIsBOOL(NSTextView.setUsesFontPanel_, 0) 112 self.assertResultIsBOOL(NSTextView.isRulerVisible) 113 self.assertResultIsBOOL(NSTextView.smartInsertDeleteEnabled) 114 self.assertArgIsBOOL(NSTextView.setSmartInsertDeleteEnabled_, 0) 115 116 self.assertArgIsOut(NSTextView.dragImageForSelectionWithEvent_origin_, 1) 117 self.assertArgIsOut(NSTextView.smartInsertForString_replacingRange_beforeString_afterString_, 2) 118 self.assertArgIsOut(NSTextView.smartInsertForString_replacingRange_beforeString_afterString_, 3) 119 120 @min_os_level('10.5') 121 def testMethods10_5(self): 122 self.assertResultIsBOOL(NSTextView.displaysLinkToolTips) 123 self.assertArgIsBOOL(NSTextView.setDisplaysLinkToolTips_, 0) 124 self.assertResultIsBOOL(NSTextView.isAutomaticQuoteSubstitutionEnabled) 125 self.assertArgIsBOOL(NSTextView.setAutomaticQuoteSubstitutionEnabled_, 0) 126 self.assertResultIsBOOL(NSTextView.isAutomaticLinkDetectionEnabled) 127 self.assertArgIsBOOL(NSTextView.setAutomaticLinkDetectionEnabled_, 0) 128 129 130 def testProtocols(self): 131 self.assertResultIsBOOL(TestNSTextViewHelper.textView_clickedOnLink_atIndex_) 132 self.assertArgHasType(TestNSTextViewHelper.textView_clickedOnLink_atIndex_, 2, objc._C_NSUInteger) 133 self.assertArgHasType(TestNSTextViewHelper.textView_clickedOnCell_inRect_atIndex_, 2, NSRect.__typestr__) 134 self.assertArgHasType(TestNSTextViewHelper.textView_clickedOnCell_inRect_atIndex_, 3, objc._C_NSUInteger) 135 self.assertArgHasType(TestNSTextViewHelper.textView_doubleClickedOnCell_inRect_atIndex_, 2, NSRect.__typestr__) 136 self.assertArgHasType(TestNSTextViewHelper.textView_doubleClickedOnCell_inRect_atIndex_, 3, objc._C_NSUInteger) 137 self.assertArgHasType(TestNSTextViewHelper.textView_draggedCell_inRect_event_atIndex_, 2, NSRect.__typestr__) 138 self.assertArgHasType(TestNSTextViewHelper.textView_draggedCell_inRect_event_atIndex_, 4, objc._C_NSUInteger) 139 self.assertArgHasType(TestNSTextViewHelper.textView_writablePasteboardTypesForCell_atIndex_, 2, objc._C_NSUInteger) 140 self.assertResultIsBOOL(TestNSTextViewHelper.textView_writeCell_atIndex_toPasteboard_type_) 141 self.assertArgHasType(TestNSTextViewHelper.textView_writeCell_atIndex_toPasteboard_type_, 2, objc._C_NSUInteger) 142 self.assertArgHasType(TestNSTextViewHelper.textView_willChangeSelectionFromCharacterRange_toCharacterRange_, 1, NSRange.__typestr__) 143 self.assertArgHasType(TestNSTextViewHelper.textView_willChangeSelectionFromCharacterRange_toCharacterRange_, 2, NSRange.__typestr__) 144 self.assertResultIsBOOL(TestNSTextViewHelper.textView_shouldChangeTextInRanges_replacementStrings_) 145 self.assertArgHasType(TestNSTextViewHelper.textView_willDisplayToolTip_forCharacterAtIndex_, 2, objc._C_NSUInteger) 146 self.assertArgHasType(TestNSTextViewHelper.textView_completions_forPartialWordRange_indexOfSelectedItem_, 2, NSRange.__typestr__) 147 self.assertArgHasType(TestNSTextViewHelper.textView_completions_forPartialWordRange_indexOfSelectedItem_, 3, b'N^'+objc._C_NSInteger) 148 self.assertResultIsBOOL(TestNSTextViewHelper.textView_shouldChangeTextInRange_replacementString_) 149 self.assertArgHasType(TestNSTextViewHelper.textView_shouldChangeTextInRange_replacementString_, 1, NSRange.__typestr__) 150 self.assertResultIsBOOL(TestNSTextViewHelper.textView_doCommandBySelector_) 151 self.assertArgHasType(TestNSTextViewHelper.textView_doCommandBySelector_, 1, objc._C_SEL) 152 self.assertResultIsBOOL(TestNSTextViewHelper.textView_clickedOnLink_) 153 self.assertArgHasType(TestNSTextViewHelper.textView_clickedOnCell_inRect_, 2, NSRect.__typestr__) 154 self.assertArgHasType(TestNSTextViewHelper.textView_doubleClickedOnCell_inRect_, 2, NSRect.__typestr__) 155 self.assertArgHasType(TestNSTextViewHelper.textView_draggedCell_inRect_event_, 2, NSRect.__typestr__) 156 157 @min_os_level('10.5') 158 def testProtocols10_5(self): 159 self.assertArgHasType(TestNSTextViewHelper.textView_shouldSetSpellingState_range_, 1, objc._C_NSInteger) 160 self.assertArgHasType(TestNSTextViewHelper.textView_shouldSetSpellingState_range_, 2, NSRange.__typestr__) 161 self.assertArgHasType(TestNSTextViewHelper.textView_menu_forEvent_atIndex_, 3, objc._C_NSUInteger) 162 163 @min_os_level('10.6') 164 def testMethods10_6(self): 165 self.assertResultIsBOOL(NSTextView.isCoalescingUndo) 166 167 self.assertArgIsBOOL(NSTextView.setAutomaticDataDetectionEnabled_, 0) 168 self.assertResultIsBOOL(NSTextView.isAutomaticDataDetectionEnabled) 169 self.assertArgIsBOOL(NSTextView.setAutomaticDashSubstitutionEnabled_, 0) 170 self.assertResultIsBOOL(NSTextView.isAutomaticDashSubstitutionEnabled) 171 self.assertArgIsBOOL(NSTextView.setAutomaticTextReplacementEnabled_, 0) 172 self.assertResultIsBOOL(NSTextView.isAutomaticTextReplacementEnabled) 173 self.assertArgIsBOOL(NSTextView.setAutomaticSpellingCorrectionEnabled_, 0) 174 self.assertResultIsBOOL(NSTextView.isAutomaticSpellingCorrectionEnabled) 175 176 self.assertArgHasType(NSTextView.checkTextInRange_types_options_, 0, NSRange.__typestr__) 177 self.assertArgHasType(NSTextView.handleTextCheckingResults_forRange_types_options_orthography_wordCount_, 1, NSRange.__typestr__) 178 179 @min_os_level('10.6') 180 def testProtocols10_6(self): 181 self.assertArgHasType(TestNSTextViewHelper.textView_willCheckTextInRange_options_types_, 1, NSRange.__typestr__) 182 self.assertArgHasType(TestNSTextViewHelper.textView_willCheckTextInRange_options_types_, 3, b'N^' + objc._C_NSInteger) 183 184 self.assertArgHasType(TestNSTextViewHelper.textView_didCheckTextInRange_types_options_results_orthography_wordCount_, 1, NSRange.__typestr__) 185 self.assertArgHasType(TestNSTextViewHelper.textView_didCheckTextInRange_types_options_results_orthography_wordCount_, 2, objc._C_NSInteger) 186 self.assertArgHasType(TestNSTextViewHelper.textView_didCheckTextInRange_types_options_results_orthography_wordCount_, 6, objc._C_NSInteger) 187 188 189 190 191if __name__ == "__main__": 192 main() 193