def test_view_with_template(self): view.register_view( 'index.html', view.View, Context, template=view.template('ptah.view.tests:templates/test.pt')) self._init_ptah() res = view.render_view('index.html', Context(), self.request) self.assertEqual(res.body.strip(), '<div>My snippet</div>')
def test_view_httpresp_from_render(self): class MyView(view.View): def render(self): raise HTTPFound() view.register_view('index.html', MyView, Context) self._init_ptah() resp = view.render_view('index.html', Context(), self.request) self.assertIsInstance(resp, HTTPFound)
def test_view_httpresp_from_update(self): class MyView(view.View): def update(self): raise HTTPForbidden() view.register_view('index.html', MyView, Context, template = view.template('templates/test.pt')) self._init_ptah() resp = view.render_view('index.html', Context(), self.request) self.assertIsInstance(resp, HTTPForbidden)
def test_view_register_view_err1(self): # default 'render' implementation class MyView(view.View): pass view.register_view('index.html', MyView, Context) self._init_ptah() context = Context() self.assertTrue( view.render_view('index.html', context, self.request).content_length ==0)
def wrap(context, request): if context.view: item = cms.load(context.view) if item is None: return renderer(context, request) request.context = item return view.render_view('', item, request) view = renderer(context, request) view.update() return view.render()
def test_view_custom_response(self): class MyView(view.View): def render(self): response = self.request.response response.status = '202' return 'test' view.register_view('index.html', MyView, Context) self._init_ptah() res = view.render_view('index.html', Context(), self.request) self.assertEqual(res.status, '202 Accepted') self.assertEqual(res.body, 'test')
def test_view_register_view_layout(self): class MyLayout(view.Layout): def render(self, rendered): return '<html>%s</html>'%rendered class MyView(view.View): def render(self): return 'test' view.register_view('index.html', MyView, Context) view.register_layout('', Context, klass=MyLayout) self._init_ptah() context = Context() res = view.render_view('index.html', context, self.request) self.assertTrue('<html>test</html>' in res.body)
def test_view_with_decorator(self): def deco(func): def func(context, request): return 'decorator' return func global DecoView @deco class DecoView(view.View): view.pview('index.html', Context) self._init_ptah() res = view.render_view('index.html', Context(), self.request) self.assertEqual(res.body, 'decorator')
def test_view_register_view_disable_layout1(self): class MyLayout(view.Layout): def render(self, rendered): return '<html>%s</html>'%rendered class MyView(view.View): def render(self): return 'test' view.register_view('index.html', MyView, Context, layout=None) view.register_layout('', Context, klass=MyLayout) self._init_ptah() context = Context() res = view.render_view('index.html', context, self.request) self.assertEqual(res.body, 'test') v = MyView(None, self.request) self.assertEqual(MyLayout(v, self.request).render( v.render()), '<html>test</html>')