def test_emit_stanza(self): serializer = XMPPSerializer("jabber:client") output = serializer.emit_head("from", "to") stanza = ElementTree.XML("<message xmlns='jabber:client'>" "<body>Body</body>" "<sub xmlns='http://example.org/ns'>" "<sub1 />" "<sub2 xmlns='http://example.org/ns2' />" "</sub>" "</message>") output += serializer.emit_stanza(stanza) output += serializer.emit_tail() xml = ElementTree.XML(output) self.assertEqual(len(xml), 1) self.assertEqual(len(xml[0]), 2) self.assertTrue(xml_elements_equal(xml[0], stanza)) # no prefix for stanza elements self.assertTrue("<message><body>" in output) # no prefix for stanza child self.assertTrue("<sub " in output) # ...and its same-namespace child self.assertTrue("<sub1/" in output or "<sub1 " in output) # prefix for other namespace child self.assertTrue("<sub2" in output)
def test_emit_tail(self): serializer = XMPPSerializer("jabber:client") output = serializer.emit_head("fromX", "toY") output += serializer.emit_tail() xml = ElementTree.XML(output) self.assertEqual(len(xml), 0)