blob: 9c0e3a1a7c10b0f587f6e9970a7f26a6255aa627 [file] [log] [blame]
Jack Jansen10882f62003-01-28 21:39:28 +00001# Copyright (C) 2003 Python Software Foundation
2
3import unittest
Jack Jansenb1fbf852003-03-12 13:47:39 +00004import warnings
5warnings.filterwarnings("ignore", "macfs.*", DeprecationWarning, __name__)
Jack Jansen10882f62003-01-28 21:39:28 +00006import macfs
7import os
Jack Jansen3e0196c2003-03-21 12:54:24 +00008import sys
Jack Jansen10882f62003-01-28 21:39:28 +00009import tempfile
10from test import test_support
11
12class TestMacfs(unittest.TestCase):
13
14 def setUp(self):
15 fp = open(test_support.TESTFN, 'w')
16 fp.write('hello world\n')
17 fp.close()
18
19 def tearDown(self):
20 try:
21 os.unlink(test_support.TESTFN)
22 except:
23 pass
24
25 def test_fsspec(self):
26 fss = macfs.FSSpec(test_support.TESTFN)
Jack Jansenb86a2e82003-02-05 11:14:16 +000027 self.assertEqual(os.path.realpath(test_support.TESTFN), fss.as_pathname())
Tim Petersf2715e02003-02-19 02:35:07 +000028
Jack Jansen10882f62003-01-28 21:39:28 +000029 def test_fsref(self):
30 fsr = macfs.FSRef(test_support.TESTFN)
Jack Jansenb86a2e82003-02-05 11:14:16 +000031 self.assertEqual(os.path.realpath(test_support.TESTFN), fsr.as_pathname())
Tim Peters0eadaac2003-04-24 16:02:54 +000032
Jack Jansendded8482003-03-11 21:48:57 +000033 def test_fsref_unicode(self):
Jack Jansen3e0196c2003-03-21 12:54:24 +000034 if sys.getfilesystemencoding():
35 testfn_unicode = unicode(test_support.TESTFN)
36 fsr = macfs.FSRef(testfn_unicode)
37 self.assertEqual(os.path.realpath(test_support.TESTFN), fsr.as_pathname())
Tim Petersf2715e02003-02-19 02:35:07 +000038
Jack Jansen10882f62003-01-28 21:39:28 +000039 def test_coercion(self):
40 fss = macfs.FSSpec(test_support.TESTFN)
41 fsr = macfs.FSRef(test_support.TESTFN)
42 fss2 = fsr.as_fsspec()
43 fsr2 = fss.as_fsref()
44 self.assertEqual(fss.as_pathname(), fss2.as_pathname())
45 self.assertEqual(fsr.as_pathname(), fsr2.as_pathname())
Tim Petersf2715e02003-02-19 02:35:07 +000046
Jack Jansen10882f62003-01-28 21:39:28 +000047 def test_dates(self):
48 import time
49 fss = macfs.FSSpec(test_support.TESTFN)
50 now = int(time.time())
Jack Jansen19e11c82005-09-21 20:52:11 +000051 fss.SetDates(now, now+1, now+2)
Jack Jansen10882f62003-01-28 21:39:28 +000052 dates = fss.GetDates()
Jack Jansen19e11c82005-09-21 20:52:11 +000053 self.assertEqual(dates, (now, now+1, now+2))
Tim Petersf2715e02003-02-19 02:35:07 +000054
Jack Jansen10882f62003-01-28 21:39:28 +000055 def test_ctor_type(self):
56 fss = macfs.FSSpec(test_support.TESTFN)
57 fss.SetCreatorType('Pyth', 'TEXT')
58 filecr, filetp = fss.GetCreatorType()
59 self.assertEqual((filecr, filetp), ('Pyth', 'TEXT'))
Tim Petersf2715e02003-02-19 02:35:07 +000060
Jack Jansen10882f62003-01-28 21:39:28 +000061 def test_alias(self):
62 fss = macfs.FSSpec(test_support.TESTFN)
63 alias = fss.NewAlias()
64 fss2, changed = alias.Resolve()
65 self.assertEqual(changed, 0)
Tim Petersf2715e02003-02-19 02:35:07 +000066 self.assertEqual(fss.as_pathname(), fss2.as_pathname())
67
68
Jack Jansen10882f62003-01-28 21:39:28 +000069 def test_fss_alias(self):
70 fss = macfs.FSSpec(test_support.TESTFN)
Tim Petersf2715e02003-02-19 02:35:07 +000071
Jack Jansen10882f62003-01-28 21:39:28 +000072
73def test_main():
74 test_support.run_unittest(TestMacfs)
75
76
77if __name__ == '__main__':
78 test_main()