Kaydet (Commit) a46079e8 authored tarafından Senthil Kumaran's avatar Senthil Kumaran

merge from 3.3: Increase the test coverage of macurl2path module. Patch by Colin Williams.

......@@ -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()
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()
......@@ -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:
......
......@@ -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.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment