def test_encode_decode_string_type(self): self.assertEquals(type(URL.encode(u"*****@*****.**")), type(u"*****@*****.**")) self.assertEquals(type(URL.encode("*****@*****.**")), type("*****@*****.**")) self.assertEquals(type(URL.escape(u"*****@*****.**")), type(u"*****@*****.**")) self.assertEquals(type(URL.escape("*****@*****.**")), type("*****@*****.**")) self.assertEquals(type(URL.decode(u"*****@*****.**")), type(u"*****@*****.**")) self.assertEquals(type(URL.decode("*****@*****.**")), type("*****@*****.**"))
def test_clean_strings(self): # Should be unmodified and retain pointers raw = 'hello/john' escaped = URL.escape(raw) self.assertEquals(escaped, raw) self.assertEquals(id(escaped), id(raw)) raw = 'hello_john' encoded = URL.encode(raw) self.assertEquals(encoded, raw) self.assertEquals(id(encoded), id(raw))
def test_encode_decode(self): raw = "http://abc.se:12/mos/jäger/grek land/hej.html?mos=japp&öland=nej#ge-mig/då"; escaped = URL.escape(raw) self.assertEquals(escaped, 'http%3A//abc.se%3A12/mos/j%C3%A4ger/grek%20land/hej.html'\ '?mos=japp&%C3%B6land=nej%23ge-mig/d%C3%A5') encoded = URL.encode(raw) self.assertEquals(encoded, 'http%3A%2F%2Fabc.se%3A12%2Fmos%2Fj%C3%A4ger%2Fgrek%20land%2Fhej.html%3Fmos%3Djapp'\ '%26%C3%B6land%3Dnej%23ge-mig%2Fd%C3%A5') self.assertEquals(URL.decode(escaped), raw) self.assertEquals(URL.decode(encoded), raw) self.assertEquals(URL.unescape(escaped), URL.decode(escaped)) self.assertEquals(URL.decode("*****@*****.**"), "*****@*****.**")