diff options
| author | hlv <nitic@gmx.net> | 2012-03-06 11:52:36 +0100 |
|---|---|---|
| committer | hlv <nitic@gmx.net> | 2012-03-06 11:52:36 +0100 |
| commit | df3bea9e129fdfe0d55fa3f69d64cbbed6a9eea7 (patch) | |
| tree | b25e24eaa0c57cb80ea7c50f8668dff5eed242eb | |
| parent | 719a379e204104a8955b5691a6152e45d978d4ff (diff) | |
| download | pyramid-df3bea9e129fdfe0d55fa3f69d64cbbed6a9eea7.tar.gz pyramid-df3bea9e129fdfe0d55fa3f69d64cbbed6a9eea7.tar.bz2 pyramid-df3bea9e129fdfe0d55fa3f69d64cbbed6a9eea7.zip | |
corrected bugfix #461 - tests explicitly for instancemethods now
testcase added
| -rw-r--r-- | pyramid/config/views.py | 16 | ||||
| -rw-r--r-- | pyramid/tests/test_config/test_views.py | 8 |
2 files changed, 16 insertions, 8 deletions
diff --git a/pyramid/config/views.py b/pyramid/config/views.py index 7d0a5a971..f984e46f2 100644 --- a/pyramid/config/views.py +++ b/pyramid/config/views.py @@ -143,14 +143,14 @@ class ViewDeriver(object): self.text_wrapped_view(view)))))))))) @wraps_view def text_wrapped_view(self, view): - # wraps the view and adds __text__ attribute - # intended for instancemethods - if hasattr(view, '__text__'): - return view - def text_wrapper(context, request): - return view(context, request) - text_wrapper.__text__ = '' - return text_wrapper + if inspect.ismethod(view): + if hasattr(view, '__text__'): + return view + def text_wrapper(context, request): + return view(context, request) + text_wrapper.__text__ = '' + return text_wrapper + return view @wraps_view def mapped_view(self, view): diff --git a/pyramid/tests/test_config/test_views.py b/pyramid/tests/test_config/test_views.py index 7bfe174b7..13c00c2b6 100644 --- a/pyramid/tests/test_config/test_views.py +++ b/pyramid/tests/test_config/test_views.py @@ -218,6 +218,14 @@ class TestViewsConfigurationMixin(unittest.TestCase): result = wrapper(None, None) self.assertEqual(result, 'OK') + def test_add_view_as_instancemethod(self): + from pyramid.renderers import null_renderer + class View: + def index(self, context, request): pass + view = View() + config=self._makeOne(autocommit=True) + config.add_view(view=view.index, renderer=null_renderer) + def test_add_view_as_instance_requestonly(self): from pyramid.renderers import null_renderer class AView: |
