(base, relurl, expected))
def test_unparse_parse(self):
- for u in ['Python', './Python']:
+ for u in ['Python', './Python','x-newscheme://foo.com/stuff']:
self.assertEqual(urllib.parse.urlunsplit(urllib.parse.urlsplit(u)), u)
self.assertEqual(urllib.parse.urlunparse(urllib.parse.urlparse(u)), u)
# Issue 3314: sys module is used in the error
self.assertRaises(TypeError, urllib.parse.urlencode, "foo")
+ def test_anyscheme(self):
+ # Issue 7904: s3://foo.com/stuff has netloc "foo.com".
+ self.assertEqual(urlparse.urlparse("s3://foo.com/stuff"),
+ ('s3','foo.com','/stuff','','',''))
+ self.assertEqual(urlparse.urlparse("x-newscheme://foo.com/stuff"),
+ ('x-newscheme','foo.com','/stuff','','',''))
+
def test_main():
support.run_unittest(UrlParseTestCase)
break
else:
scheme, url = url[:i].lower(), url[i+1:]
- if scheme in uses_netloc and url[:2] == '//':
+ if url[:2] == '//':
netloc, url = _splitnetloc(url, 2)
if allow_fragments and scheme in uses_fragment and '#' in url:
url, fragment = url.split('#', 1)