def test_snippet_register_without_class(self): view.snippettype('test', Context) view.register_snippet('test', Context) self._init_ptah() snippet = self.registry.getMultiAdapter( (Context(), self.request), ISnippet, 'test') self.assertTrue(isinstance(snippet, Snippet)) self.assertEqual(str(snippet.__class__), "<class 'ptah.view.snippet.Snippet None'>")
def test_snippet_View_snippet_with_error(self): class TestSnippet(view.Snippet): def render(self): raise ValueError('Error') view.snippettype('test', Context) view.register_snippet('test', Context, TestSnippet) self._init_ptah() base = view.View(None, self.request) self.assertEqual(base.snippet('test', Context()), '')
def test_snippet_register(self): class TestSnippet(view.Snippet): def render(self): return 'test snippet' view.snippettype('test', Context) view.register_snippet('test', Context, TestSnippet) self._init_ptah() self.assertEqual( render_snippet('test', Context(), self.request), 'test snippet')
def test_snippet_render_with_exception(self): class TestSnippet(view.Snippet): def render(self): raise ValueError('Unknown') view.snippettype('test', Context) view.register_snippet('test', Context, TestSnippet) self._init_ptah() self.assertRaises( ValueError, render_snippet, 'test', Context(), self.request)
def test_snippet_register_with_not_Snippet_class(self): class TestSnippet(object): pass view.snippettype('test', Context) view.register_snippet('test', Context, TestSnippet) self._init_ptah() snippet = self.registry.getMultiAdapter( (Context(), self.request), ISnippet, 'test') self.assertTrue(isinstance(snippet, Snippet)) self.assertTrue(isinstance(snippet, TestSnippet))
def test_snippet_register_declarative(self): global TestSnippet view.snippettype('pt', Context) class TestSnippet(view.Snippet): view.snippet('pt') def render(self): return 'test' self._init_ptah() self.assertEqual(render_snippet('pt', Context(), self.request), 'test')
def test_snippet_register_with_template(self): class TestSnippet(view.Snippet): pass def template(*args, **kw): keys = kw.keys() keys.sort() return '|'.join(keys) view.snippettype('test', Context) view.register_snippet('test', klass=TestSnippet, template = template) self._init_ptah() self.assertEqual( render_snippet('test', Context(), self.request), 'context|request|view')
def test_snippettype_register(self): class ITestsnippet(interface.Interface): pass view.snippettype('test', Context) self._init_ptah() from ptah.view.snippet import STYPE_ID stypes = config.get_cfg_storage(STYPE_ID) self.assertTrue('test' in stypes) st = stypes['test'] self.assertTrue(isinstance(st, SnippetType)) self.assertEqual(st.name, 'test') self.assertEqual(st.context, Context)
def test_snippet_render_additional_params_to_template(self): class TestSnippet(view.Snippet): def update(self): return {'param1': 1, 'param2': 2} def template(*args, **kw): keys = kw.keys() keys.sort() return '|'.join(keys) view.snippettype('test', Context) view.register_snippet('test', klass=TestSnippet, template = template) self._init_ptah() self.assertTrue( 'param1|param2|' in render_snippet('test', Context(), self.request))
def test_snippet_View_snippet(self): class TestSnippet(view.Snippet): def render(self): return 'test snippet' view.snippettype('test', Context) view.register_snippet('test', Context, TestSnippet) self._init_ptah() base = view.View(None, self.request) # snippettype is string self.assertEqual(base.snippet('unknown', Context()), '') self.assertEqual(base.snippet('test', Context()), 'test snippet') # by default use view context base.context = Context() self.assertEqual(base.snippet('test'), 'test snippet')
if mod is not None: return mod(self, self.request) raise KeyError(key) view.register_route( 'ptah-manage-view','/ptah-manage', PtahManageRoute, use_global_views=True) view.register_route( 'ptah-manage','/ptah-manage/*traverse', PtahManageRoute, use_global_views=True) view.snippettype('ptah-module-actions', PtahModule) view.register_snippet( 'ptah-module-actions', PtahModule, template = view.template('ptah.manage:templates/moduleactions.pt')) view.register_layout( '', PtahManageRoute, parent='ptah-manage', template=view.template("ptah.manage:templates/ptah-layout.pt")) class LayoutManage(view.Layout): view.layout('ptah-manage', PtahManageRoute, template=view.template("ptah.manage:templates/ptah-manage.pt")) def update(self):
class DisplayForm(Form): mode = FORM_DISPLAY def form_params(self): return self.params FORM_VIEW = 'form-view' FORM_ACTIONS = 'form-actions' FORM_WIDGET = 'form-widget' FORM_DISPLAY_WIDGET = 'form-display-widget' view.snippettype(FORM_VIEW, IForm, 'Form view') view.snippettype(FORM_ACTIONS, IForm, 'Form actions') view.snippettype(FORM_WIDGET, Field, 'Form widget') view.snippettype(FORM_DISPLAY_WIDGET, Field, 'Form display widget') view.register_snippet( 'form-view', Form, template = view.template('ptah.form:templates/form.pt')) view.register_snippet( 'form-view', DisplayForm, template = view.template('ptah.form:templates/form-display.pt')) view.register_snippet( 'form-actions', Form, template = view.template('ptah.form:templates/form-actions.pt'))
return self.template(**kwargs) class DisplayForm(Form): mode = FORM_DISPLAY def form_params(self): return self.params FORM_VIEW = "form-view" FORM_ACTIONS = "form-actions" FORM_WIDGET = "form-widget" FORM_DISPLAY_WIDGET = "form-display-widget" view.snippettype(FORM_VIEW, IForm, "Form view") view.snippettype(FORM_ACTIONS, IForm, "Form actions") view.snippettype(FORM_WIDGET, Field, "Form widget") view.snippettype(FORM_DISPLAY_WIDGET, Field, "Form display widget") view.register_snippet("form-view", Form, template=view.template("ptah.form:templates/form.pt")) view.register_snippet("form-view", DisplayForm, template=view.template("ptah.form:templates/form-display.pt")) view.register_snippet("form-actions", Form, template=view.template("ptah.form:templates/form-actions.pt")) view.register_snippet("form-widget", Field, template=view.template("ptah.form:templates/widget.pt")) view.register_snippet("form-display-widget", Field, template=view.template("ptah.form:templates/widget-display.pt"))