Make WordPress Core


Ignore:
Timestamp:
02/07/2023 05:41:11 PM (16 months ago)
Author:
flixos90
Message:

Editor: Add layout controls to children of flex layout blocks.

Props isabel_brison, andrewserong, davidbaumwald, flixos90, mamaduka, ntsekouras, hellofromtonya.
Fixes #57584.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/block-supports/layout.php

    r54889 r55282  
    174174        $this->assertSame( $expected, wp_restore_image_outer_container( $block_content, $block ) );
    175175    }
     176
     177    /**
     178     * @ticket 57584
     179     *
     180     * @dataProvider data_layout_support_flag_renders_classnames_on_wrapper
     181     *
     182     * @covers ::wp_render_layout_support_flag
     183     *
     184     * @param array  $args            Dataset to test.
     185     * @param string $expected_output The expected output.
     186     */
     187    public function test_layout_support_flag_renders_classnames_on_wrapper( $args, $expected_output ) {
     188        $actual_output = wp_render_layout_support_flag( $args['block_content'], $args['block'] );
     189        $this->assertSame( $expected_output, $actual_output );
     190    }
     191
     192    /**
     193     * Data provider for test_layout_support_flag_renders_classnames_on_wrapper.
     194     *
     195     * @return array
     196     */
     197    public function data_layout_support_flag_renders_classnames_on_wrapper() {
     198        return array(
     199            'single wrapper block layout with flow type'   => array(
     200                'args'            => array(
     201                    'block_content' => '<div class="wp-block-group"></div>',
     202                    'block'         => array(
     203                        'blockName'    => 'core/group',
     204                        'attrs'        => array(
     205                            'layout' => array(
     206                                'type' => 'default',
     207                            ),
     208                        ),
     209                        'innerBlocks'  => array(),
     210                        'innerHTML'    => '<div class="wp-block-group"></div>',
     211                        'innerContent' => array(
     212                            '<div class="wp-block-group"></div>',
     213                        ),
     214                    ),
     215                ),
     216                'expected_output' => '<div class="wp-block-group is-layout-flow"></div>',
     217            ),
     218            'single wrapper block layout with constrained type' => array(
     219                'args'            => array(
     220                    'block_content' => '<div class="wp-block-group"></div>',
     221                    'block'         => array(
     222                        'blockName'    => 'core/group',
     223                        'attrs'        => array(
     224                            'layout' => array(
     225                                'type' => 'constrained',
     226                            ),
     227                        ),
     228                        'innerBlocks'  => array(),
     229                        'innerHTML'    => '<div class="wp-block-group"></div>',
     230                        'innerContent' => array(
     231                            '<div class="wp-block-group"></div>',
     232                        ),
     233                    ),
     234                ),
     235                'expected_output' => '<div class="wp-block-group is-layout-constrained"></div>',
     236            ),
     237            'multiple wrapper block layout with flow type' => array(
     238                'args'            => array(
     239                    'block_content' => '<div class="wp-block-group"><div class="wp-block-group__inner-wrapper"></div></div>',
     240                    'block'         => array(
     241                        'blockName'    => 'core/group',
     242                        'attrs'        => array(
     243                            'layout' => array(
     244                                'type' => 'default',
     245                            ),
     246                        ),
     247                        'innerBlocks'  => array(),
     248                        'innerHTML'    => '<div class="wp-block-group"><div class="wp-block-group__inner-wrapper"></div></div>',
     249                        'innerContent' => array(
     250                            '<div class="wp-block-group"><div class="wp-block-group__inner-wrapper">',
     251                            ' ',
     252                            ' </div></div>',
     253                        ),
     254                    ),
     255                ),
     256                'expected_output' => '<div class="wp-block-group"><div class="wp-block-group__inner-wrapper is-layout-flow"></div></div>',
     257            ),
     258        );
     259    }
    176260}
Note: See TracChangeset for help on using the changeset viewer.