diff options
| author | pjenvey <devnull@localhost> | 2007-01-22 03:50:53 +0000 |
|---|---|---|
| committer | pjenvey <devnull@localhost> | 2007-01-22 03:50:53 +0000 |
| commit | 09df81aa57e768c5d0f6b26b23e9f9f02096ec6b (patch) | |
| tree | e2fcd98ca3e00dda71dece3ac2489f579ad70040 /tests | |
| parent | 4a2ca4cc0bdaa79a00f6a4979d43be59b03063bf (diff) | |
| download | paste-09df81aa57e768c5d0f6b26b23e9f9f02096ec6b.tar.gz | |
by default don't have WSGIRequest decode parameter keys when unicode params are expected.
allow this behavior when WSGIRequest.decode_param_names is enabled
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_multidict.py | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/tests/test_multidict.py b/tests/test_multidict.py index a6787e8..76ffe0e 100644 --- a/tests/test_multidict.py +++ b/tests/test_multidict.py @@ -48,19 +48,33 @@ def test_dict(): assert dcopy != d def test_unicode_dict(): + _test_unicode_dict() + _test_unicode_dict(decode_param_names=True) + +def _test_unicode_dict(decode_param_names=False): + d = UnicodeMultiDict(MultiDict({'a': 'a test'})) + d.encoding = 'utf-8' + d.errors = 'ignore' + + if decode_param_names: + key_str = unicode + d.decode_keys = True + else: + key_str = str + def assert_unicode(obj): assert isinstance(obj, unicode) + def assert_key_str(obj): + assert isinstance(obj, key_str) + def assert_unicode_items(obj): key, value = obj - assert isinstance(key, unicode) + assert isinstance(key, key_str) assert isinstance(value, unicode) - d = UnicodeMultiDict(MultiDict({'a': 'a test'})) - d.encoding = 'utf-8' - d.errors = 'ignore' assert d.items() == [('a', u'a test')] - map(assert_unicode, d.keys()) + map(assert_key_str, d.keys()) map(assert_unicode, d.values()) d['b'] = '2 test' @@ -89,7 +103,7 @@ def test_unicode_dict(): assert isinstance(d.getone('a'), unicode) assert d.popitem() == ('c', u'3 test') d['c'] = '3 test' - map(assert_unicode, d.popitem()) + assert_unicode_items(d.popitem()) assert d.items() == [('a', u'a test')] map(assert_unicode_items, d.items()) @@ -97,7 +111,7 @@ def test_unicode_dict(): assert d.setdefault('z', item) is item items = d.items() assert items == [('a', u'a test'), ('z', item)] - assert isinstance(items[1][0], unicode) + assert isinstance(items[1][0], key_str) assert isinstance(items[1][1], list) assert isinstance(d.setdefault('y', 'y test'), unicode) @@ -127,7 +141,7 @@ def test_unicode_dict(): assert isinstance(ufs, cgi.FieldStorage) assert ufs is not fs assert ufs.name == fs.name - assert isinstance(ufs.name, unicode) + assert isinstance(ufs.name, key_str) assert ufs.filename == fs.filename assert isinstance(ufs.filename, unicode) assert isinstance(ufs.value, str) |
