Pylons/webob — pull request #162 by dairiki (2014-10-03 16:41:54+00:00)
Title: GetDict.extend() does not update QUERY_STRING

Calling `request.GET.extend([('foo', 'bar')])` was not keeping ``environ['QUERY_STRING']`` in sync. This meant that ``request.url``, ``request.path_qs``, &c. got out of sync too. This fixes that.

----

It also fixes some tests whose brokenness became apparent after ``GetDict.extend`` was fixed. Issues with existing tests were:

- Some tests were putting non-string values into the GetDict. GetDict doesn't like this. (You can't encode an integer to utf-8.)

- One test passed `GetDict.extend` an object whose `.items()` method returned a list of strings. `Extend` (rightfully, I think) assumes that `.items()` returns a sequence of (key, value) pairs.