python-future/tests/test_future/test_imports_urllib.py

45 lines
1.4 KiB
Python

from __future__ import absolute_import, print_function
import sys
from future.tests.base import unittest
from future.standard_library import install_aliases
class ImportUrllibTest(unittest.TestCase):
def test_urllib(self):
"""
Tests that urllib isn't changed from under our feet. (This might not
even be a problem?)
"""
from future import standard_library
import urllib
orig_file = urllib.__file__
with standard_library.hooks():
import urllib.response
self.assertEqual(orig_file, urllib.__file__)
def test_issue_158(self):
"""
CherryPy conditional import in _cpcompat.py: issue 158
"""
install_aliases()
try:
from urllib.parse import unquote as parse_unquote
def unquote_qs(atom, encoding, errors='strict'):
return parse_unquote(
atom.replace('+', ' '),
encoding=encoding,
errors=errors)
except ImportError:
from urllib import unquote as parse_unquote
def unquote_qs(atom, encoding, errors='strict'):
return parse_unquote(atom.replace('+', ' ')).decode(encoding, errors)
self.assertEqual(unquote_qs('/%7Econnolly/', 'utf-8'),
'/~connolly/')
if __name__ == '__main__':
unittest.main()