def test_module_parse_html(self): parser = self.etree.HTMLParser() filename = tempfile.mktemp(suffix=".html") write_to_file(filename, self.html_str, 'wb') try: f = open(filename, 'rb') tree = self.etree.parse(f, parser) f.close() self.assertEqual(self.etree.tostring(tree.getroot(), method="html"), self.html_str) finally: os.remove(filename)
def test_module_parse_html(self): parser = self.etree.HTMLParser() filename = tempfile.mktemp(suffix=".html") write_to_file(filename, self.html_str, 'wb') try: with open(filename, 'rb') as f: tree = self.etree.parse(f, parser) self.assertEqual( self.etree.tostring(tree.getroot(), method="html"), self.html_str) finally: os.remove(filename)
def test_class_parse_filename(self): # (c)ElementTree class ElementTree has a 'parse' method that returns # the root of the tree # parse from filename handle, filename = tempfile.mkstemp(suffix=".xml") write_to_file(filename, self.root_str, 'wb') try: tree = self.etree.ElementTree() root = tree.parse(filename) self.assertEqual(self.etree.tostring(root), self.root_str) finally: os.close(handle) os.remove(filename)
def test_class_parse_filename_remove_previous(self): handle, filename = tempfile.mkstemp(suffix=".xml") write_to_file(filename, self.root_str, 'wb') try: tree = self.etree.ElementTree() root = tree.parse(filename) # and now do it again; previous content should still be there root2 = tree.parse(filename) self.assertEqual('a', root.tag) self.assertEqual('a', root2.tag) # now remove all references to root2, and parse again del root2 root3 = tree.parse(filename) self.assertEqual('a', root.tag) self.assertEqual('a', root3.tag) # root2's memory should've been freed here # XXX how to check? finally: os.close(handle) os.remove(filename)
def test_class_parse_filename_remove_previous(self): handle, filename = tempfile.mkstemp(suffix=".xml") write_to_file(filename, self.root_str, 'wb') try: tree = self.etree.ElementTree() root = tree.parse(filename) # and now do it again; previous content should still be there root2 = tree.parse(filename) self.assertEquals('a', root.tag) self.assertEquals('a', root2.tag) # now remove all references to root2, and parse again del root2 root3 = tree.parse(filename) self.assertEquals('a', root.tag) self.assertEquals('a', root3.tag) # root2's memory should've been freed here # XXX how to check? finally: os.close(handle) os.remove(filename)