1from __future__ import unicode_literals 2from PyObjCTools.TestSupport import * 3import objc 4 5from PyObjCTest.fsref import * 6 7import sys 8if sys.version_info[0] == 3: 9 unicode = str 10 11class TestFSRef (TestCase): 12 def testBasicInterface(self): 13 self.assertArgIsIn(OC_TestFSRefHelper.pathForFSRef_, 0) 14 self.assertArgIsOut(OC_TestFSRefHelper.getFSRef_forPath_, 0) 15 16 def testResult(self): 17 o = OC_TestFSRefHelper.alloc().init() 18 ref = o.fsrefForPath_("/Library") 19 self.assertIsInstance(ref, objc.FSRef) 20 21 self.assertIsInstance(ref.data, bytes) 22 self.assertIsInstance(ref.as_pathname(), unicode) 23 24 try: 25 from Carbon.File import FSRef 26 27 except ImportError: 28 pass 29 30 else: 31 self.assertIsInstance(ref.as_carbon(), FSRef) 32 33 def testArg(self): 34 o = OC_TestFSRefHelper.alloc().init() 35 ref = o.fsrefForPath_("/Library") 36 self.assertIsInstance(ref, objc.FSRef) 37 38 p = o.stringForFSRef_(ref) 39 self.assertIsInstance(p, unicode) 40 self.assertEqual(p, "/Library") 41 42 def testInput(self): 43 o = OC_TestFSRefHelper.alloc().init() 44 ref = o.fsrefForPath_("/Library") 45 self.assertIsInstance(ref, objc.FSRef) 46 47 p = o.pathForFSRef_(ref) 48 self.assertIsInstance(p, unicode) 49 self.assertEqual(p, "/Library") 50 51 def testOutput(self): 52 o = OC_TestFSRefHelper.alloc().init() 53 ref = o.getFSRef_forPath_(None, "/Library") 54 self.assertIsInstance(ref, objc.FSRef) 55 56 # Verify the fsref contents: 57 p = o.stringForFSRef_(ref) 58 self.assertIsInstance(p, unicode) 59 self.assertEqual(p, "/Library") 60 61 62if __name__ == "__main__": 63 main() 64