Mercurial > genshi > mirror
diff genshi/template/tests/markup.py @ 1032:56fd1ca051af stable-0.7.x
Merge r1257 from trunk (fix for infinite template inlining).
author | hodgestar |
---|---|
date | Wed, 19 Mar 2014 13:54:59 +0000 |
parents | 59463031d904 |
children |
line wrap: on
line diff
--- a/genshi/template/tests/markup.py +++ b/genshi/template/tests/markup.py @@ -580,7 +580,33 @@ finally: shutil.rmtree(dirname) - def test_allow_exec_false(self): + def test_include_inline_recursive(self): + dirname = tempfile.mkdtemp(suffix='genshi_test') + try: + file1 = open(os.path.join(dirname, 'tmpl1.html'), 'w') + try: + file1.write( + '<div xmlns:xi="http://www.w3.org/2001/XInclude"' + ' xmlns:py="http://genshi.edgewall.org/">' + '$depth' + '<py:with vars="depth = depth + 1">' + '<xi:include href="tmpl1.html"' + ' py:if="depth < 3"/>' + '</py:with>' + '</div>' + ) + finally: + file1.close() + + loader = TemplateLoader([dirname], auto_reload=False) + tmpl = loader.load(os.path.join(dirname, 'tmpl1.html')) + self.assertEqual( + "<div>0<div>1<div>2</div></div></div>", + tmpl.generate(depth=0).render(encoding=None)) + finally: + shutil.rmtree(dirname) + + def test_allow_exec_false(self): xml = ("""<?python title = "A Genshi Template" ?>