summaryrefslogtreecommitdiff
path: root/django/test/html.py
diff options
context:
space:
mode:
authorLuke Plant <L.Plant.98@cantab.net>2012-12-24 02:11:32 +0000
committerLuke Plant <L.Plant.98@cantab.net>2012-12-24 02:11:32 +0000
commit8bc410b44536e03ee38a0087256faf367dd98dd9 (patch)
treeabd26a6c2241adcac5bce08747989dfa3e3ea825 /django/test/html.py
parent1ae64e96c161229a74efc4235917dcaae7e9cd05 (diff)
Fixed HTML comparisons of class="foo bar" and class="bar foo" in tests
Refs #17758
Diffstat (limited to 'django/test/html.py')
-rw-r--r--django/test/html.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/django/test/html.py b/django/test/html.py
index 274810cab4..2f6e4c9481 100644
--- a/django/test/html.py
+++ b/django/test/html.py
@@ -182,6 +182,14 @@ class Parser(HTMLParser):
self.handle_endtag(tag)
def handle_starttag(self, tag, attrs):
+ # Special case handling of 'class' attribute, so that comparisons of DOM
+ # instances are not sensitive to ordering of classes.
+ attrs = [
+ (name, " ".join(sorted(value.split(" "))))
+ if name == "class"
+ else (name, value)
+ for name, value in attrs
+ ]
element = Element(tag, attrs)
self.current.append(element)
if tag not in self.SELF_CLOSING_TAGS: