Skip to content

Commit

Permalink
Tests: Don't declare nested named function in Tests_Interactivity_API…
Browse files Browse the repository at this point in the history
…_wpInteractivityAPIFunctions.

Once the `test_process_directives_when_block_is_filtered()` method has run, the named `test_render_block_data()` function declared nested within becomes part of the global namespace, which could cause problems for other tests.

Quite apart from the fact that the name starting with `test_`  is confusing (as methods prefixed with `test_` are supposed to be test methods to be run by PHPUnit).

Using a closure for this callback fixes the issue. Declared as `static` for a micro-optimization.

Follow-up to [57826].

Props jrf, hellofromTonya.
See #61530.

git-svn-id: https://develop.svn.wordpress.org/trunk@58738 602fd350-edb4-49c9-b593-d223f7449a82
  • Loading branch information
hellofromtonya committed Jul 16, 2024
1 parent bd61b0b commit a6d5694
Showing 1 changed file with 6 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -332,16 +332,18 @@ public function test_process_directives_when_block_is_filtered() {
),
)
);
function test_render_block_data( $parsed_block ) {

$test_render_block_data = static function ( $parsed_block ) {
$parsed_block['testKey'] = true;
return $parsed_block;
}
add_filter( 'render_block_data', 'test_render_block_data' );
};

add_filter( 'render_block_data', $test_render_block_data );
$post_content = '<!-- wp:test/custom-directive-block /-->';
$processed_content = do_blocks( $post_content );
$processor = new WP_HTML_Tag_Processor( $processed_content );
$processor->next_tag( array( 'data-wp-interactive' => 'nameSpace' ) );
remove_filter( 'render_block_data', 'test_render_block_data' );
remove_filter( 'render_block_data', $test_render_block_data );
unregister_block_type( 'test/custom-directive-block' );
$this->assertSame( 'test', $processor->get_attribute( 'value' ) );
}
Expand Down

0 comments on commit a6d5694

Please sign in to comment.