diff options
Diffstat (limited to 'lib/python2.7/test/test_macos.py')
-rw-r--r-- | lib/python2.7/test/test_macos.py | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/lib/python2.7/test/test_macos.py b/lib/python2.7/test/test_macos.py new file mode 100644 index 0000000..5af5105 --- /dev/null +++ b/lib/python2.7/test/test_macos.py @@ -0,0 +1,98 @@ +import unittest +from test import test_support +import os +import subprocess + +MacOS = test_support.import_module('MacOS') + +TESTFN2 = test_support.TESTFN + '2' + +class TestMacOS(unittest.TestCase): + + def testGetCreatorAndType(self): + if not os.path.exists('/Developer/Tools/SetFile'): + return + + try: + fp = open(test_support.TESTFN, 'w') + fp.write('\n') + fp.close() + + subprocess.call( + ['/Developer/Tools/SetFile', '-t', 'ABCD', '-c', 'EFGH', + test_support.TESTFN]) + + cr, tp = MacOS.GetCreatorAndType(test_support.TESTFN) + self.assertEqual(tp, 'ABCD') + self.assertEqual(cr, 'EFGH') + + finally: + os.unlink(test_support.TESTFN) + + def testSetCreatorAndType(self): + if not os.path.exists('/Developer/Tools/GetFileInfo'): + return + + try: + fp = open(test_support.TESTFN, 'w') + fp.write('\n') + fp.close() + + MacOS.SetCreatorAndType(test_support.TESTFN, + 'ABCD', 'EFGH') + + cr, tp = MacOS.GetCreatorAndType(test_support.TESTFN) + self.assertEqual(cr, 'ABCD') + self.assertEqual(tp, 'EFGH') + + data = subprocess.Popen(["/Developer/Tools/GetFileInfo", test_support.TESTFN], + stdout=subprocess.PIPE).communicate()[0] + + tp = None + cr = None + for ln in data.splitlines(): + if ln.startswith('type:'): + tp = ln.split()[-1][1:-1] + if ln.startswith('creator:'): + cr = ln.split()[-1][1:-1] + + self.assertEqual(cr, 'ABCD') + self.assertEqual(tp, 'EFGH') + + finally: + os.unlink(test_support.TESTFN) + + + def testOpenRF(self): + try: + fp = open(test_support.TESTFN, 'w') + fp.write('hello world\n') + fp.close() + + rfp = MacOS.openrf(test_support.TESTFN, '*wb') + rfp.write('goodbye world\n') + rfp.close() + + + fp = open(test_support.TESTFN, 'r') + data = fp.read() + fp.close() + self.assertEqual(data, 'hello world\n') + + rfp = MacOS.openrf(test_support.TESTFN, '*rb') + data = rfp.read(100) + data2 = rfp.read(100) + rfp.close() + self.assertEqual(data, 'goodbye world\n') + self.assertEqual(data2, '') + + + finally: + os.unlink(test_support.TESTFN) + +def test_main(): + test_support.run_unittest(TestMacOS) + + +if __name__ == '__main__': + test_main() |