def test_replace_node(self): b = GenericWrapper(xmlnode=etree.fromstring(DATA1)) first_element = b.find(GenericWrapper.TAG) replace = GenericWrapper() replace.set_attr('pos', 'replaced') b.replace(first_element, replace) self.assertEqual(b[0].get_attr('pos'), 'replaced')
def test_tostring_subelements(self): xmltree = etree.fromstring(testdata) result = etree.tostring(xmltree[0], encoding=tostr).strip() self.assertTrue(in_XML('<manifest:file-entry '\ 'manifest:media-type="application/vnd.oasis.opendocument.text" '\ 'manifest:version="1.2" '\ 'manifest:full-path="/" />', result))
def test_iadd(self): b = GenericWrapper(xmlnode=etree.fromstring(DATA1)) pos = len(b) newitem = GenericWrapper() newitem.set_attr('name', 'newitem') b += newitem self.assertEqual('newitem', b[pos].get_attr('name'))
def test_setitem(self): b = GenericWrapper(xmlnode=etree.fromstring(DATA1)) newitem = GenericWrapper() newitem.set_attr('name', 'newitem') b[1] = newitem self.assertEqual('newitem', b[1].get_attr('name')) self.assertEqual(4, len(b))
def test_parse_and_count_file_entry_attributes(self): xmltree = etree.fromstring(testdata) first_entry = xmltree[0] attrib = first_entry.get(CN('manifest:media-type')) self.assertEqual(attrib, "application/vnd.oasis.opendocument.text") attrib = first_entry.get(CN('manifest:version')) self.assertEqual(attrib, "1.2") attrib = first_entry.get(CN('manifest:full-path')) self.assertEqual(attrib, "/")
def test_setattr_empty_string_error(self): b = GenericWrapper(xmlnode=etree.fromstring(DATA1)) with self.assertRaises(ValueError): b.set_attr('name', "")
def test_getattr(self): b = GenericWrapper(xmlnode=etree.fromstring(DATA1)) self.assertEqual('root', b.get_attr('name'))
def test_get_root_with_children(self): b = GenericWrapper(xmlnode=etree.fromstring(DATA1)) first_child = b[0] xmlroot = first_child.get_xmlroot() self.assertEqual(xmlroot.get('name'), 'root')
def test_find(self): b = GenericWrapper(xmlnode=etree.fromstring(DATA1)) first_element = b.find(GenericWrapper.TAG) self.assertEqual('0', first_element.get_attr('pos'))
def test_remove(self): b = GenericWrapper(xmlnode=etree.fromstring(DATA1)) b.remove(b[2]) self.assertEqual(3, len(b)) self.assertEqual('3', b[2].get_attr('pos'))
def test_delitem_index_error(self): b = GenericWrapper(xmlnode=etree.fromstring(DATA1)) with self.assertRaises(IndexError): del b[99]
def test_find_None(self): b = GenericWrapper(xmlnode=etree.fromstring(DATA1)) found = b.find('test') self.assertIsNone(found)
def test_findall_subelements(self): b = GenericWrapper(xmlnode=etree.fromstring(DATA2)) subelements = list(b.findall(CN('text:span'))) self.assertEqual(2, len(subelements))
def test_findall_None(self): b = GenericWrapper(xmlnode=etree.fromstring(DATA1)) result = list(b.findall(CN('text:p'))) self.assertEqual(0, len(result))
def test_findall_All(self): b = GenericWrapper(xmlnode=etree.fromstring(DATA1)) result = list(b.findall(GenericWrapper.TAG)) self.assertEqual(4, len(result))
def test_getitem(self): b = GenericWrapper(xmlnode=etree.fromstring(DATA1)) for x in range(4): e = b[x] self.assertEqual(x, int(e.get_attr('pos')))
def test_setitem_index_error(self): b = GenericWrapper(xmlnode=etree.fromstring(DATA1)) newitem = GenericWrapper() with self.assertRaises(IndexError): b[99] = newitem
def test_delitem(self): b = GenericWrapper(xmlnode=etree.fromstring(DATA1)) del b[0] self.assertEqual(len(b), 3) self.assertEqual(1, int(b[0].get_attr('pos')))
def test_insert_before(self): b = GenericWrapper(xmlnode=etree.fromstring(DATA1)) newitem = GenericWrapper() newitem.set_attr('name', 'newitem') b.insert_before(b[2], newitem) self.assertEqual('newitem', b[2].get_attr('name'))
def test_replace_error(self): b = GenericWrapper(xmlnode=etree.fromstring(DATA1)) replace = GenericWrapper() with self.assertRaises(ValueError): b.replace(replace, replace)
def test_len(self): b = GenericWrapper(xmlnode=etree.fromstring(DATA1)) self.assertEqual(4, len(b), "expected len is 4")
def test_setattr(self): b = GenericWrapper(xmlnode=etree.fromstring(DATA1)) b.set_attr('name', 'xxx') self.assertEqual('xxx', b.xmlnode.get('name'))
def test_iter(self): b = GenericWrapper(xmlnode=etree.fromstring(DATA1)) for pos, e in enumerate(b): self.assertTrue(isinstance(e, GenericWrapper)) self.assertEqual(pos, int(e.get_attr('pos')))
def test_get_index_error(self): b = GenericWrapper(xmlnode=etree.fromstring(DATA1)) with self.assertRaises(IndexError): e = b.get_child(99)
def test_getitem_index_error(self): b = GenericWrapper(xmlnode=etree.fromstring(DATA1)) with self.assertRaises(IndexError): e = b[99]
def test_parse_and_count_file_entry_elements(self): xmltree = etree.fromstring(testdata) result = list(xmltree.findall(CN('manifest:file-entry'))) self.assertEqual(len(result), 20)