Make WordPress Core


Ignore:
Timestamp:
06/03/2024 07:42:57 AM (9 months ago)
Author:
isabel_brison
Message:

Editor: Add block bindings support for a __default attribute for pattern overrides.

Adds handling for a __default block binding attribute for pattern overrides that dynamically adds support for all supported block binding attributes.

Props talldanwp, petitphp, mukesh27, isabel_brison, kevin940726.
Fixes #61333.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/block-bindings/render.php

    r57754 r58289  
    235235        );
    236236    }
     237
     238    /**
     239     * Tests if the `__default` attribute is replaced with real attribues for
     240     * pattern overrides.
     241     *
     242     * @ticket 61333
     243     *
     244     * @covers WP_Block::process_block_bindings
     245     */
     246    public function test_default_binding_for_pattern_overrides() {
     247        $expected_content = 'This is the content value';
     248
     249        $block_content = <<<HTML
     250<!-- wp:paragraph {"metadata":{"bindings":{"__default":{"source":"core/pattern-overrides"}},"name":"Test"}} -->
     251<p>This should not appear</p>
     252<!-- /wp:paragraph -->
     253HTML;
     254
     255        $parsed_blocks = parse_blocks( $block_content );
     256        $block         = new WP_Block( $parsed_blocks[0], array( 'pattern/overrides' => array( 'Test' => array( 'content' => $expected_content ) ) ) );
     257        $result        = $block->render();
     258
     259        $this->assertSame(
     260            "<p>$expected_content</p>",
     261            trim( $result ),
     262            'The `__default` attribute should be replaced with the real attribute prior to the callback.'
     263        );
     264    }
    237265}
Note: See TracChangeset for help on using the changeset viewer.