summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_urllib2.py
diff options
context:
space:
mode:
authorSenthil Kumaran <senthil@uthcode.com>2013-05-24 16:14:12 (GMT)
committerSenthil Kumaran <senthil@uthcode.com>2013-05-24 16:14:12 (GMT)
commit8307075ce870375f1d1f7344972f78f9c42b39e8 (patch)
tree19fd346ea71cf5fdfed95c5b99a96ffc4cce973a /Lib/test/test_urllib2.py
parentdc3e6cc452a2a4409a4d12804fab4e474abbf9ff (diff)
downloadcpython-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.py15
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)