Make WordPress Core


Ignore:
Timestamp:
04/05/2022 09:50:13 AM (23 months ago)
Author:
youknowriad
Message:

Block Editor: Backport the Global Styles Variations endpoint.

This include the /global-styles/themes/{theme}/variations rest endpoint into core.
The endpoint will be used by the site editor to display alternative theme styles to the user.

Props gziolo, oandregal.
See #55505.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/rest-api/rest-global-styles-controller.php

    r52399 r53072  
    117117            $routes['/wp/v2/global-styles/themes/(?P<stylesheet>[^\/:<>\*\?"\|]+(?:\/[^\/:<>\*\?"\|]+)?)'],
    118118            'Theme global styles route does not have exactly one element'
     119        );
     120        $this->assertArrayHasKey(
     121            '/wp/v2/global-styles/themes/(?P<stylesheet>[\/\s%\w\.\(\)\[\]\@_\-]+)/variations',
     122            $routes,
     123            'Theme global styles variations route does not exist'
    119124        );
    120125    }
     
    456461        $this->assertArrayHasKey( 'title', $properties, 'Schema properties array does not have "title" key' );
    457462    }
     463
     464
     465    public function test_get_theme_items() {
     466        wp_set_current_user( self::$admin_id );
     467        switch_theme( 'block-theme' );
     468        $request  = new WP_REST_Request( 'GET', '/wp/v2/global-styles/themes/block-theme/variations' );
     469        $response = rest_get_server()->dispatch( $request );
     470        $data     = $response->get_data();
     471        $expected = array(
     472            array(
     473                'version'  => 2,
     474                'settings' => array(
     475                    'color' => array(
     476                        'palette' => array(
     477                            'theme' => array(
     478                                array(
     479                                    'slug'  => 'foreground',
     480                                    'color' => '#3F67C6',
     481                                    'name'  => 'Foreground',
     482                                ),
     483                            ),
     484                        ),
     485                    ),
     486                ),
     487                'styles'   => array(
     488                    'blocks' => array(
     489                        'core/post-title' => array(
     490                            'typography' => array(
     491                                'fontWeight' => '700',
     492                            ),
     493                        ),
     494                    ),
     495                ),
     496                'title'    => 'variation',
     497            ),
     498        );
     499        $this->assertSameSetsWithIndex( $data, $expected );
     500    }
    458501}
Note: See TracChangeset for help on using the changeset viewer.