Patch #536661: Improve performance of splitext. Add test_macpath.

This commit is contained in:
Martin v. Löwis 2002-12-12 20:30:20 +00:00
parent 427a290c9a
commit de3337913f
6 changed files with 95 additions and 42 deletions

64
Lib/test/test_macpath.py Normal file
View file

@ -0,0 +1,64 @@
import macpath
from test import test_support
import unittest
class MacPathTestCase(unittest.TestCase):
def test_abspath(self):
self.assert_(macpath.abspath("xx:yy") == "xx:yy")
def test_isabs(self):
isabs = macpath.isabs
self.assert_(isabs("xx:yy"))
self.assert_(isabs("xx:yy:"))
self.assert_(isabs("xx:"))
self.failIf(isabs("foo"))
self.failIf(isabs(":foo"))
self.failIf(isabs(":foo:bar"))
self.failIf(isabs(":foo:bar:"))
def test_commonprefix(self):
commonprefix = macpath.commonprefix
self.assert_(commonprefix(["home:swenson:spam", "home:swen:spam"])
== "home:swen")
self.assert_(commonprefix([":home:swen:spam", ":home:swen:eggs"])
== ":home:swen:")
self.assert_(commonprefix([":home:swen:spam", ":home:swen:spam"])
== ":home:swen:spam")
def test_split(self):
split = macpath.split
self.assertEquals(split("foo:bar"),
('foo:', 'bar'))
self.assertEquals(split("conky:mountpoint:foo:bar"),
('conky:mountpoint:foo', 'bar'))
self.assertEquals(split(":"), ('', ''))
self.assertEquals(split(":conky:mountpoint:"),
(':conky:mountpoint', ''))
def test_splitdrive(self):
splitdrive = macpath.splitdrive
self.assertEquals(splitdrive("foo:bar"), ('', 'foo:bar'))
self.assertEquals(splitdrive(":foo:bar"), ('', ':foo:bar'))
def test_splitext(self):
splitext = macpath.splitext
self.assertEquals(splitext(":foo.ext"), (':foo', '.ext'))
self.assertEquals(splitext("foo:foo.ext"), ('foo:foo', '.ext'))
self.assertEquals(splitext(".ext"), ('', '.ext'))
self.assertEquals(splitext("foo.ext:foo"), ('foo.ext:foo', ''))
self.assertEquals(splitext(":foo.ext:"), (':foo.ext:', ''))
self.assertEquals(splitext(""), ('', ''))
self.assertEquals(splitext("foo.bar.ext"), ('foo.bar', '.ext'))
def test_main():
test_support.run_unittest(MacPathTestCase)
if __name__ == "__main__":
test_main()

View file

@ -15,6 +15,16 @@ def tester(fn, wantResult):
print " returned: " + str(gotResult)
print ""
errors = errors + 1
tester('ntpath.splitext("foo.ext")', ('foo', '.ext'))
tester('ntpath.splitext("/foo/foo.ext")', ('/foo/foo', '.ext'))
tester('ntpath.splitext(".ext")', ('', '.ext'))
tester('ntpath.splitext("\\foo.ext\\foo")', ('\\foo.ext\\foo', ''))
tester('ntpath.splitext("foo.ext\\")', ('foo.ext\\', ''))
tester('ntpath.splitext("")', ('', ''))
tester('ntpath.splitext("foo.bar.ext")', ('foo.bar', '.ext'))
tester('ntpath.splitext("xx/foo.bar.ext")', ('xx/foo.bar', '.ext'))
tester('ntpath.splitext("xx\\foo.bar.ext")', ('xx\\foo.bar', '.ext'))
tester('ntpath.splitdrive("c:\\foo\\bar")',
('c:', '\\foo\\bar'))

View file

@ -21,6 +21,11 @@ tester('posixpath.split("foo")', ('', 'foo'))
tester('posixpath.splitext("foo.ext")', ('foo', '.ext'))
tester('posixpath.splitext("/foo/foo.ext")', ('/foo/foo', '.ext'))
tester('posixpath.splitext(".ext")', ('', '.ext'))
tester('posixpath.splitext("/foo.ext/foo")', ('/foo.ext/foo', ''))
tester('posixpath.splitext("foo.ext/")', ('foo.ext/', ''))
tester('posixpath.splitext("")', ('', ''))
tester('posixpath.splitext("foo.bar.ext")', ('foo.bar', '.ext'))
tester('posixpath.isabs("/")', 1)
tester('posixpath.isabs("/foo")', 1)