1
2from PyObjCTools.TestSupport import *
3from AppKit import *
4
5class TestNSTextInputClientHelper (NSObject):
6    def insertText_replacementRange_(self, txt, rng): pass
7    def doCommandBySelector_(self, sel): pass
8    def setMarkedText_selectedRange_replacementRange_(self, txt, rng1, rng2): pass
9    def selectedRange(self): return 1
10    def markedRange(self): return 1
11    def hasMarkedText(self): return 1
12    def attributedSubstringForProposedRange_actualRange_(self, rng1, rng2): return 1
13    def firstRectForCharacterRange_actualRange_(self, rng1, rng2): return 1
14    def characterIndexForPoint_(self, pt): return 1
15    def fractionOfDistanceThroughGlyphForPoint_(self, pt): return 1
16    def baselineDeltaForCharacterAtIndex_(self, idx): return 1
17    def windowLevel(self): return 1
18
19
20class TestNSTextInputClient (TestCase):
21
22    @min_os_level("10.5")
23    def testMethods(self):
24        self.failUnlessArgHasType(TestNSTextInputClientHelper.insertText_replacementRange_, 1, NSRange.__typestr__)
25        self.failUnlessArgHasType(TestNSTextInputClientHelper.doCommandBySelector_, 0,  objc._C_SEL)
26        self.failUnlessArgHasType(TestNSTextInputClientHelper.setMarkedText_selectedRange_replacementRange_, 1, NSRange.__typestr__)
27        self.failUnlessArgHasType(TestNSTextInputClientHelper.setMarkedText_selectedRange_replacementRange_, 2, NSRange.__typestr__)
28        self.failUnlessResultHasType(TestNSTextInputClientHelper.selectedRange, NSRange.__typestr__)
29        self.failUnlessResultHasType(TestNSTextInputClientHelper.markedRange, NSRange.__typestr__)
30        self.failUnlessResultIsBOOL(TestNSTextInputClientHelper.hasMarkedText)
31        self.failUnlessArgHasType(TestNSTextInputClientHelper.attributedSubstringForProposedRange_actualRange_, 0, NSRange.__typestr__)
32        self.failUnlessArgHasType(TestNSTextInputClientHelper.attributedSubstringForProposedRange_actualRange_, 1, 'o^' + NSRange.__typestr__)
33        self.failUnlessResultHasType(TestNSTextInputClientHelper.firstRectForCharacterRange_actualRange_, NSRect.__typestr__)
34        self.failUnlessArgHasType(TestNSTextInputClientHelper.firstRectForCharacterRange_actualRange_, 0, NSRange.__typestr__)
35        self.failUnlessArgHasType(TestNSTextInputClientHelper.firstRectForCharacterRange_actualRange_, 1, 'o^' + NSRange.__typestr__)
36        self.failUnlessResultHasType(TestNSTextInputClientHelper.characterIndexForPoint_, objc._C_NSUInteger)
37        self.failUnlessArgHasType(TestNSTextInputClientHelper.characterIndexForPoint_, 0, NSPoint.__typestr__)
38        self.failUnlessResultHasType(TestNSTextInputClientHelper.fractionOfDistanceThroughGlyphForPoint_, objc._C_CGFloat)
39        self.failUnlessArgHasType(TestNSTextInputClientHelper.fractionOfDistanceThroughGlyphForPoint_, 0, NSPoint.__typestr__)
40        self.failUnlessResultHasType(TestNSTextInputClientHelper.baselineDeltaForCharacterAtIndex_, objc._C_CGFloat)
41        self.failUnlessArgHasType(TestNSTextInputClientHelper.baselineDeltaForCharacterAtIndex_, 0, objc._C_NSUInteger)
42        self.failUnlessResultHasType(TestNSTextInputClientHelper.windowLevel, objc._C_NSInteger)
43
44
45if __name__ == "__main__":
46    main()
47