bpo-27485: Change urlparse tests to use private methods by csabella · Pull Request #7070 · python/cpython
def test_splittype(self): splittype = urllib.parse.splittype splittype = urllib.parse._splittype self.assertEqual(splittype('type:opaquestring'), ('type', 'opaquestring')) self.assertEqual(splittype('opaquestring'), (None, 'opaquestring')) self.assertEqual(splittype(':opaquestring'), (None, ':opaquestring')) self.assertEqual(splittype('type:'), ('type', '')) self.assertEqual(splittype('type:opaque:string'), ('type', 'opaque:string'))
def test_splithost(self): splithost = urllib.parse.splithost splithost = urllib.parse._splithost self.assertEqual(splithost('//www.example.org:80/foo/bar/baz.html'), ('www.example.org:80', '/foo/bar/baz.html')) self.assertEqual(splithost('//www.example.org:80'),
def test_splituser(self): splituser = urllib.parse.splituser splituser = urllib.parse._splituser self.assertEqual(splituser('User:Pass@www.python.org:080'), ('User:Pass', 'www.python.org:080')) self.assertEqual(splituser('@www.python.org:080'),
def test_splitport(self): splitport = urllib.parse.splitport splitport = urllib.parse._splitport self.assertEqual(splitport('parrot:88'), ('parrot', '88')) self.assertEqual(splitport('parrot'), ('parrot', None)) self.assertEqual(splitport('parrot:'), ('parrot', None))
def test_splitnport(self): splitnport = urllib.parse.splitnport splitnport = urllib.parse._splitnport self.assertEqual(splitnport('parrot:88'), ('parrot', 88)) self.assertEqual(splitnport('parrot'), ('parrot', -1)) self.assertEqual(splitnport('parrot', 55), ('parrot', 55))
def test_splittag(self): splittag = urllib.parse.splittag splittag = urllib.parse._splittag self.assertEqual(splittag('http://example.com?foo=bar#baz'), ('http://example.com?foo=bar', 'baz')) self.assertEqual(splittag('http://example.com?foo=bar#'),
def test_splitattr(self): splitattr = urllib.parse.splitattr splitattr = urllib.parse._splitattr self.assertEqual(splitattr('/path;attr1=value1;attr2=value2'), ('/path', ['attr1=value1', 'attr2=value2'])) self.assertEqual(splitattr('/path;'), ('/path', ['']))
def test_to_bytes(self): result = urllib.parse.to_bytes('http://www.python.org') result = urllib.parse._to_bytes('http://www.python.org') self.assertEqual(result, 'http://www.python.org') self.assertRaises(UnicodeError, urllib.parse._to_bytes, 'http://www.python.org/medi\u00e6val')
def test_unwrap(self): url = urllib.parse.unwrap('<URL:type://host/path>') url = urllib.parse._unwrap('<URL:type://host/path>') self.assertEqual(url, 'type://host/path')