Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Fixed mixed text and elements bug in tostring.

XML of the form <a>foo <b>bar</b> baz</a> was outputted as
<a>foo <b>bar</b> baz baz</a>.

Includes unit test.
  • Loading branch information...
commit 8f55704928ac16599a62678fc1c3a83d83f43a21 1 parent d889996
Lance Stout legastero authored
3  sleekxmpp/xmlstream/tostring/tostring26.py
View
@@ -68,9 +68,6 @@ def tostring(xml=None, xmlns='', stanza_ns='', stream=None, outbuffer=''):
for child in xml.getchildren():
output.append(tostring(child, tag_xmlns, stanza_ns, stream))
output.append(u"</%s>" % tag_name)
- if xml.tail:
- # If there is additional text after the element.
- output.append(xml_escape(xml.tail))
elif xml.text:
# If we only have text content.
output.append(u">%s</%s>" % (xml_escape(xml.text), tag_name))
10 tests/test_tostring.py
View
@@ -73,6 +73,16 @@ def testXMLNS(self):
message="The xmlns parameter was not used properly.",
xmlns='foo')
+ def testTailContent(self):
+ """
+ Test that elements of the form <a>foo <b>bar</b> baz</a> only
+ include " baz" once.
+ """
+ self.tryTostring(
+ original='<a>foo <b>bar</b> baz</a>',
+ message='Element tail content is incorrect.')
+
+
def testStanzaNs(self):
"""
Test using the stanza_ns tostring parameter, which will prevent
Please sign in to comment.
Something went wrong with that request. Please try again.