1from PyObjCTools.TestSupport import * 2import objc 3NSObject = objc.lookUpClass("NSObject") 4NSSortDescriptor = objc.lookUpClass("NSSortDescriptor") 5 6objc.registerMetaDataForSelector(b"NSObject", b"selector", 7 dict( 8 retval=dict(type=objc._C_VOID) 9 )) 10 11 12class MetadataInheritanceHelper (NSObject): 13 def selector(self): return 14 15class TestMetadataInheritance (TestCase): 16 17 # These tests that PyObjC's signatures overrides don't 18 # kick in when the new signature is incompatible with 19 # the native signature. 20 def testPythonMeta(self): 21 o = MetadataInheritanceHelper.alloc().init() 22 self.assertResultHasType(o.selector, objc._C_VOID) 23 24 def testObjCMeta(self): 25 o = NSSortDescriptor.alloc().init() 26 self.assertResultHasType(o.selector, objc._C_SEL) 27 28 29if __name__ == "__main__": 30 main() 31