diff options
author | Lance Stout <lancestout@gmail.com> | 2010-10-21 16:21:28 -0400 |
---|---|---|
committer | Lance Stout <lancestout@gmail.com> | 2010-10-21 16:21:28 -0400 |
commit | 8f55704928ac16599a62678fc1c3a83d83f43a21 (patch) | |
tree | 46ec7dffa213226c651b45a2ba5e4796d9959b05 | |
parent | d88999691cd36fa9049f8bda522d394d81ba1365 (diff) | |
download | slixmpp-8f55704928ac16599a62678fc1c3a83d83f43a21.tar.gz slixmpp-8f55704928ac16599a62678fc1c3a83d83f43a21.tar.bz2 slixmpp-8f55704928ac16599a62678fc1c3a83d83f43a21.tar.xz slixmpp-8f55704928ac16599a62678fc1c3a83d83f43a21.zip |
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.
-rw-r--r-- | sleekxmpp/xmlstream/tostring/tostring26.py | 3 | ||||
-rw-r--r-- | tests/test_tostring.py | 10 |
2 files changed, 10 insertions, 3 deletions
diff --git a/sleekxmpp/xmlstream/tostring/tostring26.py b/sleekxmpp/xmlstream/tostring/tostring26.py index 0c02f922..0ee432cc 100644 --- a/sleekxmpp/xmlstream/tostring/tostring26.py +++ b/sleekxmpp/xmlstream/tostring/tostring26.py @@ -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)) diff --git a/tests/test_tostring.py b/tests/test_tostring.py index 45f405ce..3e9df524 100644 --- a/tests/test_tostring.py +++ b/tests/test_tostring.py @@ -73,6 +73,16 @@ class TestToString(SleekTest): 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 |