summaryrefslogtreecommitdiff
path: root/Lib/test/test_urllib.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_urllib.py')
-rw-r--r--Lib/test/test_urllib.py20
1 files changed, 19 insertions, 1 deletions
diff --git a/Lib/test/test_urllib.py b/Lib/test/test_urllib.py
index 7214492eca..74b19fbdcd 100644
--- a/Lib/test/test_urllib.py
+++ b/Lib/test/test_urllib.py
@@ -1445,7 +1445,7 @@ class Utility_Tests(unittest.TestCase):
self.assertIsInstance(urllib.request.thishost(), tuple)
-class URLopener_Tests(unittest.TestCase):
+class URLopener_Tests(FakeHTTPMixin, unittest.TestCase):
"""Testcase to test the open method of URLopener class."""
def test_quoted_open(self):
@@ -1463,6 +1463,24 @@ class URLopener_Tests(unittest.TestCase):
"spam://c:|windows%/:=&?~#+!$,;'@()*[]|/path/"),
"//c:|windows%/:=&?~#+!$,;'@()*[]|/path/")
+ @support.ignore_warnings(category=DeprecationWarning)
+ def test_urlopener_retrieve_file(self):
+ with support.temp_dir() as tmpdir:
+ fd, tmpfile = tempfile.mkstemp(dir=tmpdir)
+ os.close(fd)
+ fileurl = "file:" + urllib.request.pathname2url(tmpfile)
+ filename, _ = urllib.request.URLopener().retrieve(fileurl)
+ self.assertEqual(filename, tmpfile)
+
+ @support.ignore_warnings(category=DeprecationWarning)
+ def test_urlopener_retrieve_remote(self):
+ url = "http://www.python.org/file.txt"
+ self.fakehttp(b"HTTP/1.1 200 OK\r\n\r\nHello!")
+ self.addCleanup(self.unfakehttp)
+ filename, _ = urllib.request.URLopener().retrieve(url)
+ self.assertEqual(os.path.splitext(filename)[1], ".txt")
+
+
# Just commented them out.
# Can't really tell why keep failing in windows and sparc.
# Everywhere else they work ok, but on those machines, sometimes