From 004e643fd80c0e4f3f562a5e7ed9ab8f5d324ddd Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Fri, 15 Apr 2011 17:26:38 -0400 Subject: 100% condition coverage for pyramid.encode --- pyramid/encode.py | 5 ++++- pyramid/tests/test_encode.py | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/pyramid/encode.py b/pyramid/encode.py index 127c405ed..e6c7a969b 100644 --- a/pyramid/encode.py +++ b/pyramid/encode.py @@ -41,7 +41,10 @@ def url_quote(s, safe=''): safe_map = {} for i in range(256): c = chr(i) - safe_map[c] = (c in safe) and c or ('%%%02X' % i) + if c in safe: + safe_map[c] = c + else: + safe_map[c] = '%%%02X' % i _safemaps[cachekey] = safe_map res = map(safe_map.__getitem__, s) return ''.join(res) diff --git a/pyramid/tests/test_encode.py b/pyramid/tests/test_encode.py index 8a5530f2d..741a24393 100644 --- a/pyramid/tests/test_encode.py +++ b/pyramid/tests/test_encode.py @@ -24,6 +24,11 @@ class UrlEncodeTests(unittest.TestCase): result = self._callFUT([('a', la), ('b',2)], doseq=True) self.assertEqual(result, 'a=LaPe%C3%B1a&a=LaPe%C3%B1a&b=2') + def test_int_val_multiple(self): + s = [1, 2] + result = self._callFUT([('a', s)], doseq=True) + self.assertEqual(result, 'a=1&a=2') + def test_dict(self): result = self._callFUT({'a':1}) self.assertEqual(result, 'a=1') -- cgit v1.2.3