diff options
| author | Adam Zapletal <adamzap@gmail.com> | 2016-08-31 19:41:34 -0500 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2016-08-31 20:41:34 -0400 |
| commit | ca2ccf54ffa95cf001260b917dd267fda60e93d5 (patch) | |
| tree | 3efce67af87aeeb137b7c13b707ff90c2cff1a31 | |
| parent | ff1e7b4eb43737bf2752197036663cee58922317 (diff) | |
Fixed #24112 -- Fixed assertInHTML()'s counting if needle has no root element.
| -rw-r--r-- | django/test/html.py | 3 | ||||
| -rw-r--r-- | tests/test_utils/tests.py | 7 |
2 files changed, 10 insertions, 0 deletions
diff --git a/django/test/html.py b/django/test/html.py index 84f4862693..195c61ede0 100644 --- a/django/test/html.py +++ b/django/test/html.py @@ -94,6 +94,9 @@ class Element(object): if not isinstance(element, six.string_types): if self == element: return 1 + if isinstance(element, RootElement): + if self.children == element.children: + return 1 i = 0 for child in self.children: # child is text content and element is also text content, then diff --git a/tests/test_utils/tests.py b/tests/test_utils/tests.py index 16c4890914..cd9b723a4e 100644 --- a/tests/test_utils/tests.py +++ b/tests/test_utils/tests.py @@ -591,6 +591,8 @@ class HTMLEqualTests(SimpleTestCase): self.assertIn(dom1, dom2) dom1 = parse_html('<p>bar</p>') self.assertIn(dom1, dom2) + dom1 = parse_html('<div><p>foo</p><p>bar</p></div>') + self.assertIn(dom2, dom1) def test_count(self): # equal html contains each other one time @@ -626,6 +628,11 @@ class HTMLEqualTests(SimpleTestCase): dom2 = parse_html('<p>foo<p>bar</p></p>') self.assertEqual(dom2.count(dom1), 0) + # html with a root element contains the same html with no root element + dom1 = parse_html('<p>foo</p><p>bar</p>') + dom2 = parse_html('<div><p>foo</p><p>bar</p></div>') + self.assertEqual(dom2.count(dom1), 1) + def test_parsing_errors(self): with self.assertRaises(AssertionError): self.assertHTMLEqual('<p>', '') |
