summaryrefslogtreecommitdiff
path: root/lib/python2.7/test/test_applesingle.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python2.7/test/test_applesingle.py')
-rw-r--r--lib/python2.7/test/test_applesingle.py71
1 files changed, 71 insertions, 0 deletions
diff --git a/lib/python2.7/test/test_applesingle.py b/lib/python2.7/test/test_applesingle.py
new file mode 100644
index 0000000..1beffe0
--- /dev/null
+++ b/lib/python2.7/test/test_applesingle.py
@@ -0,0 +1,71 @@
+# Copyright (C) 2003 Python Software Foundation
+
+import unittest
+import os
+from test import test_support
+import struct
+
+MacOS = test_support.import_module('MacOS')
+# The following should exist if MacOS does.
+import applesingle
+
+AS_MAGIC=0x00051600
+AS_VERSION=0x00020000
+dataforkdata = 'hello\r\0world\n'
+resourceforkdata = 'goodbye\ncruel\0world\r'
+
+applesingledata = struct.pack(">ll16sh", AS_MAGIC, AS_VERSION, "foo", 2) + \
+ struct.pack(">llllll", 1, 50, len(dataforkdata),
+ 2, 50+len(dataforkdata), len(resourceforkdata)) + \
+ dataforkdata + \
+ resourceforkdata
+TESTFN2 = test_support.TESTFN + '2'
+
+class TestApplesingle(unittest.TestCase):
+
+ def setUp(self):
+ fp = open(test_support.TESTFN, 'w')
+ fp.write(applesingledata)
+ fp.close()
+
+ def tearDown(self):
+ try:
+ os.unlink(test_support.TESTFN)
+ except:
+ pass
+ try:
+ os.unlink(TESTFN2)
+ except:
+ pass
+
+ def compareData(self, isrf, data):
+ if isrf:
+ fp = MacOS.openrf(TESTFN2, '*rb')
+ else:
+ fp = open(TESTFN2, 'rb')
+ filedata = fp.read(1000)
+ self.assertEqual(data, filedata)
+
+ def test_applesingle(self):
+ try:
+ os.unlink(TESTFN2)
+ except:
+ pass
+ applesingle.decode(test_support.TESTFN, TESTFN2)
+ self.compareData(False, dataforkdata)
+ self.compareData(True, resourceforkdata)
+
+ def test_applesingle_resonly(self):
+ try:
+ os.unlink(TESTFN2)
+ except:
+ pass
+ applesingle.decode(test_support.TESTFN, TESTFN2, resonly=True)
+ self.compareData(False, resourceforkdata)
+
+def test_main():
+ test_support.run_unittest(TestApplesingle)
+
+
+if __name__ == '__main__':
+ test_main()