Make WordPress Core


Ignore:
Timestamp:
01/23/2026 06:04:10 PM (8 months ago)
Author:
jonsurrell
Message:

Build/Test Tools: Ensure assertEqualHTML() recognizes whitespace text.

Ensure whitespace text nodes are correctly represented by build_visual_html_tree().

The build_visual_html_tree() function used by assertEqualHTML() would remove some leading whitespace from text nodes. Some whitespace-only text nodes were omitted from the tree.

Developed in https://github.com/WordPress/wordpress-develop/pull/10765.

Follow-up to [60295].

Props jonsurrell, dmsnell, bernhard-reiter.
Fixes #64531.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/block-template-utils.php

    r61469 r61519  
    307307        public function test_block_template_add_skip_link_inserts_link_and_adds_main_id_when_missing() {
    308308                $template_html = '<div class="wp-site-blocks"><main>Content</main></div>';
    309                 $expected      = '
    310                         <a class="skip-link screen-reader-text" id="wp-skip-link" href="#wp--skip-link--target">Skip to content</a>
    311                         <div class="wp-site-blocks"><main id="wp--skip-link--target">Content</main></div>
    312                 ';
     309                $expected      =
     310                        '<a class="skip-link screen-reader-text" id="wp-skip-link" href="#wp--skip-link--target">Skip to content</a>' .
     311                        '<div class="wp-site-blocks"><main id="wp--skip-link--target">Content</main></div>';
    313312
    314313                $this->assertEqualHTML( $expected, _block_template_add_skip_link( $template_html ) );
     
    324323        public function test_block_template_add_skip_link_uses_existing_main_id() {
    325324                $template_html = '<div class="wp-site-blocks"><main id="custom-id">Content</main></div>';
    326                 $expected      = '
    327                         <a class="skip-link screen-reader-text" id="wp-skip-link" href="#custom-id">Skip to content</a>
    328                         <div class="wp-site-blocks"><main id="custom-id">Content</main></div>
    329                 ';
     325                $expected      =
     326                        '<a class="skip-link screen-reader-text" id="wp-skip-link" href="#custom-id">Skip to content</a>' .
     327                        '<div class="wp-site-blocks"><main id="custom-id">Content</main></div>';
    330328
    331329                $this->assertEqualHTML( $expected, _block_template_add_skip_link( $template_html ) );
     
    341339        public function test_block_template_add_skip_link_handles_boolean_main_id() {
    342340                $template_html = '<div class="wp-site-blocks"><main id>Content</main></div>';
    343                 $expected      = '
    344                         <a class="skip-link screen-reader-text" id="wp-skip-link" href="#wp--skip-link--target">Skip to content</a>
    345                         <div class="wp-site-blocks"><main id="wp--skip-link--target">Content</main></div>
    346                 ';
     341                $expected      =
     342                        '<a class="skip-link screen-reader-text" id="wp-skip-link" href="#wp--skip-link--target">Skip to content</a>' .
     343                        '<div class="wp-site-blocks"><main id="wp--skip-link--target">Content</main></div>';
    347344
    348345                $this->assertEqualHTML( $expected, _block_template_add_skip_link( $template_html ) );
     
    358355        public function test_block_template_add_skip_link_preserves_whitespace_main_id() {
    359356                $template_html = '<div class="wp-site-blocks"><main id=" my-id ">Content</main></div>';
    360                 $expected      = '
    361                         <a class="skip-link screen-reader-text" id="wp-skip-link" href="#%20my-id%20">Skip to content</a>
    362                         <div class="wp-site-blocks"><main id=" my-id ">Content</main></div>
    363                 ';
     357                $expected      =
     358                        '<a class="skip-link screen-reader-text" id="wp-skip-link" href="#%20my-id%20">Skip to content</a>' .
     359                        '<div class="wp-site-blocks"><main id=" my-id ">Content</main></div>';
    364360
    365361                $this->assertEqualHTML( $expected, _block_template_add_skip_link( $template_html ) );
Note: See TracChangeset for help on using the changeset viewer.