Make WordPress Core


Ignore:
Timestamp:
10/03/2023 06:17:03 PM (12 months ago)
Author:
flixos90
Message:

Editor: Simplify return shape and logic of _wp_get_block_patterns().

Follow up to [56765].

Props spacedmonkey.
Fixes #59490.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/blocks/wpGetBlockPatterns.php

    r56765 r56771  
    3232        $theme = wp_get_theme( 'block-theme-patterns' );
    3333        _wp_get_block_patterns( $theme );
    34         $transient = get_transient( 'wp_theme_patterns_block-theme-patterns' );
    3534        $this->assertSameSets(
    3635            array(
    37                 'version'  => '1.0.0',
    38                 'patterns' => array(
    39                     'cta.php' => array(
    40                         'title'       => 'Centered Call To Action',
    41                         'slug'        => 'block-theme-patterns/cta',
    42                         'description' => '',
    43                         'categories'  => array( 'call-to-action' ),
    44                     ),
     36                'cta.php' => array(
     37                    'title'       => 'Centered Call To Action',
     38                    'slug'        => 'block-theme-patterns/cta',
     39                    'description' => '',
     40                    'categories'  => array( 'call-to-action' ),
    4541                ),
    4642            ),
    47             $transient,
     43            $theme->get_pattern_cache(),
    4844            'The transient for block theme patterns should be set'
    4945        );
    50         $theme->cache_delete();
    51         $transient = get_transient( 'wp_theme_patterns_block-theme-patterns' );
     46        $theme->delete_pattern_cache();
    5247        $this->assertFalse(
    53             $transient,
     48            $theme->get_pattern_cache(),
    5449            'The transient for block theme patterns should have been cleared'
    5550        );
     
    6156    public function test_should_clear_transient_after_switching_theme() {
    6257        switch_theme( 'block-theme' );
    63         _wp_get_block_patterns( wp_get_theme() );
     58        $theme1 = wp_get_theme();
     59        _wp_get_block_patterns( $theme1 );
    6460        $this->assertSameSets(
    65             array(
    66                 'version'  => '1.0.0',
    67                 'patterns' => array(),
    68             ),
    69             get_transient( 'wp_theme_patterns_block-theme' ),
     61            array(),
     62            $theme1->get_pattern_cache(),
    7063            'The transient for block theme should be set'
    7164        );
    7265        switch_theme( 'block-theme-patterns' );
    73         $this->assertFalse( get_transient( 'wp_theme_patterns_block-theme' ), 'Transient should not be set for block theme after switch theme' );
    74         $this->assertFalse( get_transient( 'wp_theme_patterns_block-theme-patterns' ), 'Transient should not be set for block theme patterns before being requested' );
    75         _wp_get_block_patterns( wp_get_theme() );
    76         $transient = get_transient( 'wp_theme_patterns_block-theme-patterns' );
     66        $this->assertFalse( $theme1->get_pattern_cache(), 'Transient should not be set for block theme after switch theme' );
     67        $theme2 = wp_get_theme();
     68        $this->assertFalse( $theme2->get_pattern_cache(), 'Transient should not be set for block theme patterns before being requested' );
     69        _wp_get_block_patterns( $theme2 );
    7770        $this->assertSameSets(
    7871            array(
    79                 'version'  => '1.0.0',
    80                 'patterns' => array(
    81                     'cta.php' => array(
    82                         'title'       => 'Centered Call To Action',
    83                         'slug'        => 'block-theme-patterns/cta',
    84                         'description' => '',
    85                         'categories'  => array( 'call-to-action' ),
    86                     ),
     72                'cta.php' => array(
     73                    'title'       => 'Centered Call To Action',
     74                    'slug'        => 'block-theme-patterns/cta',
     75                    'description' => '',
     76                    'categories'  => array( 'call-to-action' ),
    8777                ),
     78
    8879            ),
    89             $transient,
     80            $theme2->get_pattern_cache(),
    9081            'The transient for block theme patterns should be set'
    9182        );
     
    10192            array(
    10293                'theme'    => 'block-theme',
    103                 'patterns' => array(
    104                     'version'  => '1.0.0',
    105                     'patterns' => array(),
    106                 ),
     94                'patterns' => array(),
    10795            ),
    10896            array(
    10997                'theme'    => 'block-theme-child',
    110                 'patterns' => array(
    111                     'version'  => '1.0.0',
    112                     'patterns' => array(),
    113                 ),
     98                'patterns' => array(),
    11499            ),
    115100            array(
    116101                'theme'    => 'block-theme-patterns',
    117102                'patterns' => array(
    118                     'version'  => '1.0.0',
    119                     'patterns' => array(
    120                         'cta.php' => array(
    121                             'title'       => 'Centered Call To Action',
    122                             'slug'        => 'block-theme-patterns/cta',
    123                             'description' => '',
    124                             'categories'  => array( 'call-to-action' ),
    125                         ),
     103                    'cta.php' => array(
     104                        'title'       => 'Centered Call To Action',
     105                        'slug'        => 'block-theme-patterns/cta',
     106                        'description' => '',
     107                        'categories'  => array( 'call-to-action' ),
    126108                    ),
    127109                ),
     
    129111            array(
    130112                'theme'    => 'broken-theme',
    131                 'patterns' => array(
    132                     'version'  => false,
    133                     'patterns' => array(),
    134                 ),
     113                'patterns' => array(),
    135114            ),
    136115            array(
    137116                'theme'    => 'invalid',
    138                 'patterns' => array(
    139                     'version'  => false,
    140                     'patterns' => array(),
    141                 ),
     117                'patterns' => array(),
    142118            ),
    143119        );
Note: See TracChangeset for help on using the changeset viewer.