Mercurial > genshi > mirror
changeset 639:8e11a6693bb3 trunk
Fix for XInclude fallbacks when auto-reloading is enabled. Closes #147. Thanks to rintaro@cpan.org for reporting the issue and providing a patch and test case!
author | cmlenz |
---|---|
date | Mon, 17 Sep 2007 23:11:21 +0000 |
parents | 1f73e534e715 |
children | ec86c89da78d |
files | genshi/template/base.py genshi/template/tests/markup.py |
diffstat | 2 files changed, 21 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/genshi/template/base.py +++ b/genshi/template/base.py @@ -409,7 +409,7 @@ continue elif fallback: # Otherwise the include is performed at run time - data = href, list(self._prepare(fallback)) + data = href, cls, list(self._prepare(fallback)) yield kind, data, pos
--- a/genshi/template/tests/markup.py +++ b/genshi/template/tests/markup.py @@ -388,6 +388,26 @@ finally: shutil.rmtree(dirname) + def test_fallback_when_auto_reload_true(self): + dirname = tempfile.mkdtemp(suffix='genshi_test') + try: + file2 = open(os.path.join(dirname, 'tmpl2.html'), 'w') + try: + file2.write("""<html xmlns:xi="http://www.w3.org/2001/XInclude"> + <xi:include href="tmpl1.html"><xi:fallback> + Missing</xi:fallback></xi:include> + </html>""") + finally: + file2.close() + + loader = TemplateLoader([dirname], auto_reload=True) + tmpl = loader.load('tmpl2.html') + self.assertEqual("""<html> + Missing + </html>""", tmpl.generate().render()) + finally: + shutil.rmtree(dirname) + def test_include_in_fallback(self): dirname = tempfile.mkdtemp(suffix='genshi_test') try: