1from AppKit import *
2from PyObjCTools.TestSupport import *
3
4
5class TestNSInputManagerHelper (NSObject):
6    def doCommandBySelector_(self, s): pass
7    def setMarkedText_selectedRange_(self, s, r): pass
8    def hasMarkedText(self): return 1
9    def conversationIdentifier(self): return 1
10    def markedRange(self): return 1
11    def selectedRange(self): return 1
12    def firstRectForCharacterRange_(self, r): return 1
13    def characterIndexForPoint_(self, r): return 1
14
15class TestNSInputManager (TestCase):
16    def testProtocols(self):
17        self.failUnlessArgIsSEL(TestNSInputManagerHelper.doCommandBySelector_, 0, 'v@:@')
18        self.failUnlessArgHasType(TestNSInputManagerHelper.setMarkedText_selectedRange_, 1, NSRange.__typestr__)
19        self.failUnlessResultIsBOOL(TestNSInputManagerHelper.hasMarkedText)
20        self.failUnlessResultHasType(TestNSInputManagerHelper.markedRange, NSRange.__typestr__)
21        self.failUnlessResultHasType(TestNSInputManagerHelper.selectedRange, NSRange.__typestr__)
22        self.failUnlessResultHasType(TestNSInputManagerHelper.firstRectForCharacterRange_, NSRect.__typestr__)
23        self.failUnlessArgHasType(TestNSInputManagerHelper.firstRectForCharacterRange_, 0, NSRange.__typestr__)
24        self.failUnlessResultHasType(TestNSInputManagerHelper.characterIndexForPoint_, objc._C_NSUInteger)
25        self.failUnlessArgHasType(TestNSInputManagerHelper.characterIndexForPoint_, 0, NSPoint.__typestr__)
26
27    def testMethods(self):
28        self.failUnlessResultIsBOOL(NSInputManager.wantsToInterpretAllKeystrokes)
29        self.failUnlessResultIsBOOL(NSInputManager.wantsToHandleMouseEvents)
30        self.failUnlessResultIsBOOL(NSInputManager.handleMouseEvent_)
31        self.failUnlessResultIsBOOL(NSInputManager.wantsToDelayTextChangeNotifications)
32
33
34if __name__ == "__main__":
35    main()
36