Mercurial > genshi > mirror
changeset 656:f3bc1de7138d trunk
Add unit test for #157, which seems to be working okay in trunk.
author | cmlenz |
---|---|
date | Thu, 22 Nov 2007 20:04:23 +0000 |
parents | 14aa86c3e514 |
children | 54964f7d2253 |
files | genshi/template/tests/markup.py |
diffstat | 1 files changed, 56 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/genshi/template/tests/markup.py +++ b/genshi/template/tests/markup.py @@ -270,7 +270,7 @@ finally: shutil.rmtree(dirname) - def test_dynamic_inlude_href(self): + def test_dynamic_include_href(self): dirname = tempfile.mkdtemp(suffix='genshi_test') try: file1 = open(os.path.join(dirname, 'tmpl1.html'), 'w') @@ -296,7 +296,7 @@ finally: shutil.rmtree(dirname) - def test_select_inluded_elements(self): + def test_select_included_elements(self): dirname = tempfile.mkdtemp(suffix='genshi_test') try: file1 = open(os.path.join(dirname, 'tmpl1.html'), 'w') @@ -611,6 +611,60 @@ </body> </html>""", tmpl.generate().render()) + def test_nested_include_matches(self): + # See ticket #157 + dirname = tempfile.mkdtemp(suffix='genshi_test') + try: + file1 = open(os.path.join(dirname, 'tmpl1.html'), 'w') + try: + file1.write("""<html xmlns:py="http://genshi.edgewall.org/" py:strip=""> + <div class="target">Some content.</div> +</html>""") + finally: + file1.close() + + file2 = open(os.path.join(dirname, 'tmpl2.html'), 'w') + try: + file2.write("""<html xmlns:py="http://genshi.edgewall.org/" + xmlns:xi="http://www.w3.org/2001/XInclude"> + <body> + <h1>Some full html document that includes file1.html</h1> + <xi:include href="tmpl1.html" /> + </body> +</html>""") + finally: + file2.close() + + file3 = open(os.path.join(dirname, 'tmpl3.html'), 'w') + try: + file3.write("""<html xmlns:py="http://genshi.edgewall.org/" + xmlns:xi="http://www.w3.org/2001/XInclude" py:strip=""> + <div py:match="div[@class='target']" py:attrs="select('@*')"> + Some added stuff. + ${select('*|text()')} + </div> + <xi:include href="tmpl2.html" /> +</html> +""") + finally: + file3.close() + + loader = TemplateLoader([dirname]) + tmpl = loader.load('tmpl3.html') + self.assertEqual(""" + <html> + <body> + <h1>Some full html document that includes file1.html</h1> + <div class="target"> + Some added stuff. + Some content. + </div> + </body> +</html> +""", tmpl.generate().render()) + finally: + shutil.rmtree(dirname) + def suite(): suite = unittest.TestSuite()