# HG changeset patch # User cmlenz # Date 1190070681 0 # Node ID 8e11a6693bb385cc00ada9249b118e4059f1383e # Parent 1f73e534e715b3c96ad6806615d6774391a0262f 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! diff --git a/genshi/template/base.py b/genshi/template/base.py --- 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 diff --git a/genshi/template/tests/markup.py b/genshi/template/tests/markup.py --- 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(""" + + Missing + """) + finally: + file2.close() + + loader = TemplateLoader([dirname], auto_reload=True) + tmpl = loader.load('tmpl2.html') + self.assertEqual(""" + Missing + """, tmpl.generate().render()) + finally: + shutil.rmtree(dirname) + def test_include_in_fallback(self): dirname = tempfile.mkdtemp(suffix='genshi_test') try: