]> granicus.if.org Git - python/commitdiff
Increase macurl2path test coverage
authorSenthil Kumaran <senthil@uthcode.com>
Thu, 24 Oct 2013 04:45:58 +0000 (21:45 -0700)
committerSenthil Kumaran <senthil@uthcode.com>
Thu, 24 Oct 2013 04:45:58 +0000 (21:45 -0700)
Lib/macurl2path.py
Lib/test/test_macurl2path.py [new file with mode: 0644]
Lib/test/test_sundry.py
Misc/NEWS

index 4c5ae64572e26ab59f299ce83b16ca42827b44a2..6f8260f1049c9cbb43e95687bb9eea116118c4c9 100644 (file)
@@ -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 (file)
index 0000000..3490d6d
--- /dev/null
@@ -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()
index 6e2b7971f729a6352f73fec76b34fd85ae62b400..e190c11513319b3581fe40a01f1a7a9c4a241a30 100644 (file)
@@ -53,7 +53,6 @@ class TestUntestedModules(unittest.TestCase):
             import imputil
             import keyword
             import linecache
-            import macurl2path
             import mailcap
             import mimify
             import nntplib
index 24089dc2e8b5e299a8f2f80c4d2d8376b6385add..4e8dab8fc21d11411f4b4c8bcff8bc4b42c29ecf 100644 (file)
--- 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).