815 :returns: an instance of `cubicweb.devtools.htmlparser.PageInfo` |
815 :returns: an instance of `cubicweb.devtools.htmlparser.PageInfo` |
816 encapsulation the generated HTML |
816 encapsulation the generated HTML |
817 """ |
817 """ |
818 req = req or rset and rset.req or self.request() |
818 req = req or rset and rset.req or self.request() |
819 req.form['vid'] = vid |
819 req.form['vid'] = vid |
820 kwargs['rset'] = rset |
|
821 viewsreg = self.vreg['views'] |
820 viewsreg = self.vreg['views'] |
822 view = viewsreg.select(vid, req, **kwargs) |
821 view = viewsreg.select(vid, req, rset=rset, **kwargs) |
823 # set explicit test description |
822 # set explicit test description |
824 if rset is not None: |
823 if rset is not None: |
825 self.set_description("testing vid=%s defined in %s with (%s)" % ( |
824 self.set_description("testing vid=%s defined in %s with (%s)" % ( |
826 vid, view.__module__, rset.printable_rql())) |
825 vid, view.__module__, rset.printable_rql())) |
827 else: |
826 else: |
829 vid, view.__module__)) |
828 vid, view.__module__)) |
830 if template is None: # raw view testing, no template |
829 if template is None: # raw view testing, no template |
831 viewfunc = view.render |
830 viewfunc = view.render |
832 else: |
831 else: |
833 kwargs['view'] = view |
832 kwargs['view'] = view |
834 templateview = viewsreg.select(template, req, **kwargs) |
|
835 viewfunc = lambda **k: viewsreg.main_template(req, template, |
833 viewfunc = lambda **k: viewsreg.main_template(req, template, |
836 **kwargs) |
834 rset=rset, **kwargs) |
837 kwargs.pop('rset') |
|
838 return self._test_view(viewfunc, view, template, kwargs) |
835 return self._test_view(viewfunc, view, template, kwargs) |
839 |
836 |
840 |
837 |
841 def _test_view(self, viewfunc, view, template='main-template', kwargs={}): |
838 def _test_view(self, viewfunc, view, template='main-template', kwargs={}): |
842 """this method does the actual call to the view |
839 """this method does the actual call to the view |