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 25class TestNSTextView (TestCase): 26 def testConstants(self): 27 self.failUnlessEqual(NSSelectByCharacter, 0) 28 self.failUnlessEqual(NSSelectByWord, 1) 29 self.failUnlessEqual(NSSelectByParagraph, 2) 30 self.failUnlessEqual(NSSelectionAffinityUpstream, 0) 31 self.failUnlessEqual(NSSelectionAffinityDownstream, 1) 32 self.failUnlessEqual(NSFindPanelActionShowFindPanel, 1) 33 self.failUnlessEqual(NSFindPanelActionNext, 2) 34 self.failUnlessEqual(NSFindPanelActionPrevious, 3) 35 self.failUnlessEqual(NSFindPanelActionReplaceAll, 4) 36 self.failUnlessEqual(NSFindPanelActionReplace, 5) 37 self.failUnlessEqual(NSFindPanelActionReplaceAndFind, 6) 38 self.failUnlessEqual(NSFindPanelActionSetFindString, 7) 39 self.failUnlessEqual(NSFindPanelActionReplaceAllInSelection, 8) 40 self.failUnlessEqual(NSFindPanelActionSelectAll, 9) 41 self.failUnlessEqual(NSFindPanelActionSelectAllInSelection, 10) 42 43 self.failUnlessIsInstance(NSFindPanelSearchOptionsPboardType, unicode) 44 45 self.failUnlessIsInstance(NSFindPanelCaseInsensitiveSearch, unicode) 46 self.failUnlessIsInstance(NSFindPanelSubstringMatch, unicode) 47 48 self.failUnlessEqual(NSFindPanelSubstringMatchTypeContains, 0) 49 self.failUnlessEqual(NSFindPanelSubstringMatchTypeStartsWith, 1) 50 self.failUnlessEqual(NSFindPanelSubstringMatchTypeFullWord, 2) 51 self.failUnlessEqual(NSFindPanelSubstringMatchTypeEndsWith, 3) 52 53 self.failUnlessIsInstance(NSAllRomanInputSourcesLocaleIdentifier, unicode) 54 55 self.failUnlessIsInstance(NSTextViewWillChangeNotifyingTextViewNotification, unicode) 56 self.failUnlessIsInstance(NSTextViewDidChangeSelectionNotification, unicode) 57 self.failUnlessIsInstance(NSTextViewDidChangeTypingAttributesNotification, unicode) 58 59 60 def testMethods(self): 61 self.failUnlessResultIsBOOL(NSTextView.rulerView_shouldMoveMarker_) 62 self.failUnlessResultIsBOOL(NSTextView.rulerView_shouldAddMarker_) 63 self.failUnlessResultIsBOOL(NSTextView.rulerView_shouldRemoveMarker_) 64 self.failUnlessArgIsBOOL(NSTextView.setNeedsDisplayInRect_avoidAdditionalLayout_, 1) 65 self.failUnlessArgIsBOOL(NSTextView.drawInsertionPointInRect_color_turnedOn_, 2) 66 self.failUnlessArgIsOut(NSTextView.completionsForPartialWordRange_indexOfSelectedItem_, 1) 67 self.failUnlessArgIsBOOL(NSTextView.insertCompletion_forPartialWordRange_movement_isFinal_, 3) 68 self.failUnlessResultIsBOOL(NSTextView.writeSelectionToPasteboard_type_) 69 self.failUnlessResultIsBOOL(NSTextView.writeSelectionToPasteboard_types_) 70 self.failUnlessResultIsBOOL(NSTextView.readSelectionFromPasteboard_type_) 71 self.failUnlessResultIsBOOL(NSTextView.readSelectionFromPasteboard_) 72 self.failUnlessResultIsBOOL(NSTextView.dragSelectionWithEvent_offset_slideBack_) 73 self.failUnlessArgIsBOOL(NSTextView.dragSelectionWithEvent_offset_slideBack_, 2) 74 self.failUnlessArgIsBOOL(NSTextView.setSelectedRanges_affinity_stillSelecting_, 2) 75 self.failUnlessArgIsBOOL(NSTextView.setSelectedRange_affinity_stillSelecting_, 2) 76 self.failUnlessArgIsBOOL(NSTextView.updateInsertionPointStateAndRestartTimer_, 0) 77 self.failUnlessResultIsBOOL(NSTextView.acceptsGlyphInfo) 78 self.failUnlessArgIsBOOL(NSTextView.setAcceptsGlyphInfo_, 0) 79 self.failUnlessArgIsBOOL(NSTextView.setRulerVisible_, 0) 80 self.failUnlessResultIsBOOL(NSTextView.usesRuler) 81 self.failUnlessArgIsBOOL(NSTextView.setUsesRuler_, 0) 82 self.failUnlessResultIsBOOL(NSTextView.isContinuousSpellCheckingEnabled) 83 self.failUnlessArgIsBOOL(NSTextView.setContinuousSpellCheckingEnabled_, 0) 84 self.failUnlessResultIsBOOL(NSTextView.isGrammarCheckingEnabled) 85 self.failUnlessArgIsBOOL(NSTextView.setGrammarCheckingEnabled_, 0) 86 self.failUnlessResultIsBOOL(NSTextView.shouldChangeTextInRanges_replacementStrings_) 87 self.failUnlessResultIsBOOL(NSTextView.shouldChangeTextInRange_replacementString_) 88 self.failUnlessResultIsBOOL(NSTextView.usesFindPanel) 89 self.failUnlessArgIsBOOL(NSTextView.setUsesFindPanel_, 0) 90 self.failUnlessResultIsBOOL(NSTextView.allowsDocumentBackgroundColorChange) 91 self.failUnlessArgIsBOOL(NSTextView.setAllowsDocumentBackgroundColorChange_, 0) 92 self.failUnlessResultIsBOOL(NSTextView.allowsUndo) 93 self.failUnlessArgIsBOOL(NSTextView.setAllowsUndo_, 0) 94 self.failUnlessResultIsBOOL(NSTextView.allowsImageEditing) 95 self.failUnlessArgIsBOOL(NSTextView.setAllowsImageEditing_, 0) 96 self.failUnlessResultIsBOOL(NSTextView.isEditable) 97 self.failUnlessArgIsBOOL(NSTextView.setEditable_, 0) 98 self.failUnlessResultIsBOOL(NSTextView.isSelectable) 99 self.failUnlessArgIsBOOL(NSTextView.setSelectable_, 0) 100 self.failUnlessResultIsBOOL(NSTextView.isRichText) 101 self.failUnlessArgIsBOOL(NSTextView.setRichText_, 0) 102 self.failUnlessResultIsBOOL(NSTextView.importsGraphics) 103 self.failUnlessArgIsBOOL(NSTextView.setImportsGraphics_, 0) 104 self.failUnlessResultIsBOOL(NSTextView.drawsBackground) 105 self.failUnlessArgIsBOOL(NSTextView.setDrawsBackground_, 0) 106 self.failUnlessResultIsBOOL(NSTextView.isFieldEditor) 107 self.failUnlessArgIsBOOL(NSTextView.setFieldEditor_, 0) 108 self.failUnlessResultIsBOOL(NSTextView.usesFontPanel) 109 self.failUnlessArgIsBOOL(NSTextView.setUsesFontPanel_, 0) 110 self.failUnlessResultIsBOOL(NSTextView.isRulerVisible) 111 self.failUnlessResultIsBOOL(NSTextView.smartInsertDeleteEnabled) 112 self.failUnlessArgIsBOOL(NSTextView.setSmartInsertDeleteEnabled_, 0) 113 114 self.failUnlessArgIsOut(NSTextView.dragImageForSelectionWithEvent_origin_, 1) 115 self.failUnlessArgIsOut(NSTextView.smartInsertForString_replacingRange_beforeString_afterString_, 2) 116 self.failUnlessArgIsOut(NSTextView.smartInsertForString_replacingRange_beforeString_afterString_, 3) 117 118 @min_os_level('10.5') 119 def testMethods10_5(self): 120 self.failUnlessResultIsBOOL(NSTextView.displaysLinkToolTips) 121 self.failUnlessArgIsBOOL(NSTextView.setDisplaysLinkToolTips_, 0) 122 self.failUnlessResultIsBOOL(NSTextView.isAutomaticQuoteSubstitutionEnabled) 123 self.failUnlessArgIsBOOL(NSTextView.setAutomaticQuoteSubstitutionEnabled_, 0) 124 self.failUnlessResultIsBOOL(NSTextView.isAutomaticLinkDetectionEnabled) 125 self.failUnlessArgIsBOOL(NSTextView.setAutomaticLinkDetectionEnabled_, 0) 126 127 128 def testProtocols(self): 129 self.failUnlessResultIsBOOL(TestNSTextViewHelper.textView_clickedOnLink_atIndex_) 130 self.failUnlessArgHasType(TestNSTextViewHelper.textView_clickedOnLink_atIndex_, 2, objc._C_NSUInteger) 131 self.failUnlessArgHasType(TestNSTextViewHelper.textView_clickedOnCell_inRect_atIndex_, 2, NSRect.__typestr__) 132 self.failUnlessArgHasType(TestNSTextViewHelper.textView_clickedOnCell_inRect_atIndex_, 3, objc._C_NSUInteger) 133 self.failUnlessArgHasType(TestNSTextViewHelper.textView_doubleClickedOnCell_inRect_atIndex_, 2, NSRect.__typestr__) 134 self.failUnlessArgHasType(TestNSTextViewHelper.textView_doubleClickedOnCell_inRect_atIndex_, 3, objc._C_NSUInteger) 135 self.failUnlessArgHasType(TestNSTextViewHelper.textView_draggedCell_inRect_event_atIndex_, 2, NSRect.__typestr__) 136 self.failUnlessArgHasType(TestNSTextViewHelper.textView_draggedCell_inRect_event_atIndex_, 4, objc._C_NSUInteger) 137 self.failUnlessArgHasType(TestNSTextViewHelper.textView_writablePasteboardTypesForCell_atIndex_, 2, objc._C_NSUInteger) 138 self.failUnlessResultIsBOOL(TestNSTextViewHelper.textView_writeCell_atIndex_toPasteboard_type_) 139 self.failUnlessArgHasType(TestNSTextViewHelper.textView_writeCell_atIndex_toPasteboard_type_, 2, objc._C_NSUInteger) 140 self.failUnlessArgHasType(TestNSTextViewHelper.textView_willChangeSelectionFromCharacterRange_toCharacterRange_, 1, NSRange.__typestr__) 141 self.failUnlessArgHasType(TestNSTextViewHelper.textView_willChangeSelectionFromCharacterRange_toCharacterRange_, 2, NSRange.__typestr__) 142 self.failUnlessResultIsBOOL(TestNSTextViewHelper.textView_shouldChangeTextInRanges_replacementStrings_) 143 self.failUnlessArgHasType(TestNSTextViewHelper.textView_willDisplayToolTip_forCharacterAtIndex_, 2, objc._C_NSUInteger) 144 self.failUnlessArgHasType(TestNSTextViewHelper.textView_completions_forPartialWordRange_indexOfSelectedItem_, 2, NSRange.__typestr__) 145 self.failUnlessArgHasType(TestNSTextViewHelper.textView_completions_forPartialWordRange_indexOfSelectedItem_, 3, 'N^'+objc._C_NSInteger) 146 self.failUnlessResultIsBOOL(TestNSTextViewHelper.textView_shouldChangeTextInRange_replacementString_) 147 self.failUnlessArgHasType(TestNSTextViewHelper.textView_shouldChangeTextInRange_replacementString_, 1, NSRange.__typestr__) 148 self.failUnlessResultIsBOOL(TestNSTextViewHelper.textView_doCommandBySelector_) 149 self.failUnlessArgHasType(TestNSTextViewHelper.textView_doCommandBySelector_, 1, objc._C_SEL) 150 self.failUnlessResultIsBOOL(TestNSTextViewHelper.textView_clickedOnLink_) 151 self.failUnlessArgHasType(TestNSTextViewHelper.textView_clickedOnCell_inRect_, 2, NSRect.__typestr__) 152 self.failUnlessArgHasType(TestNSTextViewHelper.textView_doubleClickedOnCell_inRect_, 2, NSRect.__typestr__) 153 self.failUnlessArgHasType(TestNSTextViewHelper.textView_draggedCell_inRect_event_, 2, NSRect.__typestr__) 154 155 @min_os_level('10.5') 156 def testProtocols10_5(self): 157 self.failUnlessArgHasType(TestNSTextViewHelper.textView_shouldSetSpellingState_range_, 1, objc._C_NSInteger) 158 self.failUnlessArgHasType(TestNSTextViewHelper.textView_shouldSetSpellingState_range_, 2, NSRange.__typestr__) 159 self.failUnlessArgHasType(TestNSTextViewHelper.textView_menu_forEvent_atIndex_, 3, objc._C_NSUInteger) 160 161 162 163 164if __name__ == "__main__": 165 main() 166