From 2d79938483a98ce293f533d5258dbdc85b2d59a8 Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Wed, 15 Sep 2010 00:16:54 +0000 Subject: Features -------- - Compatibility with WebOb 1.0. Requirements ------------ - Now requires WebOb >= 1.0. Backwards Incompatibilities --------------------------- - Due to changes introduced WebOb 1.0, the ``repoze.bfg.request.make_request_ascii`` event subscriber no longer works, so it has been removed. This subscriber was meant to be used in a deployment so that code written before BFG 0.7.0 could run unchanged. At this point, such code will need to be rewritten to expect Unicode from ``request.GET``, ``request.POST`` and ``request.params`` or it will need to be changed to use ``request.str_POST``, ``request.str_GET`` and/or ``request.str_params`` instead of the non-``str`` versions of same, as the non-``str`` versions of the same APIs always now perform decoding to Unicode. --- repoze/bfg/request.py | 10 ---------- repoze/bfg/tests/test_request.py | 23 ++--------------------- 2 files changed, 2 insertions(+), 31 deletions(-) (limited to 'repoze') diff --git a/repoze/bfg/request.py b/repoze/bfg/request.py index 851962446..f32a7a40c 100644 --- a/repoze/bfg/request.py +++ b/repoze/bfg/request.py @@ -6,15 +6,6 @@ from webob import Request as WebobRequest from repoze.bfg.interfaces import IRequest -def make_request_ascii(event): - """ An function that is useful as a - :class:`repoze.bfg.interfaces.INewRequest` :term:`event` - :term:`subscriber` that causes the request charset to be ASCII so - code written before :mod:`repoze.bfg` 0.7.0 can continue to work - without a change""" - request = event.request - request.default_charset = None - class Request(WebobRequest): """ A subclass of the :term:`WebOb` Request class. An instance of @@ -41,7 +32,6 @@ class Request(WebobRequest): response_callbacks = () finished_callbacks = () exception = None - default_charset = 'utf-8' def add_response_callback(self, callback): """ diff --git a/repoze/bfg/tests/test_request.py b/repoze/bfg/tests/test_request.py index 87585c301..d2b6679d3 100644 --- a/repoze/bfg/tests/test_request.py +++ b/repoze/bfg/tests/test_request.py @@ -1,16 +1,5 @@ import unittest -class TestMakeRequestASCII(unittest.TestCase): - def _callFUT(self, event): - from repoze.bfg.request import make_request_ascii - return make_request_ascii(event) - - def test_it(self): - request = DummyRequest() - event = DummyNewRequestEvent(request) - self._callFUT(event) - self.assertEqual(request.default_charset, None) - class TestRequest(unittest.TestCase): def _makeOne(self, environ): return self._getTargetClass()(environ) @@ -21,7 +10,7 @@ class TestRequest(unittest.TestCase): def test_charset_defaults_to_utf8(self): r = self._makeOne({'PATH_INFO':'/'}) - self.assertEqual(r.charset, 'utf-8') + self.assertEqual(r.charset, 'UTF-8') def test_exception_defaults_to_None(self): r = self._makeOne({'PATH_INFO':'/'}) @@ -33,17 +22,9 @@ class TestRequest(unittest.TestCase): 'QUERY_STRING':'la=La%20Pe%C3%B1a' } request = self._makeOne(environ) + request.charset = None self.assertEqual(request.GET['la'], u'La Pe\xf1a') - def test_params_bystring_when_default_charset_is_None(self): - environ = { - 'PATH_INFO':'/', - 'QUERY_STRING':'la=La%20Pe%C3%B1a' - } - request = self._makeOne(environ) - request.default_charset = None - self.assertEqual(request.GET['la'], 'La Pe\xc3\xb1a') - def test_class_implements(self): from repoze.bfg.interfaces import IRequest klass = self._getTargetClass() -- cgit v1.2.3