Fixed assertXMLEqual when first node was a comment
This commit is contained in:
parent
1636b03382
commit
6b0a836c9c
|
@ -227,9 +227,10 @@ class override_settings(object):
|
|||
|
||||
|
||||
def compare_xml(want, got):
|
||||
"""Tries to do a 'xml-comparision' of want and got. Plain string
|
||||
comparision doesn't always work because, for example, attribute
|
||||
ordering should not be important.
|
||||
"""Tries to do a 'xml-comparison' of want and got. Plain string
|
||||
comparison doesn't always work because, for example, attribute
|
||||
ordering should not be important. Comment nodes are not considered in the
|
||||
comparison.
|
||||
|
||||
Based on http://codespeak.net/svn/lxml/trunk/src/lxml/doctestcompare.py
|
||||
"""
|
||||
|
@ -267,6 +268,11 @@ def compare_xml(want, got):
|
|||
return False
|
||||
return True
|
||||
|
||||
def first_node(document):
|
||||
for node in document.childNodes:
|
||||
if node.nodeType != Node.COMMENT_NODE:
|
||||
return node
|
||||
|
||||
want, got = strip_quotes(want, got)
|
||||
want = want.replace('\\n','\n')
|
||||
got = got.replace('\\n','\n')
|
||||
|
@ -279,8 +285,8 @@ def compare_xml(want, got):
|
|||
got = wrapper % got
|
||||
|
||||
# Parse the want and got strings, and compare the parsings.
|
||||
want_root = parseString(want).firstChild
|
||||
got_root = parseString(got).firstChild
|
||||
want_root = first_node(parseString(want))
|
||||
got_root = first_node(parseString(got))
|
||||
|
||||
return check_element(want_root, got_root)
|
||||
|
||||
|
|
|
@ -484,6 +484,11 @@ class XMLEqualTests(TestCase):
|
|||
with self.assertRaises(AssertionError):
|
||||
self.assertXMLNotEqual(xml_unvalid, xml2)
|
||||
|
||||
def test_comment_root(self):
|
||||
xml1 = "<?xml version='1.0'?><!-- comment1 --><elem attr1='a' attr2='b' />"
|
||||
xml2 = "<?xml version='1.0'?><!-- comment2 --><elem attr2='b' attr1='a' />"
|
||||
self.assertXMLEqual(xml1, xml2)
|
||||
|
||||
|
||||
class SkippingExtraTests(TestCase):
|
||||
fixtures = ['should_not_be_loaded.json']
|
||||
|
|
Loading…
Reference in New Issue