def it_encodes_unicode(self): assert urlencode_unicode({"test": UNICODE_STRING}) == ''.join([ 'test=%E0%AE%B8%E0%AF%8D%E0%AE%B1%E0%AF%80%E0%AE%A9%E0%AE%BF', '%E0%AE%B5%E0%AE%BE%E0%AE%B8+%E0%AE%B0%E0%AE%BE%E0%AE%AE%E0%AE', '%BE%E0%AE%A9%E0%AF%81%E0%AE%9C%E0%AE%A9%E0%AF%8D+%E0%AE%90%E0', '%AE%AF%E0%AE%99%E0%AF%8D%E0%AE%95%E0%AE%BE%E0%AE%B0%E0%AF%8D', ])
def it_raises_type_error_on_bad_data_types(self): with pytest.raises(TypeError) as e: urlencode_unicode(object()) assert str(e.value) == 'not a valid non-string sequence or mapping object'
def it_encodes_lists(self): assert urlencode_unicode([('test', 'asdf')]) == 'test=asdf'
def it_encodes_dicts(self): assert urlencode_unicode({'test': 'asdf'}) == 'test=asdf'
def _encode_data(self, data): """URL encode data.""" return urlencode_unicode(data if data is not None else {})
def it_raises_type_error_on_bad_data_types(self): with pytest.raises(TypeError) as e: urlencode_unicode(object()) assert str( e.value) == 'not a valid non-string sequence or mapping object'
def _encode_data(self, data): """URL encode data.""" data = data if data is not None else {} data = to_nested_php_args(data) return urlencode_unicode(data)