1from PyObjCTools.TestSupport import * 2 3import AppKit 4 5try: 6 unicode 7except NameError: 8 unicode = str 9 10class FindHelper (AppKit.NSObject): 11 def isSelectable(self): pass 12 def allowsMultipleSelection(self): pass 13 def isEditable(self): pass 14 def stringAtIndex_effectiveRange_endswithSearchBoundary_(self, a, b, c): pass 15 def firstSelectedRange(self): pass 16 def scrollRangeToVisible_(self, a): pass 17 def shouldReplaceCharactersInRanges_withStrings_(self, a, b): pass 18 def contentViewAtIndex_effectiveCharacterRange_(self, a, b): pass 19 def drawCharactersInRange_forContentView_(self, a, b): pass 20 def isFindBarVisible(self): return 1 21 def setFindBarVisible_(self, a): pass 22 23class TestNSTextFinder (TestCase): 24 @min_os_level('10.7') 25 def testConstants10_7(self): 26 self.assertEqual(AppKit.NSTextFinderActionShowFindInterface, 1) 27 self.assertEqual(AppKit.NSTextFinderActionNextMatch, 2) 28 self.assertEqual(AppKit.NSTextFinderActionPreviousMatch, 3) 29 self.assertEqual(AppKit.NSTextFinderActionReplaceAll, 4) 30 self.assertEqual(AppKit.NSTextFinderActionReplace, 5) 31 self.assertEqual(AppKit.NSTextFinderActionReplaceAndFind, 6) 32 self.assertEqual(AppKit.NSTextFinderActionSetSearchString, 7) 33 self.assertEqual(AppKit.NSTextFinderActionReplaceAllInSelection, 8) 34 self.assertEqual(AppKit.NSTextFinderActionSelectAll, 9) 35 self.assertEqual(AppKit.NSTextFinderActionSelectAllInSelection, 10) 36 self.assertEqual(AppKit.NSTextFinderActionHideFindInterface, 11) 37 self.assertEqual(AppKit.NSTextFinderActionShowReplaceInterface, 12) 38 self.assertEqual(AppKit.NSTextFinderActionHideReplaceInterface, 13) 39 40 self.assertIsInstance(AppKit.NSTextFinderCaseInsensitiveKey, unicode) 41 self.assertIsInstance(AppKit.NSTextFinderMatchingTypeKey, unicode) 42 43 self.assertEqual(AppKit.NSTextFinderMatchingTypeContains, 0) 44 self.assertEqual(AppKit.NSTextFinderMatchingTypeStartsWith, 1) 45 self.assertEqual(AppKit.NSTextFinderMatchingTypeFullWord, 2) 46 self.assertEqual(AppKit.NSTextFinderMatchingTypeEndsWith, 3) 47 48 @min_os_level('10.7') 49 def testMethods10_7(self): 50 self.assertResultIsBOOL(AppKit.NSTextFinder.validateAction_) 51 self.assertResultIsBOOL(AppKit.NSTextFinder.findIndicatorNeedsUpdate) 52 self.assertArgIsBOOL(AppKit.NSTextFinder.setFindIndicatorNeedsUpdate_, 0) 53 self.assertResultIsBOOL(AppKit.NSTextFinder.isIncrementalSearchingEnabled) 54 self.assertArgIsBOOL(AppKit.NSTextFinder.setIncrementalSearchingEnabled_, 0) 55 self.assertResultIsBOOL(AppKit.NSTextFinder.incrementalSearchingShouldDimContentView) 56 self.assertArgIsBOOL(AppKit.NSTextFinder.setIncrementalSearchingShouldDimContentView_, 0) 57 58 @min_os_level('10.7') 59 def testProtocol10_7(self): 60 self.assertResultIsBOOL(FindHelper.isSelectable) 61 self.assertResultIsBOOL(FindHelper.allowsMultipleSelection) 62 self.assertResultIsBOOL(FindHelper.isEditable) 63 64 self.assertArgHasType(FindHelper.stringAtIndex_effectiveRange_endswithSearchBoundary_, 0, objc._C_NSUInteger) 65 self.assertArgHasType(FindHelper.stringAtIndex_effectiveRange_endswithSearchBoundary_, 1, b'o^' + AppKit.NSRange.__typestr__) 66 self.assertArgHasType(FindHelper.stringAtIndex_effectiveRange_endswithSearchBoundary_, 2, b'o^' + objc._C_NSBOOL) 67 68 self.assertResultHasType(FindHelper.firstSelectedRange, AppKit.NSRange.__typestr__) 69 self.assertArgHasType(FindHelper.scrollRangeToVisible_, 0, AppKit.NSRange.__typestr__) 70 self.assertResultIsBOOL(FindHelper.shouldReplaceCharactersInRanges_withStrings_) 71 self.assertArgHasType(FindHelper.contentViewAtIndex_effectiveCharacterRange_, 0, objc._C_NSUInteger) 72 self.assertArgHasType(FindHelper.contentViewAtIndex_effectiveCharacterRange_, 1, b'o^' + AppKit.NSRange.__typestr__) 73 self.assertArgHasType(FindHelper.drawCharactersInRange_forContentView_, 0, AppKit.NSRange.__typestr__) 74 75 self.assertResultIsBOOL(FindHelper.isFindBarVisible) 76 self.assertArgIsBOOL(FindHelper.setFindBarVisible_, 0) 77 78 79if __name__ == "__main__": 80 main() 81