Make WordPress Core

Ticket #61910: register-block-style-attribute.diff

File register-block-style-attribute.diff, 1.7 KB (added by mreishus, 3 months ago)

Failing Unit Test

  • tests/phpunit/tests/blocks/register.php

    diff --git a/tests/phpunit/tests/blocks/register.php b/tests/phpunit/tests/blocks/register.php
    index 7e0c391e1f..4effe80ad8 100644
    a b class Tests_Blocks_Register extends WP_UnitTestCase { 
    876876                $this->assertSameSets( array( 'alert', 'message' ), $result->keywords, 'The block keywords are incorrect' );
    877877        }
    878878
     879        /**
     880         * Tests registering a block with a 'style' attribute using arguments instead of block.json.
     881         *
     882         * @ticket XXXXX
     883         *
     884         * @covers ::register_block_type_from_metadata
     885         */
     886        public function test_register_block_type_from_metadata_with_style_attribute() {
     887                $warnings = [];
     888                set_error_handler(
     889                        function( $errno, $errstr ) use ( &$warnings ) {
     890                                $warnings[] = $errstr;
     891                        },
     892                        E_WARNING
     893                );
     894
     895                $result = register_block_type_from_metadata(
     896                        '',
     897                        array(
     898                                'api_version' => 2,
     899                                'name'        => 'tests/notice-with-style',
     900                                'title'       => 'Notice with style',
     901                                'category'    => 'common',
     902                                'icon'        => 'star',
     903                                'description' => 'Test block with style attribute',
     904                                'keywords'    => array('test', 'style'),
     905                                'textdomain'  => 'notice-with-style',
     906                                'style'       => array('wc-blocks-style', 'wc-blocks-style-active-filters'),
     907                        )
     908                );
     909
     910                // Restore normal error handling
     911                restore_error_handler();
     912
     913                // Assert that the block was registered successfully
     914                $this->assertInstanceOf( 'WP_Block_Type', $result, 'The block was not registered' );
     915
     916                // Check for any warnings
     917                $this->assertEmpty( $warnings, 'Unexpected warnings were generated during block registration' );
     918        }
     919
    879920        /**
    880921         * Tests that defined $args can properly override the block.json file.
    881922         *