From b82a3dc2409e68dbd20d1991ba2e9d1c490c67a3 Mon Sep 17 00:00:00 2001 From: Senthil Kumaran Date: Wed, 23 Oct 2013 21:50:56 -0700 Subject: [PATCH] Increase the coverage of macurl2path. Patch by Colin Williams. --- Lib/macurl2path.py | 20 -------------------- Lib/test/test_macurl2path.py | 31 +++++++++++++++++++++++++++++++ Lib/test/test_sundry.py | 1 - Misc/NEWS | 3 +++ 4 files changed, 34 insertions(+), 21 deletions(-) create mode 100644 Lib/test/test_macurl2path.py diff --git a/Lib/macurl2path.py b/Lib/macurl2path.py index f22fb207b84..a68821d0b73 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 00000000000..3490d6daf14 --- /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 fcccdf701ab..e08cf0179d5 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 diff --git a/Misc/NEWS b/Misc/NEWS index d6447187605..58745f9fd88 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -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).