From: Senthil Kumaran Date: Thu, 24 Oct 2013 04:45:58 +0000 (-0700) Subject: Increase macurl2path test coverage X-Git-Tag: v2.7.6rc1~11 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2147857db3f0ac3ff0200e52c930ed5ef43c2bfd;p=python Increase macurl2path test coverage --- diff --git a/Lib/macurl2path.py b/Lib/macurl2path.py index 4c5ae64572..6f8260f104 100644 --- a/Lib/macurl2path.py +++ b/Lib/macurl2path.py @@ -75,23 +75,3 @@ def pathname2url(pathname): def _pncomp2url(component): component = urllib.quote(component[:31], safe='') # We want to quote slashes return component - -def test(): - for url in ["index.html", - "bar/index.html", - "/foo/bar/index.html", - "/foo/bar/", - "/"]: - print '%r -> %r' % (url, url2pathname(url)) - for path in ["drive:", - "drive:dir:", - "drive:dir:file", - "drive:file", - "file", - ":file", - ":dir:", - ":dir:file"]: - print '%r -> %r' % (path, pathname2url(path)) - -if __name__ == '__main__': - test() diff --git a/Lib/test/test_macurl2path.py b/Lib/test/test_macurl2path.py new file mode 100644 index 0000000000..3490d6daf1 --- /dev/null +++ b/Lib/test/test_macurl2path.py @@ -0,0 +1,31 @@ +import macurl2path +import unittest + +class MacUrl2PathTestCase(unittest.TestCase): + def test_url2pathname(self): + self.assertEqual(":index.html", macurl2path.url2pathname("index.html")) + self.assertEqual(":bar:index.html", macurl2path.url2pathname("bar/index.html")) + self.assertEqual("foo:bar:index.html", macurl2path.url2pathname("/foo/bar/index.html")) + self.assertEqual("foo:bar", macurl2path.url2pathname("/foo/bar/")) + self.assertEqual("", macurl2path.url2pathname("/")) + self.assertRaises(RuntimeError, macurl2path.url2pathname, "http://foo.com") + self.assertEqual("index.html", macurl2path.url2pathname("///index.html")) + self.assertRaises(RuntimeError, macurl2path.url2pathname, "//index.html") + self.assertEqual(":index.html", macurl2path.url2pathname("./index.html")) + self.assertEqual(":index.html", macurl2path.url2pathname("foo/../index.html")) + self.assertEqual("::index.html", macurl2path.url2pathname("../index.html")) + + def test_pathname2url(self): + self.assertEqual("drive", macurl2path.pathname2url("drive:")) + self.assertEqual("drive/dir", macurl2path.pathname2url("drive:dir:")) + self.assertEqual("drive/dir/file", macurl2path.pathname2url("drive:dir:file")) + self.assertEqual("drive/file", macurl2path.pathname2url("drive:file")) + self.assertEqual("file", macurl2path.pathname2url("file")) + self.assertEqual("file", macurl2path.pathname2url(":file")) + self.assertEqual("dir", macurl2path.pathname2url(":dir:")) + self.assertEqual("dir/file", macurl2path.pathname2url(":dir:file")) + self.assertRaises(RuntimeError, macurl2path.pathname2url, "/") + self.assertEqual("dir/../file", macurl2path.pathname2url("dir::file")) + +if __name__ == "__main__": + unittest.main() diff --git a/Lib/test/test_sundry.py b/Lib/test/test_sundry.py index 6e2b7971f7..e190c11513 100644 --- a/Lib/test/test_sundry.py +++ b/Lib/test/test_sundry.py @@ -53,7 +53,6 @@ class TestUntestedModules(unittest.TestCase): import imputil import keyword import linecache - import macurl2path import mailcap import mimify import nntplib diff --git a/Misc/NEWS b/Misc/NEWS index 24089dc2e8..4e8dab8fc2 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -40,6 +40,9 @@ Core and Builtins Library ------- +- Issue #19350: Increasing the test coverage of macurl2path. Patch by Colin + Williams. + - Issue #19352: Fix unittest discovery when a module can be reached through several paths (e.g. under Debian/Ubuntu with virtualenv).