44
42
class TestTransport(TestCase):
45
43
"""Test the non transport-concrete class functionality."""
47
def test_urlescape(self):
48
self.assertEqual('%25', urlescape('%'))
49
self.assertEqual('%C3%A5', urlescape(u'\xe5'))
51
def test_urlunescape(self):
52
self.assertEqual('%', urlunescape('%25'))
53
self.assertEqual(u'\xe5', urlunescape('%C3%A5'))
54
self.assertEqual('%', urlunescape(urlescape('%')))
56
self.assertRaises(InvalidURL, urlunescape, u'\xe5')
57
self.assertRaises(InvalidURL, urlunescape, '\xe5')
58
self.assertRaises(InvalidURL, urlunescape, '%E5')
60
def test_url_escape_unescape(self):
61
self.assertEqual(u'\xe5', urlunescape(urlescape(u'\xe5')))
62
self.assertEqual('%', urlunescape(urlescape('%')))
64
45
def test__get_set_protocol_handlers(self):
65
46
handlers = _get_protocol_handlers()
66
47
self.assertNotEqual({}, handlers)