diff options
| author | Chris McDonough <chrism@plope.com> | 2013-10-02 16:38:28 -0400 |
|---|---|---|
| committer | Chris McDonough <chrism@plope.com> | 2013-10-02 16:38:28 -0400 |
| commit | 15afe5e7fb5dafa570faf055eb4b4a4518349409 (patch) | |
| tree | 6378ffdffd1ca02186e691161271164148786d64 | |
| parent | 9c3c9a8075f250122d7827a71b6217213180fe70 (diff) | |
| download | pyramid-15afe5e7fb5dafa570faf055eb4b4a4518349409.tar.gz pyramid-15afe5e7fb5dafa570faf055eb4b4a4518349409.tar.bz2 pyramid-15afe5e7fb5dafa570faf055eb4b4a4518349409.zip | |
render the qs such that when provided with None as a value, it will render the key plus the equal sign
| -rw-r--r-- | pyramid/encode.py | 2 | ||||
| -rw-r--r-- | pyramid/tests/test_encode.py | 8 |
2 files changed, 7 insertions, 3 deletions
diff --git a/pyramid/encode.py b/pyramid/encode.py index 9341f7665..9e190bc21 100644 --- a/pyramid/encode.py +++ b/pyramid/encode.py @@ -55,7 +55,7 @@ def urlencode(query, doseq=True): result += '%s%s=%s' % (prefix, k, x) prefix = '&' elif v is None: - result += '%s%s' % (prefix, k) + result += '%s%s=' % (prefix, k) else: v = _enc(v) result += '%s%s=%s' % (prefix, k, v) diff --git a/pyramid/tests/test_encode.py b/pyramid/tests/test_encode.py index 1e0ecbe20..908249877 100644 --- a/pyramid/tests/test_encode.py +++ b/pyramid/tests/test_encode.py @@ -43,11 +43,15 @@ class UrlEncodeTests(unittest.TestCase): def test_None_value(self): result = self._callFUT([('a', None)]) - self.assertEqual(result, 'a') + self.assertEqual(result, 'a=') def test_None_value_with_prefix(self): result = self._callFUT([('a', '1'), ('b', None)]) - self.assertEqual(result, 'a=1&b') + self.assertEqual(result, 'a=1&b=') + + def test_None_value_with_prefix_values(self): + result = self._callFUT([('a', '1'), ('b', None), ('c', None)]) + self.assertEqual(result, 'a=1&b=&c=') class URLQuoteTests(unittest.TestCase): def _callFUT(self, val, safe=''): |
