1import objc
2import PyObjCTest.fnd as Foundation
3from PyObjCTools.TestSupport import *
4
5class TestBundleVariables (TestCase):
6    def setUp(self):
7        self.bundle = Foundation.NSBundle.bundleForClass_(Foundation.NSBundle)
8
9    def testStrings(self):
10        d = {}
11        objc.loadBundleVariables(self.bundle, d, [
12                (u'NSAppleScriptErrorMessage', '@'),
13                (u'NSBundleDidLoadNotification', '@'),
14            ])
15
16        self.assert_(u'NSBundleDidLoadNotification' in d)
17        self.assert_(u'NSAppleScriptErrorMessage' in d)
18
19        self.assert_(isinstance(d[u'NSAppleScriptErrorMessage'], objc.pyobjc_unicode))
20        self.assert_(isinstance(d[u'NSBundleDidLoadNotification'], objc.pyobjc_unicode))
21
22    def testSimple(self):
23        d = {}
24        objc.loadBundleVariables(self.bundle, d, [
25                (u'NSDebugEnabled', objc._C_NSBOOL),
26                (u'NSFoundationVersionNumber', objc._C_DBL),
27            ])
28
29        self.assert_(u'NSDebugEnabled' in d)
30        self.assert_(u'NSFoundationVersionNumber' in d)
31
32        self.assert_(isinstance(d[u'NSFoundationVersionNumber'], float))
33        self.assert_(isinstance(d[u'NSDebugEnabled'], int))
34
35
36if __name__ == "__main__":
37    main()
38
39
40