summaryrefslogtreecommitdiff
path: root/lib/python2.7/test/test_macos.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python2.7/test/test_macos.py')
-rw-r--r--lib/python2.7/test/test_macos.py98
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()