1'''
2Some simple tests to check that the framework is properly wrapped.
3'''
4import objc
5import unittest
6import InputMethodKit
7
8class TestInputMethodKit (unittest.TestCase):
9    def testClasses(self):
10
11        self.assert_( hasattr(InputMethodKit, 'IMKInputController') )
12        self.assert_( isinstance(InputMethodKit.IMKInputController, objc.objc_class) )
13
14        # 10.5
15        self.assert_( hasattr(InputMethodKit, 'IMKCandidates') )
16        self.assert_( isinstance(InputMethodKit.IMKCandidates, objc.objc_class) )
17    def testValues(self):
18        self.assert_( hasattr(InputMethodKit, 'kIMKScrollingGridCandidatePanel') )
19        self.assert_( isinstance(InputMethodKit.kIMKScrollingGridCandidatePanel, (int, long)) )
20        self.assertEquals(InputMethodKit.kIMKScrollingGridCandidatePanel, 2)
21
22    def testVariables(self):
23        self.assert_( hasattr(InputMethodKit, 'IMKCandidatesOpacityAttributeName') )
24        self.assert_( isinstance(InputMethodKit.IMKCandidatesOpacityAttributeName, unicode) )
25
26    def testProtocols(self):
27        self.assert_( hasattr(InputMethodKit, 'protocols') )
28        self.assert_( hasattr(InputMethodKit.protocols, 'IMKServerInput') )
29        self.assert_( isinstance(InputMethodKit.protocols.IMKServerInput, objc.informal_protocol) )
30
31
32
33if __name__ == "__main__":
34    unittest.main()
35
36