From 6b089d80cc0ec057a4d560ca3a303a67f3d5a3ef Mon Sep 17 00:00:00 2001 From: Bert JW Regeer Date: Fri, 16 Oct 2015 00:04:16 -0600 Subject: Add tests for the value aspect of view_derivations --- pyramid/tests/test_config/test_derivations.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/pyramid/tests/test_config/test_derivations.py b/pyramid/tests/test_config/test_derivations.py index f33856e75..277aad662 100644 --- a/pyramid/tests/test_config/test_derivations.py +++ b/pyramid/tests/test_config/test_derivations.py @@ -1249,6 +1249,32 @@ class TestDerivationIntegration(unittest.TestCase): self.assertEqual(wrapper(None, request), response) self.assertEqual(['test1', 'test2'], response.deriv) + def test_view_options_default_or_not(self): + response = DummyResponse() + view = lambda *arg: response + response.deriv = [] + + def deriv1(view, value, **kw): + response.deriv.append(value) + response.deriv.append(kw['options'].get('deriv1', None)) + return view + + def deriv2(view, value, **kw): + response.deriv.append(value) + response.deriv.append(kw['options'].get('deriv2', None)) + return view + + self.config.add_view_derivation('deriv1', deriv1, default=None) + self.config.add_view_derivation('deriv2', deriv2, default='test2') + self.config.add_view(view, deriv1='test1') + self.config.commit() + + wrapper = self._getViewCallable(self.config) + request = self._makeRequest(self.config) + request.method = 'GET' + self.assertEqual(wrapper(None, request), response) + self.assertEqual(['test1', 'test1', 'test2', None], response.deriv) + from zope.interface import implementer from pyramid.interfaces import ( -- cgit v1.2.3