comparison genshi/template/tests/markup.py @ 1033:348ba73df25c stable-0.6.x

Merge r1257 from trunk (fix for infinite template inlining).
author hodgestar
date Wed, 19 Mar 2014 13:56:46 +0000
parents 832bdab41eee
children
comparison
equal deleted inserted replaced
1018:fa0e84724fee 1033:348ba73df25c
578 <div>Included 0</div><div>Included 1</div><div>Included 2</div> 578 <div>Included 0</div><div>Included 1</div><div>Included 2</div>
579 </html>""", tmpl.generate().render(encoding=None)) 579 </html>""", tmpl.generate().render(encoding=None))
580 finally: 580 finally:
581 shutil.rmtree(dirname) 581 shutil.rmtree(dirname)
582 582
583 def test_allow_exec_false(self): 583 def test_include_inline_recursive(self):
584 dirname = tempfile.mkdtemp(suffix='genshi_test')
585 try:
586 file1 = open(os.path.join(dirname, 'tmpl1.html'), 'w')
587 try:
588 file1.write(
589 '<div xmlns:xi="http://www.w3.org/2001/XInclude"'
590 ' xmlns:py="http://genshi.edgewall.org/">'
591 '$depth'
592 '<py:with vars="depth = depth + 1">'
593 '<xi:include href="tmpl1.html"'
594 ' py:if="depth &lt; 3"/>'
595 '</py:with>'
596 '</div>'
597 )
598 finally:
599 file1.close()
600
601 loader = TemplateLoader([dirname], auto_reload=False)
602 tmpl = loader.load(os.path.join(dirname, 'tmpl1.html'))
603 self.assertEqual(
604 "<div>0<div>1<div>2</div></div></div>",
605 tmpl.generate(depth=0).render(encoding=None))
606 finally:
607 shutil.rmtree(dirname)
608
609 def test_allow_exec_false(self):
584 xml = ("""<?python 610 xml = ("""<?python
585 title = "A Genshi Template" 611 title = "A Genshi Template"
586 ?> 612 ?>
587 <html xmlns:py="http://genshi.edgewall.org/"> 613 <html xmlns:py="http://genshi.edgewall.org/">
588 <head> 614 <head>
Copyright (C) 2012-2017 Edgewall Software