Mercurial > genshi > mirror
changeset 288:e09c5b7a64ae trunk
Fix bug introduced in [343], that broke the parsing of templates which declare the same namespace more than once in a nested fashion. Thanks to Graham Higgins for reporting the problem.
author | cmlenz |
---|---|
date | Fri, 13 Oct 2006 07:43:02 +0000 |
parents | 1f5753346a75 |
children | 94f9f2cc66c8 |
files | ChangeLog genshi/template.py genshi/tests/template.py |
diffstat | 3 files changed, 20 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -12,6 +12,14 @@ be configured per instance. +Version 0.3.3 +http://svn.edgewall.org/repos/genshi/tags/0.3.3/ +(?, from branches/stable/0.3.x) + + * Fixed bug introduced in 0.3.2 that broke the parsing of templates which + declare the same namespace more than once in a nested fashion. + + Version 0.3.2 http://svn.edgewall.org/repos/genshi/tags/0.3.2/ (Oct 12 2006, from branches/stable/0.3.x)
--- a/genshi/template.py +++ b/genshi/template.py @@ -1007,8 +1007,8 @@ stream.append((kind, data, pos)) elif kind is END_NS: - uri = ns_prefix.pop(data) - if uri != self.NAMESPACE: + uri = ns_prefix.pop(data, None) + if uri and uri != self.NAMESPACE: stream.append((kind, data, pos)) elif kind is START:
--- a/genshi/tests/template.py +++ b/genshi/tests/template.py @@ -1045,6 +1045,16 @@ self.assertEqual("""<div> </div>""", str(tmpl.generate())) + def test_parse_with_same_namespace_nested(self): + tmpl = MarkupTemplate("""<div xmlns:py="http://genshi.edgewall.org/"> + <span xmlns:py="http://genshi.edgewall.org/"> + </span> + </div>""") + self.assertEqual("""<div> + <span> + </span> + </div>""", str(tmpl.generate())) + class TextTemplateTestCase(unittest.TestCase): """Tests for text template processing."""