mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-06-28 14:20:15 +00:00
Editor: Ensure Global styles values are reset in the site editor.
This changeset fixes a bug by which the reset function of the global styles sidebar would not work as expected in the site editor. It reverts [54517] and adds related unit tests. Props oandregal, ntsekouras, youknowriad, hellofromTonya. Fixes #57824 See #56467 git-svn-id: https://develop.svn.wordpress.org/trunk@55448 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -559,7 +559,8 @@ class WP_Theme_JSON_Resolver {
|
||||
_deprecated_argument( __FUNCTION__, '5.9.0' );
|
||||
}
|
||||
|
||||
$result = static::get_core_data();
|
||||
$result = new WP_Theme_JSON();
|
||||
$result->merge( static::get_core_data() );
|
||||
if ( 'default' === $origin ) {
|
||||
$result->set_spacing_sizes();
|
||||
return $result;
|
||||
|
||||
@@ -848,6 +848,49 @@ class Tests_Theme_wpThemeJsonResolver extends WP_UnitTestCase {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that get_merged_data returns the data merged up to the proper origin
|
||||
* and that the core values have the proper data.
|
||||
*
|
||||
* @ticket 57824
|
||||
*
|
||||
* @covers WP_Theme_JSON_Resolver::get_merged_data
|
||||
*
|
||||
*/
|
||||
public function test_get_merged_data_returns_origin_proper() {
|
||||
// Make sure the theme has a theme.json
|
||||
// though it doesn't have any data for styles.spacing.padding.
|
||||
switch_theme( 'block-theme' );
|
||||
|
||||
// Make sure the user defined some data for styles.spacing.padding.
|
||||
wp_set_current_user( self::$administrator_id );
|
||||
$user_cpt = WP_Theme_JSON_Resolver::get_user_data_from_wp_global_styles( wp_get_theme(), true );
|
||||
$config = json_decode( $user_cpt['post_content'], true );
|
||||
$config['styles']['spacing']['padding'] = array(
|
||||
'top' => '23px',
|
||||
'left' => '23px',
|
||||
'bottom' => '23px',
|
||||
'right' => '23px',
|
||||
);
|
||||
$user_cpt['post_content'] = wp_json_encode( $config );
|
||||
wp_update_post( $user_cpt, true, false );
|
||||
|
||||
// Query data from the user origin and then for the theme origin.
|
||||
$theme_json_user = WP_Theme_JSON_Resolver::get_merged_data( 'custom' );
|
||||
$padding_user = $theme_json_user->get_raw_data()['styles']['spacing']['padding'];
|
||||
$theme_json_theme = WP_Theme_JSON_Resolver::get_merged_data( 'theme' );
|
||||
$padding_theme = $theme_json_theme->get_raw_data()['styles']['spacing']['padding'];
|
||||
|
||||
$this->assertSame( '23px', $padding_user['top'] );
|
||||
$this->assertSame( '23px', $padding_user['right'] );
|
||||
$this->assertSame( '23px', $padding_user['bottom'] );
|
||||
$this->assertSame( '23px', $padding_user['left'] );
|
||||
$this->assertSame( '0px', $padding_theme['top'] );
|
||||
$this->assertSame( '0px', $padding_theme['right'] );
|
||||
$this->assertSame( '0px', $padding_theme['bottom'] );
|
||||
$this->assertSame( '0px', $padding_theme['left'] );
|
||||
}
|
||||
|
||||
/**
|
||||
* Data provider.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user