blob: 2c86c532c7ee33c15522ea1fff1d03f4a247e1fe [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
Martin v. Löwisde333792002-12-12 20:30:20 +000021 def test_split(self):
22 split = macpath.split
Ezio Melottie3467d52010-02-20 09:40:07 +000023 self.assertEqual(split("foo:bar"),
Martin v. Löwisde333792002-12-12 20:30:20 +000024 ('foo:', 'bar'))
Ezio Melottie3467d52010-02-20 09:40:07 +000025 self.assertEqual(split("conky:mountpoint:foo:bar"),
Martin v. Löwisde333792002-12-12 20:30:20 +000026 ('conky:mountpoint:foo', 'bar'))
27
Ezio Melottie3467d52010-02-20 09:40:07 +000028 self.assertEqual(split(":"), ('', ''))
29 self.assertEqual(split(":conky:mountpoint:"),
Martin v. Löwisde333792002-12-12 20:30:20 +000030 (':conky:mountpoint', ''))
31
Martin v. Löwisde333792002-12-12 20:30:20 +000032 def test_splitext(self):
33 splitext = macpath.splitext
Ezio Melottie3467d52010-02-20 09:40:07 +000034 self.assertEqual(splitext(":foo.ext"), (':foo', '.ext'))
35 self.assertEqual(splitext("foo:foo.ext"), ('foo:foo', '.ext'))
36 self.assertEqual(splitext(".ext"), ('.ext', ''))
37 self.assertEqual(splitext("foo.ext:foo"), ('foo.ext:foo', ''))
38 self.assertEqual(splitext(":foo.ext:"), (':foo.ext:', ''))
39 self.assertEqual(splitext(""), ('', ''))
40 self.assertEqual(splitext("foo.bar.ext"), ('foo.bar', '.ext'))
Martin v. Löwisde333792002-12-12 20:30:20 +000041
Ezio Melotti0263da52010-02-27 12:42:52 +000042 def test_normpath(self):
43 # Issue 5827: Make sure normpath preserves unicode
44 for path in (u'', u'.', u'/', u'\\', u':', u'///foo/.//bar//'):
45 self.assertIsInstance(macpath.normpath(path), unicode,
46 'normpath() returned str instead of unicode')
47
Florent Xiclunadc1531c2010-03-06 18:07:18 +000048class MacCommonTest(test_genericpath.CommonTest):
Florent Xicluna985478d2010-03-06 18:52:52 +000049 pathmodule = macpath
Florent Xiclunadc1531c2010-03-06 18:07:18 +000050
Martin v. Löwisde333792002-12-12 20:30:20 +000051
52def test_main():
Florent Xiclunadc1531c2010-03-06 18:07:18 +000053 test_support.run_unittest(MacPathTestCase, MacCommonTest)
Martin v. Löwisde333792002-12-12 20:30:20 +000054
55
56if __name__ == "__main__":
57 test_main()