# HG changeset patch # User cmlenz # Date 1155763788 0 # Node ID 3f23fafeef9968d8614c32f5961478fc70dbedad # Parent 47433aa691697f7c511f8413936cdddc93fadbe7 * Add test case for SVG content embedded in an HTML document. * The XHTML serializer now assumes that elements in a foreign namespace (such as SVG or MathML) can be serialized as empty tags (``). diff --git a/markup/output.py b/markup/output.py --- a/markup/output.py +++ b/markup/output.py @@ -231,7 +231,7 @@ buf += [' ', attrname, '="', escape(value), '"'] ns_attrib = [] - if (not tag.namespace or tag in namespace) and \ + if (tag.namespace and tag not in namespace) or \ tagname in empty_elems: kind, data, pos = stream.next() if kind is END: diff --git a/markup/tests/output.py b/markup/tests/output.py --- a/markup/tests/output.py +++ b/markup/tests/output.py @@ -108,6 +108,19 @@ output = XML(text).render(XHTMLSerializer) self.assertEqual(text, output) + def test_embedded_svg(self): + text = """ + + + + """ + output = XML(text).render(XHTMLSerializer) + self.assertEqual(text, output) + class HTMLSerializerTestCase(unittest.TestCase): diff --git a/markup/tests/template.py b/markup/tests/template.py --- a/markup/tests/template.py +++ b/markup/tests/template.py @@ -647,16 +647,16 @@ file2 = open(os.path.join(self.dirname, 'tmpl2.html'), 'w') try: file2.write(""" - -""") + + """) finally: file2.close() loader = TemplateLoader([self.dirname]) tmpl = loader.load('tmpl2.html') self.assertEqual(""" -
Included
-""", tmpl.generate().render()) +
Included
+ """, tmpl.generate().render()) def test_relative_include_subdir(self): os.mkdir(os.path.join(self.dirname, 'sub')) @@ -669,16 +669,16 @@ file2 = open(os.path.join(self.dirname, 'tmpl2.html'), 'w') try: file2.write(""" - -""") + + """) finally: file2.close() loader = TemplateLoader([self.dirname]) tmpl = loader.load('tmpl2.html') self.assertEqual(""" -
Included
-""", tmpl.generate().render()) +
Included
+ """, tmpl.generate().render()) def test_relative_include_parentdir(self): file1 = open(os.path.join(self.dirname, 'tmpl1.html'), 'w') @@ -691,16 +691,16 @@ file2 = open(os.path.join(self.dirname, 'sub', 'tmpl2.html'), 'w') try: file2.write(""" - -""") + + """) finally: file2.close() loader = TemplateLoader([self.dirname]) tmpl = loader.load('sub/tmpl2.html') self.assertEqual(""" -
Included
-""", tmpl.generate().render()) +
Included
+ """, tmpl.generate().render()) def suite():