[components] add **kwargs to render method of header components to make them usable as regular components (eg in other places than the header
importosfromos.pathimportjoin,dirnamefromshutilimportrmtreefromlogilab.common.testlibimportTestCase,unittest_mainfromcubicweb.web.propertysheetimport*DATADIR=join(dirname(__file__),'data')CACHEDIR=join(DATADIR,'uicache')classPropertySheetTC(TestCase):deftearDown(self):rmtree(CACHEDIR)deftest(self):ps=PropertySheet(CACHEDIR,datadir_url='http://cwtest.com')ps.load(join(DATADIR,'sheet1.py'))ps.load(join(DATADIR,'sheet2.py'))# defined by sheet1self.assertEqual(ps['logo'],'http://cwtest.com/logo.png')# defined by sheet1, overriden by sheet2self.assertEqual(ps['bgcolor'],'#FFFFFF')# defined by sheet2self.assertEqual(ps['fontcolor'],'black')# defined by sheet1, extended by sheet2self.assertEqual(ps['stylesheets'],['http://cwtest.com/cubicweb.css','http://cwtest.com/mycube.css'])# lazy string defined by sheet1self.assertIsInstance(ps['lazy'],lazystr)self.assertEqual(str(ps['lazy']),'#FFFFFF')# test compilationself.assertEqual(ps.compile('a {bgcolor: %(bgcolor)s; size: 1%;}'),'a {bgcolor: #FFFFFF; size: 1%;}')self.assertEqual(ps.process_resource(DATADIR,'pouet.css'),CACHEDIR)self.failUnless('pouet.css'inps._cache)self.failIf(ps.need_reload())os.utime(join(DATADIR,'sheet1.py'),None)self.failUnless('pouet.css'inps._cache)self.failUnless(ps.need_reload())self.failUnless('pouet.css'inps._cache)ps.reload()self.failIf('pouet.css'inps._cache)self.failIf(ps.need_reload())ps.process_resource(DATADIR,'pouet.css')# put in cacheos.utime(join(DATADIR,'pouet.css'),None)self.failIf(ps.need_reload())self.failIf('pouet.css'inps._cache)if__name__=='__main__':unittest_main()