diff options
| author | Jon Dufresne <jon.dufresne@gmail.com> | 2019-05-10 03:04:07 -0700 |
|---|---|---|
| committer | Carlton Gibson <carlton.gibson@noumenal.es> | 2019-05-10 12:04:07 +0200 |
| commit | 7c3732a1b47bb736ccfd8302aa55e6cf41edff7e (patch) | |
| tree | 7567b876bda3b9164f5929907263447ab31343ef | |
| parent | b7a33ee4f0f20e5b7e3dcd72d9b0c4c342c7f147 (diff) | |
Fixed #30470 -- Added assertHTMLEqual() support for all self closing tags.
Support for the following tags was added: area, embed, param, track, and
wbr.
The full list of self closing tags is documented at:
https://html.spec.whatwg.org/#void-elements
| -rw-r--r-- | django/test/html.py | 11 | ||||
| -rw-r--r-- | tests/test_utils/tests.py | 10 |
2 files changed, 13 insertions, 8 deletions
diff --git a/django/test/html.py b/django/test/html.py index b238fd48d9..511c08bb26 100644 --- a/django/test/html.py +++ b/django/test/html.py @@ -141,10 +141,13 @@ class HTMLParseError(Exception): class Parser(HTMLParser): - SELF_CLOSING_TAGS = ( - 'br', 'hr', 'input', 'img', 'meta', 'spacer', 'link', 'frame', 'base', - 'col', - ) + # https://html.spec.whatwg.org/#void-elements + SELF_CLOSING_TAGS = { + 'area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'link', 'meta', + 'param', 'source', 'track', 'wbr', + # Deprecated tags + 'frame', 'spacer', + } def __init__(self): super().__init__() diff --git a/tests/test_utils/tests.py b/tests/test_utils/tests.py index 2697590b77..f07c0dcd53 100644 --- a/tests/test_utils/tests.py +++ b/tests/test_utils/tests.py @@ -537,10 +537,12 @@ class HTMLEqualTests(SimpleTestCase): self.assertEqual(dom.children[0], "<p>foo</p> '</scr'+'ipt>' <span>bar</span>") def test_self_closing_tags(self): - self_closing_tags = ( - 'br', 'hr', 'input', 'img', 'meta', 'spacer', 'link', 'frame', - 'base', 'col', - ) + self_closing_tags = [ + 'area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'link', + 'meta', 'param', 'source', 'track', 'wbr', + # Deprecated tags + 'frame', 'spacer', + ] for tag in self_closing_tags: with self.subTest(tag): dom = parse_html('<p>Hello <%s> world</p>' % tag) |
