Skip to content


Subversion checkout URL

You can clone with
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
@legastero legastero authored
3  sleekxmpp/xmlstream/tostring/
@@ -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/
@@ -73,6 +73,16 @@ def testXMLNS(self):
message="The xmlns parameter was not used properly.",
+ 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.