mirror of
https://github.com/django/django.git
synced 2024-12-22 17:16:24 +00:00
Fixed #25170 -- Made assertXMLEqual()/assertXMLNotEqual() ignore leading and trailing whitespace.
Thanks Jacek Bzdak for indepdently contributing a similar fix.
This commit is contained in:
parent
7862cbda86
commit
2085d8d5bc
2
AUTHORS
2
AUTHORS
@ -234,6 +234,7 @@ answer newbie questions, and generally made Django that much better:
|
|||||||
Fabrice Aneche <akh@nobugware.com>
|
Fabrice Aneche <akh@nobugware.com>
|
||||||
favo@exoweb.net
|
favo@exoweb.net
|
||||||
fdr <drfarina@gmail.com>
|
fdr <drfarina@gmail.com>
|
||||||
|
Federico Capoano <nemesis@ninux.org>
|
||||||
Filip Noetzel <http://filip.noetzel.co.uk/>
|
Filip Noetzel <http://filip.noetzel.co.uk/>
|
||||||
Filip Wasilewski <filip.wasilewski@gmail.com>
|
Filip Wasilewski <filip.wasilewski@gmail.com>
|
||||||
Finn Gruwier Larsen <finn@gruwier.dk>
|
Finn Gruwier Larsen <finn@gruwier.dk>
|
||||||
@ -483,6 +484,7 @@ answer newbie questions, and generally made Django that much better:
|
|||||||
Matt McClanahan <http://mmcc.cx/>
|
Matt McClanahan <http://mmcc.cx/>
|
||||||
Matt Riggott
|
Matt Riggott
|
||||||
Matt Robenolt <m@robenolt.com>
|
Matt Robenolt <m@robenolt.com>
|
||||||
|
Mattia Larentis <mattia@laretis.eu>
|
||||||
mattycakes@gmail.com
|
mattycakes@gmail.com
|
||||||
Max Burstein <http://maxburstein.com>
|
Max Burstein <http://maxburstein.com>
|
||||||
Max Derkachev <mderk@yandex.ru>
|
Max Derkachev <mderk@yandex.ru>
|
||||||
|
@ -293,7 +293,7 @@ def compare_xml(want, got):
|
|||||||
"""Tries to do a 'xml-comparison' of want and got. Plain string
|
"""Tries to do a 'xml-comparison' of want and got. Plain string
|
||||||
comparison doesn't always work because, for example, attribute
|
comparison doesn't always work because, for example, attribute
|
||||||
ordering should not be important. Comment nodes are not considered in the
|
ordering should not be important. Comment nodes are not considered in the
|
||||||
comparison.
|
comparison. Leading and trailing whitespace is ignored on both chunks.
|
||||||
|
|
||||||
Based on http://codespeak.net/svn/lxml/trunk/src/lxml/doctestcompare.py
|
Based on http://codespeak.net/svn/lxml/trunk/src/lxml/doctestcompare.py
|
||||||
"""
|
"""
|
||||||
@ -338,8 +338,8 @@ def compare_xml(want, got):
|
|||||||
return node
|
return node
|
||||||
|
|
||||||
want, got = strip_quotes(want, got)
|
want, got = strip_quotes(want, got)
|
||||||
want = want.replace('\\n', '\n')
|
want = want.strip().replace('\\n', '\n')
|
||||||
got = got.replace('\\n', '\n')
|
got = got.strip().replace('\\n', '\n')
|
||||||
|
|
||||||
# If the string is not a complete xml document, we may need to add a
|
# If the string is not a complete xml document, we may need to add a
|
||||||
# root element. This allow us to compare fragments, like "<foo/><bar/>"
|
# root element. This allow us to compare fragments, like "<foo/><bar/>"
|
||||||
|
@ -753,6 +753,16 @@ class XMLEqualTests(SimpleTestCase):
|
|||||||
xml2 = "<?xml version='1.0'?><!-- comment2 --><elem attr2='b' attr1='a' />"
|
xml2 = "<?xml version='1.0'?><!-- comment2 --><elem attr2='b' attr1='a' />"
|
||||||
self.assertXMLEqual(xml1, xml2)
|
self.assertXMLEqual(xml1, xml2)
|
||||||
|
|
||||||
|
def test_simple_equal_with_leading_or_trailing_whitespace(self):
|
||||||
|
xml1 = "<elem>foo</elem> \t\n"
|
||||||
|
xml2 = " \t\n<elem>foo</elem>"
|
||||||
|
self.assertXMLEqual(xml1, xml2)
|
||||||
|
|
||||||
|
def test_simple_not_equal_with_whitespace_in_the_middle(self):
|
||||||
|
xml1 = "<elem>foo</elem><elem>bar</elem>"
|
||||||
|
xml2 = "<elem>foo</elem> <elem>bar</elem>"
|
||||||
|
self.assertXMLNotEqual(xml1, xml2)
|
||||||
|
|
||||||
|
|
||||||
class SkippingExtraTests(TestCase):
|
class SkippingExtraTests(TestCase):
|
||||||
fixtures = ['should_not_be_loaded.json']
|
fixtures = ['should_not_be_loaded.json']
|
||||||
|
Loading…
Reference in New Issue
Block a user