web/test/unittest_views_pyviews.py
author Sylvain Thénault <sylvain.thenault@logilab.fr>
Tue, 01 Dec 2009 08:43:37 +0100
branchstable
changeset 3953 19aefd78f61b
parent 2650 18aec79ec3a3
child 2773 b2530e3e0afb
permissions -rw-r--r--
[forms] deprecate form_render(**kwargs) in favor of render(formvalues=None, rendervalues=None, renderer=None) to fix a pitfall in form_render prototype: there is no way to distinguish between arguments that should be given to build_context from arguments that should be given to the renderer. This was problematic for instance with inlined form where a 'title' argument is given for the renderer, but is also used as default value for field whose name is 'title'...

from logilab.common.testlib import unittest_main
from cubicweb.devtools.apptest import EnvBasedTC

class PyViewsTC(EnvBasedTC):

    def test_pyvaltable(self):
        content = self.vreg['views'].render('pyvaltable', self.request(),
                                            pyvalue=[[1, 'a'], [2, 'b']],
                                            headers=['num', 'char'])
        self.assertEquals(content.strip(), '''<table class="listing">
<tr><th>num</th><th>char</th></tr>
<tr><td>1</td><td>a</td></tr>
<tr><td>2</td><td>b</td></tr>
</table>''')

    def test_pyvallist(self):
        content = self.vreg['views'].render('pyvallist', self.request(),
                                            pyvalue=[1, 'a'])
        self.assertEquals(content.strip(), '''<ul>
<li>1</li>
<li>a</li>
</ul>''')

if __name__ == '__main__':
    unittest_main()