[Lxml-checkins] r49018 - lxml/trunk/src/lxml/tests
scoder at codespeak.net
scoder at codespeak.net
Sat Nov 24 10:46:05 CET 2007
Author: scoder
Date: Sat Nov 24 10:46:04 2007
New Revision: 49018
Modified:
lxml/trunk/src/lxml/tests/test_elementtree.py
Log:
TreeBuilder tests
Modified: lxml/trunk/src/lxml/tests/test_elementtree.py
==============================================================================
--- lxml/trunk/src/lxml/tests/test_elementtree.py (original)
+++ lxml/trunk/src/lxml/tests/test_elementtree.py Sat Nov 24 10:46:04 2007
@@ -3036,7 +3036,6 @@
def test_parser_target_attrib(self):
assertEquals = self.assertEquals
- assertFalse = self.assertFalse
events = []
class Target(object):
@@ -3059,9 +3058,6 @@
events)
def test_parser_target_data(self):
- assertEquals = self.assertEquals
- assertFalse = self.assertFalse
-
events = []
class Target(object):
def start(self, tag, attrib):
@@ -3083,6 +3079,39 @@
"end-sub", "data-B", "end-root"],
events)
+ def test_treebuilder(self):
+ builder = self.etree.TreeBuilder()
+ el = builder.start("root", {'a':'A', 'b':'B'})
+ self.assertEquals("root", el.tag)
+ self.assertEquals({'a':'A', 'b':'B'}, el.attrib)
+ builder.data("ROOTTEXT")
+ el = builder.start("child", {'x':'X', 'y':'Y'})
+ self.assertEquals("child", el.tag)
+ self.assertEquals({'x':'X', 'y':'Y'}, el.attrib)
+ builder.data("CHILDTEXT")
+ el = builder.end("child")
+ self.assertEquals("child", el.tag)
+ self.assertEquals({'x':'X', 'y':'Y'}, el.attrib)
+ self.assertEquals("CHILDTEXT", el.text)
+ self.assertEquals(None, el.tail)
+ builder.data("CHILDTAIL")
+ root = builder.end("root")
+
+ self.assertEquals("root", root.tag)
+ self.assertEquals("ROOTTEXT", root.text)
+ self.assertEquals("CHILDTEXT", root[0].text)
+ self.assertEquals("CHILDTAIL", root[0].tail)
+
+ def test_treebuilder_target(self):
+ parser = self.etree.XMLParser(target=self.etree.TreeBuilder())
+ parser.feed('<root>ROOTTEXT<child>CHILDTEXT</child>CHILDTAIL</root>')
+ root = parser.close()
+
+ self.assertEquals("root", root.tag)
+ self.assertEquals("ROOTTEXT", root.text)
+ self.assertEquals("CHILDTEXT", root[0].text)
+ self.assertEquals("CHILDTAIL", root[0].tail)
+
# helper methods
def _writeElement(self, element, encoding='us-ascii'):
More information about the lxml-checkins
mailing list