[Lxml-checkins] r51340 - in lxml/trunk: . src/lxml/tests
scoder at codespeak.net
scoder at codespeak.net
Fri Feb 8 19:44:08 CET 2008
Author: scoder
Date: Fri Feb 8 19:44:06 2008
New Revision: 51340
Modified:
lxml/trunk/ (props changed)
lxml/trunk/src/lxml/tests/test_objectify.py
Log:
r3437 at delle: sbehnel | 2008-02-08 19:41:02 +0100
more slicing tests for objectify
Modified: lxml/trunk/src/lxml/tests/test_objectify.py
==============================================================================
--- lxml/trunk/src/lxml/tests/test_objectify.py (original)
+++ lxml/trunk/src/lxml/tests/test_objectify.py Fri Feb 8 19:44:06 2008
@@ -470,7 +470,6 @@
def test_setslice_complete(self):
Element = self.Element
- SubElement = self.etree.SubElement
root = Element("root")
root.c = ["c1", "c2"]
@@ -483,7 +482,6 @@
def test_setslice_elements(self):
Element = self.Element
- SubElement = self.etree.SubElement
root = Element("root")
root.c = ["c1", "c2"]
@@ -511,7 +509,6 @@
def test_setslice_partial(self):
Element = self.Element
- SubElement = self.etree.SubElement
root = Element("root")
l = ["c1", "c2", "c3", "c4"]
root.c = l
@@ -531,9 +528,77 @@
self.assertEquals(l,
[ c.text for c in root.c ])
+ def test_setslice_insert(self):
+ Element = self.Element
+ root = Element("root")
+ l = ["c1", "c2", "c3", "c4"]
+ root.c = l
+
+ self.assertEquals(["c1", "c2", "c3", "c4"],
+ [ c.text for c in root.c ])
+ self.assertEquals(l,
+ [ c.text for c in root.c ])
+
+ new_slice = ["cA", "cB"]
+ l[1:1] = new_slice
+ root.c[1:1] = new_slice
+
+ self.assertEquals(["c1", "cA", "cB", "c2", "c3", "c4"], l)
+ self.assertEquals(["c1", "cA", "cB", "c2", "c3", "c4"],
+ [ c.text for c in root.c ])
+ self.assertEquals(l,
+ [ c.text for c in root.c ])
+
+ def test_setslice_insert_neg(self):
+ Element = self.Element
+ root = Element("root")
+ l = ["c1", "c2", "c3", "c4"]
+ root.c = l
+
+ self.assertEquals(["c1", "c2", "c3", "c4"],
+ [ c.text for c in root.c ])
+ self.assertEquals(l,
+ [ c.text for c in root.c ])
+
+ new_slice = ["cA", "cB"]
+ l[-2:-2] = new_slice
+ root.c[-2:-2] = new_slice
+
+ self.assertEquals(["c1", "c2", "cA", "cB", "c3", "c4"], l)
+ self.assertEquals(["c1", "c2", "cA", "cB", "c3", "c4"],
+ [ c.text for c in root.c ])
+ self.assertEquals(l,
+ [ c.text for c in root.c ])
+
+ def test_setslice_empty(self):
+ Element = self.Element
+ root = Element("root")
+
+ root.c = []
+ self.assertRaises(
+ AttributeError, getattr, root, 'c')
+
+ def test_setslice_partial_wrong_length(self):
+ Element = self.Element
+ root = Element("root")
+ l = ["c1", "c2", "c3", "c4"]
+ root.c = l
+
+ self.assertEquals(["c1", "c2", "c3", "c4"],
+ [ c.text for c in root.c ])
+ self.assertEquals(l,
+ [ c.text for c in root.c ])
+
+ new_slice = ["cA", "cB", "cC"]
+ self.assertRaises(
+ ValueError, operator.setitem,
+ l, slice(1,2,-1), new_slice)
+ self.assertRaises(
+ ValueError, operator.setitem,
+ root.c, slice(1,2,-1), new_slice)
+
def test_setslice_partial_neg(self):
Element = self.Element
- SubElement = self.etree.SubElement
root = Element("root")
l = ["c1", "c2", "c3", "c4"]
root.c = l
@@ -547,8 +612,29 @@
l[-1:1:-1] = new_slice
root.c[-1:1:-1] = new_slice
- self.assertEquals(["c1", "c2", "cB", "cA", "c4"], l)
- self.assertEquals(["c1", "c2", "cB", "cA", "c4"],
+ self.assertEquals(["c1", "c2", "cB", "cA"], l)
+ self.assertEquals(["c1", "c2", "cB", "cA"],
+ [ c.text for c in root.c ])
+ self.assertEquals(l,
+ [ c.text for c in root.c ])
+
+ def test_setslice_partial_allneg(self):
+ Element = self.Element
+ root = Element("root")
+ l = ["c1", "c2", "c3", "c4"]
+ root.c = l
+
+ self.assertEquals(["c1", "c2", "c3", "c4"],
+ [ c.text for c in root.c ])
+ self.assertEquals(l,
+ [ c.text for c in root.c ])
+
+ new_slice = ["cA", "cB"]
+ l[-1:-4:-2] = new_slice
+ root.c[-1:-4:-2] = new_slice
+
+ self.assertEquals(["c1", "cB", "c3", "cA"], l)
+ self.assertEquals(["c1", "cB", "c3", "cA"],
[ c.text for c in root.c ])
self.assertEquals(l,
[ c.text for c in root.c ])
@@ -558,7 +644,6 @@
def test_set_string(self):
# make sure strings are not handled as sequences
Element = self.Element
- SubElement = self.etree.SubElement
root = Element("root")
root.c = "TEST"
self.assertEquals(["TEST"],
@@ -567,7 +652,6 @@
def test_setitem_string(self):
# make sure strings are set as children
Element = self.Element
- SubElement = self.etree.SubElement
root = Element("root")
root["c"] = "TEST"
self.assertEquals(["TEST"],
@@ -576,7 +660,6 @@
def test_setitem_string_special(self):
# make sure 'text' etc. are set as children
Element = self.Element
- SubElement = self.etree.SubElement
root = Element("root")
root["text"] = "TEST"
More information about the lxml-checkins
mailing list