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