def testXmlFormatMixedContent(self): # Again test using the Message node type, because it is the only mixed # content node. node = message.MessageNode() node.StartParsing(u'message', None) node.HandleAttribute(u'name', u'name') node.AppendContent(u'Hello <young> ') ph = message.PhNode() ph.StartParsing(u'ph', None) ph.HandleAttribute(u'name', u'USERNAME') ph.AppendContent(u'$1') ex = message.ExNode() ex.StartParsing(u'ex', None) ex.AppendContent(u'Joi') ex.EndParsing() ph.AddChild(ex) ph.EndParsing() node.AddChild(ph) node.EndParsing() non_indented_xml = node.FormatXml() self.failUnless( non_indented_xml == u'<message name="name">\n Hello ' u'<young> <ph name="USERNAME">$1<ex>Joi</ex></ph>' u'\n</message>') indented_xml = node.FormatXml(u' ') self.failUnless( indented_xml == u' <message name="name">\n Hello ' u'<young> <ph name="USERNAME">$1<ex>Joi</ex></ph>' u'\n </message>')
def testIter(self): # First build a little tree of message and ph nodes. node = message.MessageNode() node.StartParsing(u'message', None) node.HandleAttribute(u'name', u'bla') node.AppendContent(u" ''' two spaces ") node.AppendContent(u' space before and after ') ph = message.PhNode() ph.StartParsing(u'ph', None) ph.AddChild(message.ExNode()) ph.HandleAttribute(u'name', u'BINGO') ph.AppendContent(u'bongo') node.AddChild(ph) node.AddChild(message.PhNode()) node.AppendContent(u" space before two after '''") order = [message.MessageNode, message.PhNode, message.ExNode, message.PhNode] for n in node: self.failUnless(type(n) == order[0]) order = order[1:] self.failUnless(len(order) == 0)
def testXmlFormatMixedContentWithLeadingWhitespace(self): # Again test using the Message node type, because it is the only mixed # content node. node = message.MessageNode() node.StartParsing(u'message', None) node.HandleAttribute(u'name', u'name') node.AppendContent(u"''' Hello <young> ") ph = message.PhNode() ph.StartParsing(u'ph', None) ph.HandleAttribute(u'name', u'USERNAME') ph.AppendContent(u'$1') ex = message.ExNode() ex.StartParsing(u'ex', None) ex.AppendContent(u'Joi') ex.EndParsing() ph.AddChild(ex) ph.EndParsing() node.AddChild(ph) node.AppendContent(u" yessiree '''") node.EndParsing() non_indented_xml = node.FormatXml() self.failUnless( non_indented_xml == u"<message name=\"name\">\n ''' Hello" u' <young> <ph name="USERNAME">$1<ex>Joi</ex></ph>' u" yessiree '''\n</message>") indented_xml = node.FormatXml(u' ') self.failUnless( indented_xml == u" <message name=\"name\">\n ''' Hello" u' <young> <ph name="USERNAME">$1<ex>Joi</ex></ph>' u" yessiree '''\n </message>") self.failUnless(node.GetNodeById('name'))