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