Make WordPress Core

Ticket #48529: 48529.3.diff

File 48529.3.diff, 5.8 KB (added by gziolo, 4 years ago)
  • src/wp-admin/includes/post.php

     
    22342234function get_block_editor_server_block_settings() {
    22352235        $block_registry = WP_Block_Type_Registry::get_instance();
    22362236        $blocks         = array();
    2237         $keys_to_pick   = array( 'title', 'description', 'icon', 'category', 'keywords', 'parent', 'supports', 'attributes', 'styles' );
     2237        $keys_to_pick   = array( 'title', 'description', 'icon', 'category', 'keywords', 'parent', 'supports', 'attributes', 'styles', 'textdomain', 'example' );
    22382238
    22392239        foreach ( $block_registry->get_all_registered() as $block_name => $block_type ) {
    22402240                foreach ( $keys_to_pick as $key ) {
  • src/wp-includes/class-wp-block-type.php

     
    1515 * @see register_block_type()
    1616 */
    1717class WP_Block_Type {
     18
    1819        /**
    1920         * Block type key.
    2021         *
     
    2425        public $name;
    2526
    2627        /**
     28         * @since 5.5.0
     29         * @var string
     30         */
     31        public $title = '';
     32
     33        /**
     34         * @since 5.5.0
     35         * @var string
     36         */
     37        public $category = '';
     38
     39        /**
     40         * @since 5.5.0
     41         * @var array|null
     42         */
     43        public $parent = null;
     44
     45        /**
     46         * @since 5.5.0
     47         * @var string
     48         */
     49        public $icon = '';
     50
     51        /**
     52         * @since 5.5.0
     53         * @var string
     54         */
     55        public $description = '';
     56
     57        /**
     58         * @since 5.5.0
     59         * @var array
     60         */
     61        public $keywords = array();
     62
     63        /**
     64         * @since 5.5.0
     65         * @var string|null
     66         */
     67        public $textdomain = null;
     68
     69        /**
     70         * @since 5.5.0
     71         * @var array
     72         */
     73        public $styles = array();
     74
     75        /**
     76         * @since 5.5.0
     77         * @var array
     78         */
     79        public $supports = array();
     80
     81        /**
     82         * @since 5.5.0
     83         * @var array|null
     84         */
     85        public $example = null;
     86
     87        /**
    2788         * Block type render callback.
    2889         *
    2990         * @since 5.0.0
    3091         * @var callable
    3192         */
    32         public $render_callback;
     93        public $render_callback = null;
    3394
    3495        /**
    3596         * Block type attributes property schemas.
    3697         *
    3798         * @since 5.0.0
    38          * @var array
     99         * @var array|null
    39100         */
    40         public $attributes;
     101        public $attributes = null;
    41102
    42103        /**
    43104         * Block type editor script handle.
     
    45106         * @since 5.0.0
    46107         * @var string
    47108         */
    48         public $editor_script;
     109        public $editor_script = '';
    49110
    50111        /**
    51112         * Block type front end script handle.
     
    53114         * @since 5.0.0
    54115         * @var string
    55116         */
    56         public $script;
     117        public $script = '';
    57118
    58119        /**
    59120         * Block type editor style handle.
     
    61122         * @since 5.0.0
    62123         * @var string
    63124         */
    64         public $editor_style;
     125        public $editor_style = '';
    65126
    66127        /**
    67128         * Block type front end style handle.
     
    69130         * @since 5.0.0
    70131         * @var string
    71132         */
    72         public $style;
     133        public $style = '';
    73134
    74135        /**
    75136         * Constructor.
     
    76137         *
    77138         * Will populate object properties from the provided arguments.
    78139         *
     140         * @param string       $block_type Block type name including namespace.
     141         * @param array|string $args       Optional. Array or string of arguments for registering a block type.
     142         *                                 Default empty array.
     143         *
    79144         * @since 5.0.0
    80145         *
    81          * @see register_block_type()
     146         * @see   register_block_type()
    82147         *
    83          * @param string       $block_type Block type name including namespace.
    84          * @param array|string $args       Optional. Array or string of arguments for registering a block type.
    85          *                                 Default empty array.
    86148         */
    87149        public function __construct( $block_type, $args = array() ) {
    88150                $this->name = $block_type;
  • tests/phpunit/tests/admin/includesPost.php

     
    825825        function test_get_block_editor_server_block_settings() {
    826826                $name     = 'core/test';
    827827                $settings = array(
     828                        'category'        => 'common',
    828829                        'icon'            => 'text',
    829830                        'render_callback' => 'foo',
    830831                );
     
    836837                unregister_block_type( $name );
    837838
    838839                $this->assertArrayHasKey( $name, $blocks );
    839                 $this->assertSame( array( 'icon' => 'text' ), $blocks[ $name ] );
     840                $this->assertEquals( array(
     841                        'title'       => '',
     842                        'description' => '',
     843                        'category'    => 'common',
     844                        'icon'        => 'text',
     845                        'keywords'    => array(),
     846                        'supports'    => array(),
     847                        'styles'      => array(),
     848                ), $blocks[ $name ] );
    840849        }
    841850
    842851        /**
  • tests/phpunit/tests/blocks/block-type.php

     
    350350        }
    351351
    352352        /**
     353         * @ticket 48529
     354         */
     355        public function test_register_block() {
     356                $block_type = new WP_Block_Type( 'core/fake', array(
     357                        'title'       => 'Test title',
     358                        'category'    => 'Test category',
     359                        'parent'      => array( 'core/third-party' ),
     360                        'icon'        => 'icon.png',
     361                        'description' => 'test description',
     362                        'keywords'    => array( 'test keyword' ),
     363                        'textdomain'  => 'test_domain',
     364                        'supports'    => array( 'alignment' => true ),
     365                ) );
     366
     367                $this->assertSame( 'Test title', $block_type->title );
     368                $this->assertSame( 'Test category', $block_type->category );
     369                $this->assertEqualSets( array( 'core/third-party' ), $block_type->parent );
     370                $this->assertSame( 'icon.png', $block_type->icon );
     371                $this->assertSame( 'test description', $block_type->description );
     372                $this->assertEqualSets( array( 'test keyword' ), $block_type->keywords );
     373                $this->assertSame( 'test_domain', $block_type->textdomain );
     374                $this->assertEqualSets( array( 'alignment' => true ), $block_type->supports );
     375        }
     376
     377        /**
    353378         * Testing the block version.
    354379         *
    355380         * @ticket 43887