blob: e81fba21b1f7ef561aedef7ecc1ae16dfc13e0ec [file] [log] [blame]
Martin v. Löwisde333792002-12-12 20:30:20 +00001import macpath
Florent Xiclunadc1531c2010-03-06 18:07:18 +00002from test import test_support, test_genericpath
Martin v. Löwisde333792002-12-12 20:30:20 +00003import unittest
4
5
6class MacPathTestCase(unittest.TestCase):
7
8 def test_abspath(self):
Ezio Melottie3467d52010-02-20 09:40:07 +00009 self.assertEqual(macpath.abspath("xx:yy"), "xx:yy")
Martin v. Löwisde333792002-12-12 20:30:20 +000010
11 def test_isabs(self):
12 isabs = macpath.isabs
Benjamin Peterson5c8da862009-06-30 22:57:08 +000013 self.assertTrue(isabs("xx:yy"))
14 self.assertTrue(isabs("xx:yy:"))
15 self.assertTrue(isabs("xx:"))
16 self.assertFalse(isabs("foo"))
17 self.assertFalse(isabs(":foo"))
18 self.assertFalse(isabs(":foo:bar"))
19 self.assertFalse(isabs(":foo:bar:"))
Martin v. Löwisde333792002-12-12 20:30:20 +000020
21
22 def test_commonprefix(self):
23 commonprefix = macpath.commonprefix
Ezio Melottie3467d52010-02-20 09:40:07 +000024 self.assertEqual(commonprefix(["home:swenson:spam", "home:swen:spam"]),
25 "home:swen")
26 self.assertEqual(commonprefix([":home:swen:spam", ":home:swen:eggs"]),
27 ":home:swen:")
28 self.assertEqual(commonprefix([":home:swen:spam", ":home:swen:spam"]),
29 ":home:swen:spam")
Martin v. Löwisde333792002-12-12 20:30:20 +000030
31 def test_split(self):
32 split = macpath.split
Ezio Melottie3467d52010-02-20 09:40:07 +000033 self.assertEqual(split("foo:bar"),
Martin v. Löwisde333792002-12-12 20:30:20 +000034 ('foo:', 'bar'))
Ezio Melottie3467d52010-02-20 09:40:07 +000035 self.assertEqual(split("conky:mountpoint:foo:bar"),
Martin v. Löwisde333792002-12-12 20:30:20 +000036 ('conky:mountpoint:foo', 'bar'))
37
Ezio Melottie3467d52010-02-20 09:40:07 +000038 self.assertEqual(split(":"), ('', ''))
39 self.assertEqual(split(":conky:mountpoint:"),
Martin v. Löwisde333792002-12-12 20:30:20 +000040 (':conky:mountpoint', ''))
41
Martin v. Löwisde333792002-12-12 20:30:20 +000042 def test_splitext(self):
43 splitext = macpath.splitext
Ezio Melottie3467d52010-02-20 09:40:07 +000044 self.assertEqual(splitext(":foo.ext"), (':foo', '.ext'))
45 self.assertEqual(splitext("foo:foo.ext"), ('foo:foo', '.ext'))
46 self.assertEqual(splitext(".ext"), ('.ext', ''))
47 self.assertEqual(splitext("foo.ext:foo"), ('foo.ext:foo', ''))
48 self.assertEqual(splitext(":foo.ext:"), (':foo.ext:', ''))
49 self.assertEqual(splitext(""), ('', ''))
50 self.assertEqual(splitext("foo.bar.ext"), ('foo.bar', '.ext'))
Martin v. Löwisde333792002-12-12 20:30:20 +000051
Ezio Melotti0263da52010-02-27 12:42:52 +000052 def test_normpath(self):
53 # Issue 5827: Make sure normpath preserves unicode
54 for path in (u'', u'.', u'/', u'\\', u':', u'///foo/.//bar//'):
55 self.assertIsInstance(macpath.normpath(path), unicode,
56 'normpath() returned str instead of unicode')
57
Florent Xiclunadc1531c2010-03-06 18:07:18 +000058class MacCommonTest(test_genericpath.CommonTest):
59 path = macpath
60
Martin v. Löwisde333792002-12-12 20:30:20 +000061
62def test_main():
Florent Xiclunadc1531c2010-03-06 18:07:18 +000063 test_support.run_unittest(MacPathTestCase, MacCommonTest)
Martin v. Löwisde333792002-12-12 20:30:20 +000064
65
66if __name__ == "__main__":
67 test_main()