'According to PEP-3333, the headers passed to the I{start_response}
callable MUST be a plain list:
The response_headers argument ... must be a Python list; i.e.
type(response_headers) is ListType
However, for bug-compatibility, any sequence is accepted. In both
Python 2 and Python 3, only a warning is issued when a sequence other
than a list is encountered.'

def test_headersShouldBePlainList(self):

    def application(environ, startResponse):
        startResponse('200    OK', (('not', 'list'),))
        return iter(())
    (request, result) = self.prepareRequest(application)
    with warnings.catch_warnings(record=True) as caught:
        request.requestReceived()
        result = self.successResultOf(result)
    self.assertEqual(1, len(caught))
    self.assertEqual(RuntimeWarning, caught[0].category)
    self.assertEqual("headers    should    be    a    list,    not    (('not',    'list'),)    (tuple)", str(caught[0].message))
