def test_pretty_format_safety(self): # Check that dom is not modified in format_xml; we check that by # comparing the exported forms of `dom' created before and after # format_xml call. xml = re.sub(' *\n *', '', self._XML) dom = vmxml.parse_xml(xml) exported_1 = etree.tostring(dom) vmxml.format_xml(dom, pretty=True) exported_2 = etree.tostring(dom) self.assertEqual(exported_1, exported_2)
def test_find_first_nested(self): XML = u'''<?xml version="1.0" ?> <topelement> <subelement id="1"> <subelement id="2"/> </subelement> </topelement> ''' dom = vmxml.parse_xml(XML) sub1 = vmxml.find_first(dom, 'subelement') # outermost sub2 = vmxml.find_first(sub1, 'subelement') # innermost last = vmxml.find_first(sub2, 'subelement') self.assertIsNot(sub2, last)
def test_pretty_format_formatting(self): xml = re.sub(' *\n *', '', self._XML) dom = vmxml.parse_xml(xml) pretty = vmxml.format_xml(dom, pretty=True) self.assertEqual(pretty, '''<?xml version='1.0' encoding='UTF-8'?> <topelement> <hello lang="english">hello</hello> <hello cyrillic="yes" lang="русский">здра́вствуйте</hello> <bye>good bye<hello lang="čeština">dobrý den</hello> </bye> <container> <subelement /> </container> <container> <subelement>some content</subelement> </container> <empty /> </topelement> ''')
def setUp(self): self._dom = vmxml.parse_xml(self._XML)