Changed tests to only urlparse one, which was enough, addressed Ezio's comment

on Invalid url check statement and versionchanged string in docs.
This commit is contained in:
Senthil Kumaran 2010-04-22 12:10:13 +00:00
parent 19c06739c5
commit 398246169c
3 changed files with 13 additions and 11 deletions

View File

@ -101,6 +101,10 @@ The :mod:`urlparse` module defines the following functions:
.. versionchanged:: 2.5 .. versionchanged:: 2.5
Added attributes to return value. Added attributes to return value.
.. versionchanged:: 2.7
Added IPv6 URL parsing capabilities.
.. function:: parse_qs(qs[, keep_blank_values[, strict_parsing]]) .. function:: parse_qs(qs[, keep_blank_values[, strict_parsing]])
Parse a query string given as a string argument (data of type Parse a query string given as a string argument (data of type
@ -254,7 +258,7 @@ The :mod:`urlparse` module defines the following functions:
:rfc:`3986` - Uniform Resource Identifiers :rfc:`3986` - Uniform Resource Identifiers
This is the current standard (STD66). Any changes to urlparse module This is the current standard (STD66). Any changes to urlparse module
should conform to this. Certain deviations could be observed, which are should conform to this. Certain deviations could be observed, which are
mostly due backward compatiblity purposes and for certain to de-facto mostly due backward compatiblity purposes and for certain de-facto
parsing requirements as commonly observed in major browsers. parsing requirements as commonly observed in major browsers.
:rfc:`2732` - Format for Literal IPv6 Addresses in URL's. :rfc:`2732` - Format for Literal IPv6 Addresses in URL's.

View File

@ -272,10 +272,10 @@ class UrlParseTestCase(unittest.TestCase):
for invalid_url in [ for invalid_url in [
'http://::12.34.56.78]/', 'http://::12.34.56.78]/',
'http://[::1/foo/', 'http://[::1/foo/',
'ftp://[::1/foo/bad]/bad',
'http://[::1/foo/bad]/bad', 'http://[::1/foo/bad]/bad',
'http://[::ffff:12.34.56.78']: 'http://[::ffff:12.34.56.78']:
self.assertRaises(ValueError, lambda : urlparse.urlparse(invalid_url).hostname) self.assertRaises(ValueError, urlparse.urlparse, invalid_url)
self.assertRaises(ValueError, lambda : urlparse.urlparse(invalid_url))
def test_urldefrag(self): def test_urldefrag(self):
for url, defrag, frag in [ for url, defrag, frag in [

View File

@ -176,10 +176,9 @@ def urlsplit(url, scheme='', allow_fragments=True):
url = url[i+1:] url = url[i+1:]
if url[:2] == '//': if url[:2] == '//':
netloc, url = _splitnetloc(url, 2) netloc, url = _splitnetloc(url, 2)
if '[' in netloc : if (('[' in netloc and ']' not in netloc) or
if not ']' in netloc: raise ValueError("Invalid IPv6 URL") (']' in netloc and '[' not in netloc)):
if ']' in netloc: raise ValueError("Invalid IPv6 URL")
if not '[' in netloc: raise ValueError("Invalid IPv6 URL")
if allow_fragments and '#' in url: if allow_fragments and '#' in url:
url, fragment = url.split('#', 1) url, fragment = url.split('#', 1)
if '?' in url: if '?' in url:
@ -195,10 +194,9 @@ def urlsplit(url, scheme='', allow_fragments=True):
if url[:2] == '//': if url[:2] == '//':
netloc, url = _splitnetloc(url, 2) netloc, url = _splitnetloc(url, 2)
if '[' in netloc: if (('[' in netloc and ']' not in netloc) or
if not ']' in netloc: raise ValueError("Invalid IPv6 URL") (']' in netloc and '[' not in netloc)):
if ']' in netloc: raise ValueError("Invalid IPv6 URL")
if not '[' in netloc: raise ValueError("Invalid IPv6 URL")
if allow_fragments and scheme in uses_fragment and '#' in url: if allow_fragments and scheme in uses_fragment and '#' in url:
url, fragment = url.split('#', 1) url, fragment = url.split('#', 1)
if scheme in uses_query and '?' in url: if scheme in uses_query and '?' in url: