summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pyramid/static.py6
-rw-r--r--pyramid/tests/test_static.py6
2 files changed, 11 insertions, 1 deletions
diff --git a/pyramid/static.py b/pyramid/static.py
index 9d691ca46..4ae00b056 100644
--- a/pyramid/static.py
+++ b/pyramid/static.py
@@ -206,7 +206,11 @@ class QueryStringCacheBuster(object):
self.token = token
def pregenerate(self, token, subpath, kw):
- kw.setdefault('_query', {})[self.param] = token
+ query = kw.setdefault('_query', {})
+ if isinstance(query, dict):
+ query[self.param] = token
+ else:
+ kw['_query'] = query + [(self.param, token)]
return subpath, kw
diff --git a/pyramid/tests/test_static.py b/pyramid/tests/test_static.py
index 5edb70b50..f7b580df2 100644
--- a/pyramid/tests/test_static.py
+++ b/pyramid/tests/test_static.py
@@ -453,6 +453,12 @@ class TestQueryStringCacheBuster(unittest.TestCase):
fut('foo', ('bar',), {}),
(('bar',), {'_query': {'y': 'foo'}}))
+ def test_pregenerate_query_is_already_tuples(self):
+ fut = self._makeOne().pregenerate
+ self.assertEqual(
+ fut('foo', ('bar',), {'_query': [('a', 'b')]}),
+ (('bar',), {'_query': [('a', 'b'), ('x', 'foo')]}))
+
class DummyContext:
pass