wordpress-develop/tests
Sergey Biryukov 0f81f441dc HTML API: Avoid calling subclass method while internally scanning in Tag Processor.
After modifying tags in the HTML API, the Tag Processor backs up to before the tag being modified and then re-parses its attributes. This saves on the code complexity involved in applying updates, which have already been transformed to “lexical updates” by the time they are applied.

In order to do that, `::get_updated_html()` called `::next_tag()` to reuse its logic. However, as a public method, subclasses may change the behavior of that method, and the HTML Processor does just this. It maintains an HTML stack of open elements and when the Tag Processor calls this method to re-scan a tag and its attributes, it leads to a broken stack.

This commit replaces the call to `::next_tag()` with a more appropriate reapplication of its internal parsing logic to rescan the tag name and its attributes. Given the limited nature of what's occurring in `::get_updated_html()`, this should bring with it certain guarantees that no HTML structure is being changed (that structure will only be changed by subclasses like the HTML Processor).

Follow-up to [56274], [56702].

Props dmsnell, zieladam, nicolefurlan.
Fixes #59607.

git-svn-id: https://develop.svn.wordpress.org/trunk@56941 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-16 14:00:01 +00:00
..
e2e Build/Test Tools: Migrate Puppeteer tests to Playwright. 2023-10-13 08:11:41 +00:00
gutenberg Block Editor: Update the Gutenberg branch used to launch Gutenberg e2e tests. 2021-06-01 09:21:36 +00:00
performance Build/Test Tools: Do not round percentages when comparing performance test results. 2023-10-13 20:03:07 +00:00
phpunit HTML API: Avoid calling subclass method while internally scanning in Tag Processor. 2023-10-16 14:00:01 +00:00
qunit REST API: Fix issue with Template and Template Part Revision/Autosave REST API controllers. 2023-10-10 14:03:03 +00:00
visual-regression Build/Test Tools: Migrate Puppeteer tests to Playwright. 2023-10-13 08:11:41 +00:00