diff options
author | Senthil Kumaran <senthil@uthcode.com> | 2013-05-24 16:14:12 (GMT) |
---|---|---|
committer | Senthil Kumaran <senthil@uthcode.com> | 2013-05-24 16:14:12 (GMT) |
commit | 8307075ce870375f1d1f7344972f78f9c42b39e8 (patch) | |
tree | 19fd346ea71cf5fdfed95c5b99a96ffc4cce973a /Lib/test/test_urllib2.py | |
parent | dc3e6cc452a2a4409a4d12804fab4e474abbf9ff (diff) | |
download | cpython-8307075ce870375f1d1f7344972f78f9c42b39e8.zip cpython-8307075ce870375f1d1f7344972f78f9c42b39e8.tar.gz cpython-8307075ce870375f1d1f7344972f78f9c42b39e8.tar.bz2 |
Fix #17272 - Make Request.full_url and Request.get_full_url return same result under all circumstances.
Document the change of Request.full_url to a property.
Diffstat (limited to 'Lib/test/test_urllib2.py')
-rw-r--r-- | Lib/test/test_urllib2.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Lib/test/test_urllib2.py b/Lib/test/test_urllib2.py index b4f940c..b3659f4 100644 --- a/Lib/test/test_urllib2.py +++ b/Lib/test/test_urllib2.py @@ -11,6 +11,7 @@ import urllib.request # The proxy bypass method imported below has logic specific to the OSX # proxy config data structure but is testable on all platforms. from urllib.request import Request, OpenerDirector, _proxy_bypass_macosx_sysconf +from urllib.parse import urlparse import urllib.error # XXX @@ -919,7 +920,13 @@ class HandlerTests(unittest.TestCase): r = Request('http://example.com') for url in urls: r.full_url = url + parsed = urlparse(url) + self.assertEqual(r.get_full_url(), url) + # full_url setter uses splittag to split into components. + # splittag sets the fragment as None while urlparse sets it to '' + self.assertEqual(r.fragment or '', parsed.fragment) + self.assertEqual(urlparse(r.get_full_url()).query, parsed.query) def test_full_url_deleter(self): r = Request('http://www.example.com') @@ -1537,6 +1544,14 @@ class RequestTests(unittest.TestCase): req = Request(url) self.assertEqual(req.get_full_url(), url) + def test_url_fullurl_get_full_url(self): + urls = ['http://docs.python.org', + 'http://docs.python.org/library/urllib2.html#OK', + 'http://www.python.org/?qs=query#fragment=true' ] + for url in urls: + req = Request(url) + self.assertEqual(req.get_full_url(), req.full_url) + def test_main(verbose=None): from test import test_urllib2 support.run_doctest(test_urllib2, verbose) |