mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
Fix for 1.33: urlsplit() should only add '//' if scheme != ''.
Will add test and backport.
This commit is contained in:
parent
6e75364cbe
commit
bbc0568a5c
2 changed files with 7 additions and 2 deletions
|
@ -27,7 +27,12 @@ class UrlParseTestCase(unittest.TestCase):
|
||||||
self.assertEqual(result2, url)
|
self.assertEqual(result2, url)
|
||||||
|
|
||||||
def checkJoin(self, base, relurl, expected):
|
def checkJoin(self, base, relurl, expected):
|
||||||
self.assertEqual(urlparse.urljoin(base, relurl), expected)
|
self.assertEqual(urlparse.urljoin(base, relurl), expected,
|
||||||
|
(base, relurl, expected))
|
||||||
|
|
||||||
|
def test_unparse_parse(self):
|
||||||
|
for u in ['Python', './Python']:
|
||||||
|
self.assertEqual(urlparse.urlunparse(urlparse.urlparse(u)), u)
|
||||||
|
|
||||||
def test_RFC1808(self):
|
def test_RFC1808(self):
|
||||||
# "normal" cases from RFC 1808:
|
# "normal" cases from RFC 1808:
|
||||||
|
|
|
@ -128,7 +128,7 @@ def urlunparse((scheme, netloc, url, params, query, fragment)):
|
||||||
return urlunsplit((scheme, netloc, url, query, fragment))
|
return urlunsplit((scheme, netloc, url, query, fragment))
|
||||||
|
|
||||||
def urlunsplit((scheme, netloc, url, query, fragment)):
|
def urlunsplit((scheme, netloc, url, query, fragment)):
|
||||||
if netloc or (scheme in uses_netloc and url[:2] != '//'):
|
if netloc or (scheme and scheme in uses_netloc and url[:2] != '//'):
|
||||||
if url and url[:1] != '/': url = '/' + url
|
if url and url[:1] != '/': url = '/' + url
|
||||||
url = '//' + (netloc or '') + url
|
url = '//' + (netloc or '') + url
|
||||||
if scheme:
|
if scheme:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue