summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris McDonough <chrism@plope.com>2013-10-02 16:38:28 -0400
committerChris McDonough <chrism@plope.com>2013-10-02 16:38:28 -0400
commit15afe5e7fb5dafa570faf055eb4b4a4518349409 (patch)
tree6378ffdffd1ca02186e691161271164148786d64
parent9c3c9a8075f250122d7827a71b6217213180fe70 (diff)
downloadpyramid-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.py2
-rw-r--r--pyramid/tests/test_encode.py8
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=''):