1''' 2Some simple tests to check that the framework is properly wrapped. 3''' 4import objc 5from PyObjCTools.TestSupport import * 6import Foundation 7import os 8 9try: 10 long 11except NameError: 12 long = int 13 14 15class TestFoundation (TestCase): 16 def testValues(self): 17 self.assert_( hasattr(Foundation, 'NSTimeIntervalSince1970') ) 18 self.assert_( isinstance(Foundation.NSTimeIntervalSince1970, float) ) 19 self.assertEqual(Foundation.NSTimeIntervalSince1970, 978307200.0) 20 21 if int(os.uname()[2].split('.')[0]) < 9: 22 self.assert_( hasattr(Foundation, 'NSMaximumStringLength') ) 23 self.assert_( isinstance(Foundation.NSMaximumStringLength, (int, long)) ) 24 self.assert_( hasattr(Foundation, 'NSURLResponseUnknownLength') ) 25 self.assert_( isinstance(Foundation.NSURLResponseUnknownLength, (int, long)) ) 26 27 def testFunctions(self): 28 self.assert_( hasattr(Foundation, 'NSStringFromSelector') ) 29 30 def testProtocols(self): 31 self.assert_( hasattr(Foundation, 'protocols') ) 32 33 for nm in [ 34 'NSArchiverCallback', 35 'NSClassDescriptionPrimitives', 36 'NSComparisonMethods', 37 #'NSConnectionDelegateMethods', 38 'NSCopyLinkMoveHandler', 39 'NSDelayedPerforming', 40 #'NSDistantObjectRequestMethods', 41 'NSDistributedObjects', 42 'NSErrorRecoveryAttempting', 43 'NSKeyValueCoding', 44 'NSKeyValueObserverNotification', 45 'NSKeyValueObserverRegistration', 46 'NSKeyValueObserving', 47 'NSKeyValueObservingCustomization', 48 #'NSKeyedArchiverDelegate', 49 'NSKeyedArchiverObjectSubstitution', 50 ]: 51 52 self.assert_( hasattr(Foundation.protocols, nm), 'protocol %s'%(nm,)) 53 self.assert_( isinstance(getattr(Foundation.protocols, nm), objc.informal_protocol) ) 54 55 def test_structs(self): 56 self.assert_( hasattr(Foundation, 'NSPoint') ) 57 o = Foundation.NSPoint() 58 self.assert_( hasattr(o, 'x') ) 59 self.assert_( hasattr(o, 'y') ) 60 61 self.assert_( hasattr(Foundation, 'NSSize') ) 62 o = Foundation.NSSize() 63 self.assert_( hasattr(o, 'width') ) 64 self.assert_( hasattr(o, 'height') ) 65 66 self.assert_( hasattr(Foundation, 'NSRange') ) 67 o = Foundation.NSRange() 68 self.assert_( hasattr(o, 'location') ) 69 self.assert_( hasattr(o, 'length') ) 70 71 self.assert_( hasattr(Foundation, 'NSRect') ) 72 o = Foundation.NSRect() 73 self.assert_( hasattr(o, 'origin') ) 74 self.assert_( hasattr(o, 'size') ) 75 self.assert_( isinstance(o.origin, Foundation.NSPoint) ) 76 self.assert_( isinstance(o.size, Foundation.NSSize) ) 77 78 self.assert_( hasattr(Foundation, 'NSAffineTransformStruct') ) 79 o = Foundation.NSAffineTransformStruct() 80 self.assert_( hasattr(o, 'm11') ) 81 self.assert_( hasattr(o, 'm12') ) 82 self.assert_( hasattr(o, 'm21') ) 83 self.assert_( hasattr(o, 'm22') ) 84 self.assert_( hasattr(o, 'tX') ) 85 self.assert_( hasattr(o, 'tY') ) 86 87 88if __name__ == "__main__": 89 main() 90