1
2from PyObjCTools.TestSupport import *
3from AppKit import *
4
5try:
6    unicode
7except NameError:
8    unicode = str
9
10class TestNSControlHelper (NSObject):
11    def control_textShouldBeginEditing_(self, c, f): return 1
12    def control_textShouldEndEditing_(self, c, f): return 1
13    def control_didFailToFormatString_errorDescription_(self, c, s, e): return 1
14    def control_isValidObject_(self, c, s): return 1
15    def control_textView_doCommandBySelector_(self, c, t, com): return 1
16
17class TestNSControl (TestCase):
18    @min_os_level('10.8')
19    def testMethods10_8(self):
20        self.assertResultIsBOOL(NSControl.allowsExpansionToolTips)
21        self.assertArgIsBOOL(NSControl.setAllowsExpansionToolTips_, 0)
22
23    def testMethods(self):
24        self.assertResultIsBOOL(NSControl.ignoresMultiClick)
25        self.assertArgIsBOOL(NSControl.setIgnoresMultiClick_, 0)
26        self.assertResultIsBOOL(NSControl.isContinuous)
27        self.assertArgIsBOOL(NSControl.setContinuous_, 0)
28        self.assertResultIsBOOL(NSControl.isEnabled)
29        self.assertArgIsBOOL(NSControl.setEnabled_, 0)
30        self.assertArgIsBOOL(NSControl.setFloatingPointFormat_left_right_, 0)
31        self.assertResultIsBOOL(NSControl.sendAction_to_)
32        self.assertResultIsBOOL(NSControl.abortEditing)
33        self.assertResultIsBOOL(NSControl.refusesFirstResponder)
34        self.assertArgIsBOOL(NSControl.setRefusesFirstResponder_, 0)
35
36    def testDelegate(self):
37        self.assertResultIsBOOL(TestNSControlHelper.control_textShouldBeginEditing_)
38        self.assertResultIsBOOL(TestNSControlHelper.control_textShouldEndEditing_)
39        self.assertResultIsBOOL(TestNSControlHelper.control_didFailToFormatString_errorDescription_)
40        self.assertResultIsBOOL(TestNSControlHelper.control_isValidObject_)
41        self.assertResultIsBOOL(TestNSControlHelper.control_textView_doCommandBySelector_)
42
43    def testConstants(self):
44        self.assertIsInstance(NSControlTextDidBeginEditingNotification, unicode)
45        self.assertIsInstance(NSControlTextDidEndEditingNotification, unicode)
46        self.assertIsInstance(NSControlTextDidChangeNotification, unicode)
47
48if __name__ == "__main__":
49    main()
50