diff options
-rw-r--r-- | Lib/macurl2path.py | 20 | ||||
-rw-r--r-- | Lib/test/test_macurl2path.py | 31 | ||||
-rw-r--r-- | Lib/test/test_sundry.py | 1 | ||||
-rw-r--r-- | Misc/NEWS | 3 |
4 files changed, 34 insertions, 21 deletions
diff --git a/Lib/macurl2path.py b/Lib/macurl2path.py index f22fb20..a68821d 100644 --- a/Lib/macurl2path.py +++ b/Lib/macurl2path.py @@ -75,23 +75,3 @@ def pathname2url(pathname): def _pncomp2url(component): # We want to quote slashes return urllib.parse.quote(component[:31], safe='') - -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 0000000..3490d6d --- /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 fcccdf7..e08cf01 100644 --- a/Lib/test/test_sundry.py +++ b/Lib/test/test_sundry.py @@ -45,7 +45,6 @@ class TestUntestedModules(unittest.TestCase): import html.entities import imghdr import keyword - import macurl2path import mailcap import nturl2path import os2emxpath @@ -81,6 +81,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). |