示例#1
0
    def test_equality_test_random_data(self):
        """ Check xml equality test """
        for i in range(5):
            # Run a number of times since we're using random test data
            a = EtreeUtils.getRandomElementTree(max_children=5, max_depth=5, with_text=True,
                                                max_attr=3)
            b = copy.deepcopy(a)
            random.shuffle(b._children)
            self.assertTrue(EtreeUtils.areElementsEqual(a,b))

            b.append(EtreeUtils.getRandomElementTree())
            self.assertFalse(EtreeUtils.areElementsEqual(a,b))
示例#2
0
    def test_equality_test_manual_data(self):
        infile = open(os.path.join("UozuXml","test_xml.xml"))
        a = ET.XML(infile.read())
        infile.close()
        infile = open(os.path.join("UozuXml","test_xml_shuffled.xml"))
        b = ET.XML(infile.read())
        infile.close()
        self.assertTrue(EtreeUtils.areElementsEqual(a,b))

        # Change an attribute then make sure the elements are not equal
        for node in b.iter("Bits"):
            node.set("asdf","asdff")

        self.assertFalse(EtreeUtils.areElementsEqual(a,b))
示例#3
0
 def __init__(self, tag="DefaultName", attrib={}):
     """ Override Element.__init__. Note that if you don't include
     tag, attrib and **extra things seem to break. Dunno if that's
     my fault
     """
     ET.Element.__init__(self, tag, attrib)
     if EtreeUtils.isValidXmlTag(self.tag) == False:
         raise EtreeUtils.InvalidXmlError("Invalid tag: '" + tag + "'")
示例#4
0
 def test_random_etree(self):
     """ Make sure randomly generated tree is valid xml """
     for i in range(5):
         # Run a number of times since we're using random test data
         out_tree = EtreeUtils.getRandomElementTree(max_children=5, max_depth=5, with_text=True,
                          max_attr=3, with_tail=False)
         EtreeUtils.prettifyElement(out_tree)
         temp_file = "random_etree.xml"
         ofile = open(temp_file,'wb')
         ET.ElementTree(out_tree).write(ofile, encoding="utf-8", xml_declaration=True)
         ofile.close()
         ifile = open(temp_file)
         in_tree = ET.XML(ifile.read())
         ifile.close()
 #        check_file = "random_etree_parsed.xml"
 #        ofile = open(check_file,"wb")
 #        ET.ElementTree(in_tree).write(ofile, encoding="utf-8", xml_declaration=True)
 #        ofile.close()
         self.assertTrue(EtreeUtils.areElementsEqual(out_tree,in_tree))
         os.remove(temp_file)
示例#5
0
 def __str__(self):
     return EtreeUtils.tostring(self, pretty=True)
示例#6
0
 def test_check_invalid_xml_element(self):
     el = self.getTestElement("bad tag")
     with self.assertRaises(EtreeUtils.InvalidXmlError):
         EtreeUtils.raiseExceptionOnInvalidXml(el)