summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_macfs.py
blob: 9c0e3a1a7c10b0f587f6e9970a7f26a6255aa627 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# Copyright (C) 2003 Python Software Foundation

import unittest
import warnings
warnings.filterwarnings("ignore", "macfs.*", DeprecationWarning, __name__)
import macfs
import os
import sys
import tempfile
from test import test_support

class TestMacfs(unittest.TestCase):

    def setUp(self):
        fp = open(test_support.TESTFN, 'w')
        fp.write('hello world\n')
        fp.close()

    def tearDown(self):
        try:
            os.unlink(test_support.TESTFN)
        except:
            pass

    def test_fsspec(self):
        fss = macfs.FSSpec(test_support.TESTFN)
        self.assertEqual(os.path.realpath(test_support.TESTFN), fss.as_pathname())

    def test_fsref(self):
        fsr = macfs.FSRef(test_support.TESTFN)
        self.assertEqual(os.path.realpath(test_support.TESTFN), fsr.as_pathname())

    def test_fsref_unicode(self):
        if sys.getfilesystemencoding():
            testfn_unicode = unicode(test_support.TESTFN)
            fsr = macfs.FSRef(testfn_unicode)
            self.assertEqual(os.path.realpath(test_support.TESTFN), fsr.as_pathname())

    def test_coercion(self):
        fss = macfs.FSSpec(test_support.TESTFN)
        fsr = macfs.FSRef(test_support.TESTFN)
        fss2 = fsr.as_fsspec()
        fsr2 = fss.as_fsref()
        self.assertEqual(fss.as_pathname(), fss2.as_pathname())
        self.assertEqual(fsr.as_pathname(), fsr2.as_pathname())

    def test_dates(self):
        import time
        fss = macfs.FSSpec(test_support.TESTFN)
        now = int(time.time())
        fss.SetDates(now, now+1, now+2)
        dates = fss.GetDates()
        self.assertEqual(dates, (now, now+1, now+2))

    def test_ctor_type(self):
        fss = macfs.FSSpec(test_support.TESTFN)
        fss.SetCreatorType('Pyth', 'TEXT')
        filecr, filetp = fss.GetCreatorType()
        self.assertEqual((filecr, filetp), ('Pyth', 'TEXT'))

    def test_alias(self):
        fss = macfs.FSSpec(test_support.TESTFN)
        alias = fss.NewAlias()
        fss2, changed = alias.Resolve()
        self.assertEqual(changed, 0)
        self.assertEqual(fss.as_pathname(), fss2.as_pathname())


    def test_fss_alias(self):
        fss = macfs.FSSpec(test_support.TESTFN)


def test_main():
    test_support.run_unittest(TestMacfs)


if __name__ == '__main__':
    test_main()