summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSenthil Kumaran <senthil@uthcode.com>2013-10-24 04:55:35 (GMT)
committerSenthil Kumaran <senthil@uthcode.com>2013-10-24 04:55:35 (GMT)
commita46079e85394c4c6fa5a5a1a462eca8e38b85a42 (patch)
treec6b91dc70a05514f3343c5c6148c358d0cb52f4a
parentdfea31254b70582defd11c1772022187cb70c160 (diff)
parentb82a3dc2409e68dbd20d1991ba2e9d1c490c67a3 (diff)
downloadcpython-a46079e85394c4c6fa5a5a1a462eca8e38b85a42.zip
cpython-a46079e85394c4c6fa5a5a1a462eca8e38b85a42.tar.gz
cpython-a46079e85394c4c6fa5a5a1a462eca8e38b85a42.tar.bz2
merge from 3.3: Increase the test coverage of macurl2path module. Patch by Colin Williams.
-rw-r--r--Lib/macurl2path.py20
-rw-r--r--Lib/test/test_macurl2path.py31
-rw-r--r--Lib/test/test_sundry.py3
-rw-r--r--Misc/NEWS3
4 files changed, 36 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 77ec9f0..2da3ac0 100644
--- a/Lib/test/test_sundry.py
+++ b/Lib/test/test_sundry.py
@@ -7,7 +7,7 @@ import unittest
class TestUntestedModules(unittest.TestCase):
def test_untested_modules_can_be_imported(self):
untested = ('bdb', 'encodings', 'formatter', 'imghdr',
- 'macurl2path', 'nturl2path', 'tabnanny')
+ 'nturl2path', 'tabnanny')
with support.check_warnings(quiet=True):
for name in untested:
try:
@@ -47,6 +47,7 @@ class TestUntestedModules(unittest.TestCase):
import distutils.command.upload
import html.entities
+
try:
import tty # Not available on Windows
except ImportError:
diff --git a/Misc/NEWS b/Misc/NEWS
index 0770d3f..2c0430c 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -19,6 +19,9 @@ Core and Builtins
Library
-------
+- Issue #19350: Increasing the test coverage of macurl2path. Patch by Colin
+ Williams.
+
- Issue #19365: Optimized the parsing of long replacement string in re.sub*()
functions.