def test_percent_decoding_partial_extended_chars_will_fail(): try: percent_decode("El%20Ni%C3") except UnicodeDecodeError: assert True else: assert False
def test_can_percent_decode_extended_chars(): decoded = percent_decode("El%20Ni%C3%B1o") assert decoded == "El Niño"
def test_can_percent_decode_reserved_chars(): decoded = percent_decode("20%25%20of%20%24100%20%3D%20%2420") assert decoded == "20% of $100 = $20"
def test_can_percent_decode_plus_to_space(): decoded = percent_decode("one+two%20three+four") assert decoded == "one two three four"
def test_can_percent_decode_string(): decoded = percent_decode("foo") assert decoded == "foo"
def test_can_percent_decode_number(): decoded = percent_decode(12) assert decoded == "12"
def test_can_percent_decode_empty_string(): decoded = percent_decode("") assert decoded == ""
def test_can_percent_decode_none(): decoded = percent_decode(None) assert decoded is None