def test_can_percent_encode_extended_chars(self): encoded = percent_encode("/El Niño/") assert encoded == b"%2FEl%20Ni%C3%B1o%2F"
def test_can_percent_encode_with_safe_chars(self): encoded = percent_encode("/El Niño/", safe="/|\\") assert encoded == b"/El%20Ni%C3%B1o/"
def test_can_percent_encode_dictionary(self): encoded = percent_encode(OrderedDict([("one", 1), ("two", 2)])) assert encoded == b"one=1&two=2"
def test_can_percent_encode_reserved_chars(self): encoded = percent_encode("20% of $100 = $20") assert encoded == b"20%25%20of%20%24100%20%3D%20%2420"
def test_can_percent_encode_unicode(self): encoded = percent_encode(ustr("foo")) assert encoded == b"foo"
def test_can_percent_encode_list(self): encoded = percent_encode(["knife&fork", "spoon"]) assert encoded == b"knife%26fork&spoon"
def test_can_percent_encode_bytes(self): encoded = percent_encode(b"foo") assert encoded == b"foo"
def test_can_percent_encode_string(self): encoded = percent_encode("foo") assert encoded == b"foo"
def test_can_percent_encode_number(self): encoded = percent_encode(12) assert encoded == b"12"
def test_can_percent_encode_empty_string(self): encoded = percent_encode("") assert encoded == b""
def test_can_percent_encode_none(self): encoded = percent_encode(None) assert encoded is None