python-2.5.2/win32/Lib/test/test_macostools.py
changeset 0 ae805ac0140d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/python-2.5.2/win32/Lib/test/test_macostools.py	Fri Apr 03 17:19:34 2009 +0100
@@ -0,0 +1,94 @@
+# Copyright (C) 2003 Python Software Foundation
+
+import unittest
+import macostools
+import Carbon.File
+import MacOS
+import os
+import sys
+from test import test_support
+
+TESTFN2 = test_support.TESTFN + '2'
+
+class TestMacostools(unittest.TestCase):
+
+    def setUp(self):
+        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()
+
+    def tearDown(self):
+        try:
+            os.unlink(test_support.TESTFN)
+        except:
+            pass
+        try:
+            os.unlink(TESTFN2)
+        except:
+            pass
+
+    def compareData(self):
+        fp = open(test_support.TESTFN, 'r')
+        data1 = fp.read()
+        fp.close()
+        fp = open(TESTFN2, 'r')
+        data2 = fp.read()
+        fp.close()
+        if data1 != data2:
+            return 'Data forks differ'
+        rfp = MacOS.openrf(test_support.TESTFN, '*rb')
+        data1 = rfp.read(1000)
+        rfp.close()
+        rfp = MacOS.openrf(TESTFN2, '*rb')
+        data2 = rfp.read(1000)
+        rfp.close()
+        if data1 != data2:
+            return 'Resource forks differ'
+        return ''
+
+    def test_touched(self):
+        # This really only tests that nothing unforeseen happens.
+        macostools.touched(test_support.TESTFN)
+
+    def test_copy(self):
+        try:
+            os.unlink(TESTFN2)
+        except:
+            pass
+        macostools.copy(test_support.TESTFN, TESTFN2)
+        self.assertEqual(self.compareData(), '')
+
+    def test_mkalias(self):
+        try:
+            os.unlink(TESTFN2)
+        except:
+            pass
+        macostools.mkalias(test_support.TESTFN, TESTFN2)
+        fss, _, _ = Carbon.File.ResolveAliasFile(TESTFN2, 0)
+        self.assertEqual(fss.as_pathname(), os.path.realpath(test_support.TESTFN))
+
+    def test_mkalias_relative(self):
+        try:
+            os.unlink(TESTFN2)
+        except:
+            pass
+        # If the directory doesn't exist, then chances are this is a new
+        # install of Python so don't create it since the user might end up
+        # running ``sudo make install`` and creating the directory here won't
+        # leave it with the proper permissions.
+        if not os.path.exists(sys.prefix):
+            return
+        macostools.mkalias(test_support.TESTFN, TESTFN2, sys.prefix)
+        fss, _, _ = Carbon.File.ResolveAliasFile(TESTFN2, 0)
+        self.assertEqual(fss.as_pathname(), os.path.realpath(test_support.TESTFN))
+
+
+def test_main():
+    test_support.run_unittest(TestMacostools)
+
+
+if __name__ == '__main__':
+    test_main()