def test_context_lookup(self): from pyramid_layout.config import add_panel from pyramid_layout.layout import LayoutManager from pyramid.config import Configurator from pyramid.testing import DummyRequest request = DummyRequest() config = Configurator() request.config = config request.registry = config.registry def panel_int(context, request): return 'panel int %s' % context def panel_str(context, request): return 'panel str %s' % context def panel_str_noname(context, request): return 'panel str noname %s' % context add_panel(config, panel_int, name='howdy', context=int) add_panel(config, panel_str, name='howdy', context=str) add_panel(config, panel_str_noname) config.commit() self.assertEqual(LayoutManager(1, request).render_panel('howdy'), 'panel int 1') self.assertEqual(LayoutManager(1, request).render_panel('howdy', context='1'), 'panel str 1') self.assertEqual(LayoutManager('2', request).render_panel('howdy'), 'panel str 2') self.assertEqual(LayoutManager('2', request).render_panel('howdy', context=2), 'panel int 2') self.assertEqual(LayoutManager('2', request).render_panel(), 'panel str noname 2')
def call_fut(self, config, panel, **kw): from pyramid_layout.config import add_panel return add_panel(config, panel, **kw)