summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris McDonough <chrism@plope.com>2013-09-07 06:21:53 -0400
committerChris McDonough <chrism@plope.com>2013-09-07 06:21:53 -0400
commit3db6c07ad2653c2a04c61f4cdad059b2f8de237b (patch)
tree29d12a1ccee67da063d58bf8392c342cd1b025a7
parentf504ccc216a6d6058ed9228b07f7d1d9a9e5945e (diff)
downloadpyramid-3db6c07ad2653c2a04c61f4cdad059b2f8de237b.tar.gz
pyramid-3db6c07ad2653c2a04c61f4cdad059b2f8de237b.tar.bz2
pyramid-3db6c07ad2653c2a04c61f4cdad059b2f8de237b.zip
make the right assertions about this case
-rw-r--r--pyramid/tests/test_renderers.py36
1 files changed, 21 insertions, 15 deletions
diff --git a/pyramid/tests/test_renderers.py b/pyramid/tests/test_renderers.py
index 05d9f3861..0b67462bb 100644
--- a/pyramid/tests/test_renderers.py
+++ b/pyramid/tests/test_renderers.py
@@ -442,19 +442,21 @@ class Test_render(unittest.TestCase):
from pyramid.renderers import render
return render(renderer_name, value, request=request, package=package)
- def test_it_no_request(self):
+ def _registerRenderer(self):
renderer = self.config.testing_add_renderer(
'pyramid.tests:abc/def.pt')
renderer.string_response = 'abc'
+ return renderer
+
+ def test_it_no_request(self):
+ renderer = self._registerRenderer()
result = self._callFUT('abc/def.pt', dict(a=1))
self.assertEqual(result, 'abc')
renderer.assert_(a=1)
renderer.assert_(request=None)
def test_it_with_request(self):
- renderer = self.config.testing_add_renderer(
- 'pyramid.tests:abc/def.pt')
- renderer.string_response = 'abc'
+ renderer = self._registerRenderer()
request = testing.DummyRequest()
result = self._callFUT('abc/def.pt',
dict(a=1), request=request)
@@ -464,9 +466,7 @@ class Test_render(unittest.TestCase):
def test_it_with_package(self):
import pyramid.tests
- renderer = self.config.testing_add_renderer(
- 'pyramid.tests:abc/def.pt')
- renderer.string_response = 'abc'
+ renderer = self._registerRenderer()
request = testing.DummyRequest()
result = self._callFUT('abc/def.pt', dict(a=1), request=request,
package=pyramid.tests)
@@ -474,23 +474,29 @@ class Test_render(unittest.TestCase):
renderer.assert_(a=1)
renderer.assert_(request=request)
- def test_it_preserves_response(self):
+ def test_response_preserved(self):
request = testing.DummyRequest()
response = object() # should error if mutated
request.response = response
+ # use a json renderer, which will mutate the response
result = self._callFUT('json', dict(a=1), request=request)
self.assertEqual(result, '{"a": 1}')
self.assertEqual(request.response, response)
- def test_it_deletes_response(self):
- request = testing.DummyRequest()
- try:
- delattr(request, 'response')
- except AttributeError:
- pass
+ def test_no_response_to_preserve(self):
+ from pyramid.decorator import reify
+ class DummyRequestWithClassResponse(object):
+ _response = DummyResponse()
+ _response.content_type = None
+ _response.default_content_type = None
+ @reify
+ def response(self):
+ return self._response
+ request = DummyRequestWithClassResponse()
+ # use a json renderer, which will mutate the response
result = self._callFUT('json', dict(a=1), request=request)
self.assertEqual(result, '{"a": 1}')
- self.assertFalse(hasattr(request, 'request'))
+ self.assertFalse('response' in request.__dict__)
class Test_render_to_response(unittest.TestCase):
def setUp(self):