summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-09-16 15:45:14 +0000
committerChris McDonough <chrism@agendaless.com>2009-09-16 15:45:14 +0000
commitef68a7851b91ef135c03d940f7a9d8b1d519e1cf (patch)
treeab03c614eff00bb3c6aa163b536c4d016b156b9e
parentd393e754051680155fb2687474fd2959c34bbe99 (diff)
downloadpyramid-ef68a7851b91ef135c03d940f7a9d8b1d519e1cf.tar.gz
pyramid-ef68a7851b91ef135c03d940f7a9d8b1d519e1cf.tar.bz2
pyramid-ef68a7851b91ef135c03d940f7a9d8b1d519e1cf.zip
Coverage.
-rw-r--r--repoze/bfg/chameleon_zpt.py5
-rw-r--r--repoze/bfg/tests/test_renderers.py15
-rw-r--r--repoze/bfg/tests/test_view.py35
-rw-r--r--repoze/bfg/view.py24
4 files changed, 48 insertions, 31 deletions
diff --git a/repoze/bfg/chameleon_zpt.py b/repoze/bfg/chameleon_zpt.py
index b4be1a4fc..9f6012b19 100644
--- a/repoze/bfg/chameleon_zpt.py
+++ b/repoze/bfg/chameleon_zpt.py
@@ -56,8 +56,3 @@ def render_template_to_response(path, **kw):
response_factory = queryUtility(IResponseFactory, default=Response)
return response_factory(result)
-def _auto_reload():
- settings = get_settings()
- if settings:
- return settings['reload_templates']
- return False
diff --git a/repoze/bfg/tests/test_renderers.py b/repoze/bfg/tests/test_renderers.py
index 3ceb672b8..6e33f4ce5 100644
--- a/repoze/bfg/tests/test_renderers.py
+++ b/repoze/bfg/tests/test_renderers.py
@@ -165,6 +165,21 @@ class TestRendererFromName(unittest.TestCase):
result = self._callFUT(fixture)
self.assertEqual(result, renderer)
+ def test_it_no_renderer(self):
+ self.assertRaises(ValueError, self._callFUT, 'foo')
+
+
+class Test_json_renderer_factory(unittest.TestCase):
+ def _callFUT(self, name):
+ from repoze.bfg.renderers import json_renderer_factory
+ return json_renderer_factory(name)
+
+ def test_it(self):
+ renderer = self._callFUT(None)
+ result = renderer({'a':1})
+ self.assertEqual(result, '{"a": 1}')
+
+
class DummyFactory:
def __init__(self, renderer):
self.renderer = renderer
diff --git a/repoze/bfg/tests/test_view.py b/repoze/bfg/tests/test_view.py
index 3106359a3..c4bbb719c 100644
--- a/repoze/bfg/tests/test_view.py
+++ b/repoze/bfg/tests/test_view.py
@@ -631,7 +631,7 @@ class Test_map_view(unittest.TestCase):
from repoze.bfg.view import map_view
return map_view(view, *arg, **kw)
- def _registerRenderer(self):
+ def _registerRenderer(self, name='.txt'):
from repoze.bfg.interfaces import IRendererFactory
from repoze.bfg.interfaces import ITemplateRenderer
from zope.interface import implements
@@ -648,7 +648,7 @@ class Test_map_view(unittest.TestCase):
factory = RendererFactory()
sm = getSiteManager()
- sm.registerUtility(factory, IRendererFactory, name='.txt')
+ sm.registerUtility(factory, IRendererFactory, name=name)
def test_view_as_function_context_and_request(self):
def view(context, request):
@@ -664,7 +664,7 @@ class Test_map_view(unittest.TestCase):
self.failIf(result is view)
self.assertRaises(TypeError, result, None, None)
- def test_view_as_function_with_attr_and_template(self):
+ def test_view_as_function_with_attr_and_renderer(self):
self._registerRenderer()
def view(context, request):
""" """
@@ -719,7 +719,7 @@ class Test_map_view(unittest.TestCase):
self.assertEqual(view.__name__, result.__name__)
self.assertEqual(result(None, None), 'OK')
- def test_view_as_newstyle_class_context_and_request_with_attr_and_template(
+ def test_view_as_newstyle_class_context_and_request_with_attr_and_renderer(
self):
self._registerRenderer()
class view(object):
@@ -762,7 +762,7 @@ class Test_map_view(unittest.TestCase):
self.assertEqual(view.__name__, result.__name__)
self.assertEqual(result(None, None), 'OK')
- def test_view_as_newstyle_class_requestonly_with_attr_and_template(self):
+ def test_view_as_newstyle_class_requestonly_with_attr_and_renderer(self):
self._registerRenderer()
class view(object):
def __init__(self, request):
@@ -804,7 +804,7 @@ class Test_map_view(unittest.TestCase):
self.assertEqual(view.__name__, result.__name__)
self.assertEqual(result(None, None), 'OK')
- def test_view_as_oldstyle_class_context_and_request_with_attr_and_template(
+ def test_view_as_oldstyle_class_context_and_request_with_attr_and_renderer(
self):
self._registerRenderer()
class view:
@@ -847,7 +847,7 @@ class Test_map_view(unittest.TestCase):
self.assertEqual(view.__name__, result.__name__)
self.assertEqual(result(None, None), 'OK')
- def test_view_as_oldstyle_class_requestonly_with_attr_and_template(self):
+ def test_view_as_oldstyle_class_requestonly_with_attr_and_renderer(self):
self._registerRenderer()
class view:
def __init__(self, request):
@@ -881,7 +881,7 @@ class Test_map_view(unittest.TestCase):
self.failIf(result is view)
self.assertEqual(result(None, None), 'OK')
- def test_view_as_instance_context_and_request_attr_and_template(self):
+ def test_view_as_instance_context_and_request_attr_and_renderer(self):
self._registerRenderer()
class View:
def index(self, context, request):
@@ -917,7 +917,7 @@ class Test_map_view(unittest.TestCase):
self.failUnless('instance' in result.__name__)
self.assertEqual(result(None, None), 'OK')
- def test_view_as_instance_requestonly_with_attr_and_template(self):
+ def test_view_as_instance_requestonly_with_attr_and_renderer(self):
self._registerRenderer()
class View:
def index(self, request):
@@ -932,7 +932,7 @@ class Test_map_view(unittest.TestCase):
request = DummyRequest()
self.assertEqual(result(None, request).body, 'Hello!')
- def test_view_templateonly(self):
+ def test_view_rendereronly(self):
self._registerRenderer()
def view(context, request):
return {'a':'1'}
@@ -944,6 +944,17 @@ class Test_map_view(unittest.TestCase):
request = DummyRequest()
self.assertEqual(result(None, request).body, 'Hello!')
+ def test_view_defaultrendereronly(self):
+ self._registerRenderer(name='')
+ def view(context, request):
+ return {'a':'1'}
+ result = self._callFUT(view)
+ self.failIf(result is view)
+ self.assertEqual(view.__module__, result.__module__)
+ self.assertEqual(view.__doc__, result.__doc__)
+ request = DummyRequest()
+ self.assertEqual(result(None, request).body, 'Hello!')
+
class TestRequestOnly(unittest.TestCase):
def _callFUT(self, arg):
from repoze.bfg.view import requestonly
@@ -1153,12 +1164,12 @@ class Test_rendered_response(unittest.TestCase):
def tearDown(self):
cleanUp()
- def _callFUT(self, template_name, response, view=None,
+ def _callFUT(self, renderer_name, response, view=None,
context=None, request=None):
from repoze.bfg.view import rendered_response
if request is None:
request = DummyRequest()
- return rendered_response(template_name, response, view, context,
+ return rendered_response(renderer_name, response, view, context,
request)
def _registerRenderer(self):
diff --git a/repoze/bfg/view.py b/repoze/bfg/view.py
index 0f899df53..e5a6e5398 100644
--- a/repoze/bfg/view.py
+++ b/repoze/bfg/view.py
@@ -336,7 +336,7 @@ class bfg_view(object):
"""
def __init__(self, name='', request_type=None, for_=None, permission=None,
route_name=None, request_method=None, request_param=None,
- containment=None, attr=None, renderer='', wrapper=None):
+ containment=None, attr=None, renderer=None, wrapper=None):
self.name = name
self.request_type = request_type
self.for_ = for_
@@ -469,6 +469,10 @@ def rendered_response(renderer_name, response, view, context, request):
def map_view(view, attr=None, renderer=None):
wrapped_view = view
+ if renderer is None:
+ if queryUtility(IRendererFactory) is not None: # default renderer
+ renderer = ''
+
if inspect.isclass(view):
# If the object we've located is a class, turn it into a
# function that operates like a Zope view (when it's invoked,
@@ -485,7 +489,7 @@ def map_view(view, attr=None, renderer=None):
response = inst()
else:
response = getattr(inst, attr)()
- if renderer:
+ if renderer is not None:
response = rendered_response(renderer, response, inst,
context, request)
return response
@@ -498,7 +502,7 @@ def map_view(view, attr=None, renderer=None):
response = inst()
else:
response = getattr(inst, attr)()
- if renderer:
+ if renderer is not None:
response = rendered_response(renderer, response, inst,
context, request)
return response
@@ -513,7 +517,7 @@ def map_view(view, attr=None, renderer=None):
else:
response = getattr(view, attr)(request)
- if renderer:
+ if renderer is not None:
response = rendered_response(renderer, response, view,
context, request)
return response
@@ -522,13 +526,13 @@ def map_view(view, attr=None, renderer=None):
elif attr:
def _bfg_attr_view(context, request):
response = getattr(view, attr)(context, request)
- if renderer:
+ if renderer is not None:
response = rendered_response(renderer, response, view,
context, request)
return response
wrapped_view = _bfg_attr_view
- elif renderer:
+ elif renderer is not None:
def _rendered_view(context, request):
response = view(context, request)
response = rendered_response(renderer, response, view,
@@ -536,14 +540,6 @@ def map_view(view, attr=None, renderer=None):
return response
wrapped_view = _rendered_view
- elif queryUtility(IRendererFactory):
- def _default_rendered_view(context, request):
- response = view(context, request)
- response = rendered_response(renderer, response, view,
- context, request)
- return response
- wrapped_view = _default_rendered_view
-
decorate_view(wrapped_view, view)
return wrapped_view