#61102 closed defect (bug) (fixed)
Tests: Html5lib-tests context tag needs to be reset
Reported by: | jonsurrell | Owned by: | jonsurrell |
---|---|---|---|
Milestone: | 6.6 | Priority: | normal |
Severity: | normal | Version: | 6.6 |
Component: | Build/Test Tools | Keywords: | has-patch has-unit-tests |
Focuses: | Cc: |
Description
The html5lib-tests suite parses tests from a number of files with a specific data format. It uses a dataProvider in a loop that yields test information. This relies on some variables being reset on each iteration. The context element is not properly reset on each iteration.
The test specification describes the context element as follows:
Then there *may* be a line that says "#document-fragment", which must be followed by a newline (LF), followed by a string of characters that indicates the context element, followed by a newline (LF). If the string of characters starts with "svg ", the context element is in the SVG namespace and the substring after "svg " is the local name. If the string of characters starts with "math ", the context element is in the MathML namespace and the substring after "math " is the local name. Otherwise, the context element is in the HTML namespace and the string is the local name. If this line is present the "#data" must be parsed using the HTML fragment parsing algorithm with the context element as context.
Without the proper reset of this value, a single context element would change subsequent tests, breaking the test suite.
Change History (7)
This ticket was mentioned in PR #6464 on WordPress/wordpress-develop by @jonsurrell.
4 months ago
#2
- Keywords has-patch has-unit-tests added
Trac ticket: https://core.trac.wordpress.org/ticket/61102
#3
@
4 months ago
@dmsnell This is a small bugfix that was causing 2 tests to be incorrectly skipped in the html5lib-tests for HTML API.
4 months ago
#4
ah. there's more of a description in the Trac ticket. feel free to duplicate descriptions 😉
On trunk, when running this suite we see:
When fixing the issue we see:
There's a new failure that was in a skipped test. Tests that have context elements are skipped because HTML API only supports
body
at the moment.