1from PyObjCTools.TestSupport import * 2 3from Foundation import * 4import Foundation 5 6class TestNSBundle (TestCase): 7 def testOutput(self): 8 obj = NSBundle.mainBundle() 9 10 m = obj.preflightAndReturnError_.__metadata__() 11 self.assertTrue(m['arguments'][2]['type'].startswith(b'o^')) 12 13 m = obj.loadAndReturnError_.__metadata__() 14 self.assertTrue(m['arguments'][2]['type'].startswith(b'o^')) 15 16 def testMethods(self): 17 b = NSBundle.mainBundle() 18 # Test on an instance because NSBundle has class methods 19 # that interfere with this test 20 self.assertResultIsBOOL(b.load) 21 self.assertResultIsBOOL(b.isLoaded) 22 self.assertResultIsBOOL(b.unload) 23 24 @min_os_level('10.5') 25 def testMethods10_5(self): 26 self.assertResultIsBOOL(NSBundle.preflightAndReturnError_) 27 self.assertArgIsOut(NSBundle.preflightAndReturnError_, 0) 28 self.assertResultIsBOOL(NSBundle.loadAndReturnError_) 29 self.assertArgIsOut(NSBundle.loadAndReturnError_, 0) 30 31 def testConstants(self): 32 self.assertEqual(NSBundleExecutableArchitectureI386, 0x00000007) 33 self.assertEqual(NSBundleExecutableArchitecturePPC, 0x00000012) 34 self.assertEqual(NSBundleExecutableArchitectureX86_64, 0x01000007) 35 self.assertEqual(NSBundleExecutableArchitecturePPC64, 0x01000012) 36 37 self.assertIsInstance(NSBundleDidLoadNotification, unicode) 38 self.assertIsInstance(NSLoadedClasses, unicode) 39 def testDefines(self): 40 self.assertHasAttr(Foundation, 'NSLocalizedString') 41 self.assertHasAttr(Foundation, 'NSLocalizedStringFromTable') 42 self.assertHasAttr(Foundation, 'NSLocalizedStringFromTableInBundle') 43 self.assertHasAttr(Foundation, 'NSLocalizedStringWithDefaultValue') 44if __name__ == "__main__": 45 main() 46