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/blocks/wpBlock.php

    r60951 r61519  
    369369         */
    370370        public function data_provider_test_render_enqueues_scripts_and_styles(): array {
    371                 $block_markup = '
    372                         <!-- wp:static -->
    373                         <div class="static">
    374                                 <!-- wp:static-child -->
    375                                 <div class="static-child">First child</div>
    376                                 <!-- /wp:static-child -->
    377                                 <!-- wp:dynamic /-->
    378                                 <!-- wp:static-child -->
    379                                 <div class="static-child">Last child</div>
    380                                 <!-- /wp:static-child -->
    381                         </div>
    382                         <!-- /wp:static -->
    383                 ';
     371                $block_markup = <<<'HTML'
     372<!-- wp:static -->
     373<div class="static">
     374<!-- wp:static-child -->
     375<div class="static-child">First child</div>
     376<!-- /wp:static-child -->
     377<!-- wp:dynamic /-->
     378<!-- wp:static-child -->
     379<div class="static-child">Last child</div>
     380<!-- /wp:static-child -->
     381</div>
     382<!-- /wp:static -->
     383HTML;
    384384
    385385                // TODO: Add case where a dynamic block renders other blocks?
     
    388388                                'set_up'                  => null,
    389389                                'block_markup'            => $block_markup,
    390                                 'expected_rendered_block' => '
    391                                         <div class="static">
    392                                                 <div class="static-child">First child</div>
    393                                                 <p class="dynamic">Hello World!</p>
    394                                                 <div class="static-child">Last child</div>
    395                                         </div>
    396                                 ',
     390                                'expected_rendered_block' => <<<'HTML'
     391
     392<div class="static">
     393
     394<div class="static-child">First child</div>
     395
     396<p class="dynamic">Hello World!</p>
     397
     398<div class="static-child">Last child</div>
     399
     400</div>
     401
     402HTML
     403                                ,
    397404                                'expected_styles'         => array( 'static-view-style', 'static-child-view-style', 'dynamic-view-style' ),
    398405                                'expected_scripts'        => array( 'static-view-script', 'static-child-view-script', 'dynamic-view-script' ),
     
    415422                                },
    416423                                'block_markup'            => $block_markup,
    417                                 'expected_rendered_block' => '
    418                                         <div class="static">
    419                                                 <div class="static-child">First child</div>
    420                                                 <p class="dynamic filtered">Hello World!</p>
    421                                                 <div class="static-child">Last child</div>
    422                                         </div>
    423                                 ',
     424                                'expected_rendered_block' => <<<'HTML'
     425
     426<div class="static">
     427
     428<div class="static-child">First child</div>
     429
     430<p class="dynamic filtered">Hello World!</p>
     431
     432<div class="static-child">Last child</div>
     433
     434</div>
     435
     436HTML
     437                                ,
    424438                                'expected_styles'         => array( 'static-view-style', 'dynamic-extra', 'static-child-view-style', 'dynamic-view-style' ),
    425439                                'expected_scripts'        => array( 'static-view-script', 'static-child-view-script', 'dynamic-view-script' ),
     
    431445                                },
    432446                                'block_markup'            => $block_markup,
    433                                 'expected_rendered_block' => '
    434                                         <div class="static">
    435                                                 <div class="static-child">First child</div>
    436                                                 <div class="static-child">Last child</div>
    437                                         </div>
    438                                 ',
     447                                'expected_rendered_block' => <<<'HTML'
     448
     449<div class="static">
     450
     451<div class="static-child">First child</div>
     452
     453
     454
     455<div class="static-child">Last child</div>
     456
     457</div>
     458
     459HTML
     460                                ,
    439461                                'expected_styles'         => array( 'static-view-style', 'static-child-view-style' ),
    440462                                'expected_scripts'        => array( 'static-view-script', 'static-child-view-script' ),
     
    457479                                },
    458480                                'block_markup'            => $block_markup,
    459                                 'expected_rendered_block' => '
    460                                         <div class="static">
    461                                                 <div class="static-child">First child</div>
    462                                                 <div class="static-child">Last child</div>
    463                                         </div>
    464                                 ',
     481                                'expected_rendered_block' => <<<'HTML'
     482
     483<div class="static">
     484
     485<div class="static-child">First child</div>
     486
     487
     488
     489<div class="static-child">Last child</div>
     490
     491</div>
     492
     493HTML
     494                                ,
    465495                                'expected_styles'         => array( 'static-view-style', 'static-child-view-style', 'dynamic-view-style' ),
    466496                                'expected_scripts'        => array( 'static-view-script', 'static-child-view-script', 'dynamic-view-script' ),
     
    489519                                },
    490520                                'block_markup'            => $block_markup,
    491                                 'expected_rendered_block' => '
    492                                         <div class="static">
    493                                                 <p class="dynamic">Hello World!</p>
    494                                         </div>
    495                                 ',
     521                                'expected_rendered_block' => <<<'HTML'
     522
     523<div class="static">
     524
     525<p class="dynamic">Hello World!</p>
     526
     527</div>
     528
     529HTML
     530                                ,
    496531                                'expected_styles'         => array( 'static-view-style', 'dynamic-view-style' ),
    497532                                'expected_scripts'        => array( 'static-view-script', 'dynamic-view-script' ),
     
    513548                                },
    514549                                'block_markup'            => $block_markup,
    515                                 'expected_rendered_block' => '
    516                                         <div class="static">
    517                                                 <div class="static-child">First child</div>
    518                                                 <p class="dynamic">Hello World!</p>
    519                                         </div>
    520                                 ',
     550                                'expected_rendered_block' => <<<'HTML'
     551
     552<div class="static">
     553
     554<div class="static-child">First child</div>
     555
     556<p class="dynamic">Hello World!</p>
     557
     558</div>
     559
     560HTML
     561                                ,
    521562                                'expected_styles'         => array( 'static-view-style', 'static-child-view-style', 'dynamic-view-style' ),
    522563                                'expected_scripts'        => array( 'static-view-script', 'static-child-view-script', 'dynamic-view-script' ),
     
    563604                                },
    564605                                'block_markup'            => '<!-- wp:static --><div class="static"></div><!-- /wp:static -->',
    565                                 'expected_rendered_block' => '
    566                                         <div class="static yes-admin-bar-script-enqueued yes-admin-bar-style-enqueued"></div>
    567                                 ',
     606                                'expected_rendered_block' =>
     607                                        '<div class="static yes-admin-bar-script-enqueued yes-admin-bar-style-enqueued"></div>',
    568608                                'expected_styles'         => array( 'static-view-style', 'admin-bar' ),
    569609                                'expected_scripts'        => array( 'static-view-script', 'admin-bar' ),
     
    669709
    670710                // TODO: Why not use do_blocks() instead?
    671                 $parsed_blocks  = parse_blocks( trim( $block_markup ) );
     711                $parsed_blocks  = parse_blocks( $block_markup );
    672712                $parsed_block   = $parsed_blocks[0];
    673713                $context        = array();
     
    683723                        $rendered_block,
    684724                        '<body>',
    685                         "Rendered block does not contain expected HTML:\n$rendered_block"
     725                        'Rendered block does not contain expected HTML.'
    686726                );
    687727        }
Note: See TracChangeset for help on using the changeset viewer.