1from PyObjCTools.TestSupport import * 2import objc 3 4from PyObjCTest.fsref import * 5 6""" 7@interface OC_TestFSRefHelper : NSObject 8{ 9 } 10 11-(FSRef)fsrefForPath:(NSString*)path; 12-(NSString*)pathForFSRef:(in FSRef *)fsref; 13-(void)getFSRef:(out FSRef*)fsref forPath:(NSString*)path; 14-(NSString*)stringForFSRef:(FSRef)fsref; 15 16 17 18@end 19""" 20 21 22 23class TestFSRef (TestCase): 24 def testBasicInterface(self): 25 self.failUnlessArgIsIn(OC_TestFSRefHelper.pathForFSRef_, 0) 26 self.failUnlessArgIsOut(OC_TestFSRefHelper.getFSRef_forPath_, 0) 27 28 def testResult(self): 29 o = OC_TestFSRefHelper.alloc().init() 30 ref = o.fsrefForPath_(u"/Library") 31 self.failUnlessIsInstance(ref, objc.FSRef) 32 33 self.failUnlessIsInstance(ref.data, str) 34 self.failUnlessIsInstance(ref.as_pathname(), unicode) 35 36 try: 37 from Carbon.File import FSRef 38 39 except ImportError: 40 pass 41 42 else: 43 self.failUnlessIsInstance(ref.as_carbon(), FSRef) 44 45 def testArg(self): 46 o = OC_TestFSRefHelper.alloc().init() 47 ref = o.fsrefForPath_(u"/Library") 48 self.failUnlessIsInstance(ref, objc.FSRef) 49 50 p = o.stringForFSRef_(ref) 51 self.failUnlessIsInstance(p, unicode) 52 self.failUnlessEqual(p, u"/Library") 53 54 def testInput(self): 55 o = OC_TestFSRefHelper.alloc().init() 56 ref = o.fsrefForPath_(u"/Library") 57 self.failUnlessIsInstance(ref, objc.FSRef) 58 59 p = o.pathForFSRef_(ref) 60 self.failUnlessIsInstance(p, unicode) 61 self.failUnlessEqual(p, u"/Library") 62 63 def testOutput(self): 64 o = OC_TestFSRefHelper.alloc().init() 65 ref = o.getFSRef_forPath_(None, u"/Library") 66 self.failUnlessIsInstance(ref, objc.FSRef) 67 68 # Verify the fsref contents: 69 p = o.stringForFSRef_(ref) 70 self.failUnlessIsInstance(p, unicode) 71 self.failUnlessEqual(p, u"/Library") 72 73 74if __name__ == "__main__": 75 main() 76