Fix for Issue7904. urlparse.urlsplit to handle schemes in the way defined by RFC3986
diff --git a/Lib/test/test_urlparse.py b/Lib/test/test_urlparse.py
index e7a8317..554328b 100644
--- a/Lib/test/test_urlparse.py
+++ b/Lib/test/test_urlparse.py
@@ -141,7 +141,7 @@
(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(urlparse.urlunsplit(urlparse.urlsplit(u)), u)
self.assertEqual(urlparse.urlunparse(urlparse.urlparse(u)), u)
@@ -353,6 +353,15 @@
self.assertEqual(urlparse.urlparse("http://example.com?blahblah=/foo"),
('http', 'example.com', '', '', 'blahblah=/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():
test_support.run_unittest(UrlParseTestCase)