1import macpath 2from test import test_support, test_genericpath 3import unittest 4 5 6class MacPathTestCase(unittest.TestCase): 7 8 def test_abspath(self): 9 self.assertEqual(macpath.abspath("xx:yy"), "xx:yy") 10 11 def test_isabs(self): 12 isabs = macpath.isabs 13 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:")) 20 21 def test_split(self): 22 split = macpath.split 23 self.assertEqual(split("foo:bar"), 24 ('foo:', 'bar')) 25 self.assertEqual(split("conky:mountpoint:foo:bar"), 26 ('conky:mountpoint:foo', 'bar')) 27 28 self.assertEqual(split(":"), ('', '')) 29 self.assertEqual(split(":conky:mountpoint:"), 30 (':conky:mountpoint', '')) 31 32 def test_join(self): 33 join = macpath.join 34 self.assertEqual(join('a', 'b'), ':a:b') 35 self.assertEqual(join(':a', 'b'), ':a:b') 36 self.assertEqual(join(':a:', 'b'), ':a:b') 37 self.assertEqual(join(':a::', 'b'), ':a::b') 38 self.assertEqual(join(':a', '::b'), ':a::b') 39 self.assertEqual(join('a', ':'), ':a:') 40 self.assertEqual(join('a:', ':'), 'a:') 41 self.assertEqual(join('a', ''), ':a:') 42 self.assertEqual(join('a:', ''), 'a:') 43 self.assertEqual(join('', ''), '') 44 self.assertEqual(join('', 'a:b'), 'a:b') 45 self.assertEqual(join('', 'a', 'b'), ':a:b') 46 self.assertEqual(join('a:b', 'c'), 'a:b:c') 47 self.assertEqual(join('a:b', ':c'), 'a:b:c') 48 self.assertEqual(join('a', ':b', ':c'), ':a:b:c') 49 self.assertEqual(join('a', 'b:'), 'b:') 50 self.assertEqual(join('a:', 'b:'), 'b:') 51 52 def test_splitext(self): 53 splitext = macpath.splitext 54 self.assertEqual(splitext(":foo.ext"), (':foo', '.ext')) 55 self.assertEqual(splitext("foo:foo.ext"), ('foo:foo', '.ext')) 56 self.assertEqual(splitext(".ext"), ('.ext', '')) 57 self.assertEqual(splitext("foo.ext:foo"), ('foo.ext:foo', '')) 58 self.assertEqual(splitext(":foo.ext:"), (':foo.ext:', '')) 59 self.assertEqual(splitext(""), ('', '')) 60 self.assertEqual(splitext("foo.bar.ext"), ('foo.bar', '.ext')) 61 62 @test_support.requires_unicode 63 def test_normpath(self): 64 # Issue 5827: Make sure normpath preserves unicode 65 for path in (u'', u'.', u'/', u'\\', u':', u'///foo/.//bar//'): 66 self.assertIsInstance(macpath.normpath(path), unicode, 67 'normpath() returned str instead of unicode') 68 69class MacCommonTest(test_genericpath.CommonTest): 70 pathmodule = macpath 71 72 73def test_main(): 74 test_support.run_unittest(MacPathTestCase, MacCommonTest) 75 76 77if __name__ == "__main__": 78 test_main() 79