Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert "Revert test data for WithSlug variation (#62579)" #62587

Merged
merged 2 commits into from
Jun 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 83 additions & 0 deletions phpunit/block-supports/block-style-variations-test.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,41 @@
*/

class WP_Block_Supports_Block_Style_Variations_Test extends WP_UnitTestCase {
/**
* Administrator ID.
*
* @var int
*/
protected static $administrator_id;

/**
* WP_Theme_JSON_Resolver_Gutenberg::$blocks_cache property.
*
* @var ReflectionProperty
*/
private static $property_blocks_cache;

/**
* Original value of the WP_Theme_JSON_Resolver_Gutenberg::$blocks_cache property.
*
* @var array
*/
private static $property_blocks_cache_orig_value;

/**
* WP_Theme_JSON_Resolver_Gutenberg::$core property.
*
* @var ReflectionProperty
*/
private static $property_core;

/**
* Original value of the WP_Theme_JSON_Resolver_Gutenberg::$core property.
*
* @var WP_Theme_JSON_Gutenberg
*/
private static $property_core_orig_value;

/**
* Theme root directory.
*
Expand All @@ -23,6 +58,31 @@ class WP_Block_Supports_Block_Style_Variations_Test extends WP_UnitTestCase {
*/
private $orig_theme_dir;

public static function set_up_before_class() {
parent::set_up_before_class();

self::$administrator_id = self::factory()->user->create(
array(
'role' => 'administrator',
'user_email' => 'administrator@example.com',
)
);

static::$property_blocks_cache = new ReflectionProperty( WP_Theme_JSON_Resolver_Gutenberg::class, 'blocks_cache' );
static::$property_blocks_cache->setAccessible( true );
static::$property_blocks_cache_orig_value = static::$property_blocks_cache->getValue();

static::$property_core = new ReflectionProperty( WP_Theme_JSON_Resolver_Gutenberg::class, 'core' );
static::$property_core->setAccessible( true );
static::$property_core_orig_value = static::$property_core->getValue();
}

public static function tear_down_after_class() {
static::$property_blocks_cache->setValue( null, static::$property_blocks_cache_orig_value );
static::$property_core->setValue( null, static::$property_core_orig_value );
parent::tear_down_after_class();
}

public function set_up() {
parent::set_up();
$this->theme_root = realpath( dirname( __DIR__ ) . '/data/themedir1' );
Expand Down Expand Up @@ -94,6 +154,22 @@ public function test_add_registered_block_styles_to_theme_data() {
),
);

/*
* This style is to be deliberately overwritten by the theme.json partial
* See `phpunit/data/themedir1/block-theme/styles/block-style-variation-with-slug.json`.
*/
register_block_style(
'core/group',
array(
'name' => 'WithSlug',
'style_data' => array(
'color' => array(
'background' => 'whitesmoke',
'text' => 'black',
),
),
)
);
register_block_style(
'core/group',
array(
Expand All @@ -106,6 +182,12 @@ public function test_add_registered_block_styles_to_theme_data() {
$group_styles = $theme_json['styles']['blocks']['core/group'] ?? array();
$expected = array(
'variations' => array(
'WithSlug' => array(
'color' => array(
'background' => 'aliceblue',
'text' => 'midnightblue',
),
),
'my-variation' => $variation_styles_data,

/*
Expand All @@ -129,6 +211,7 @@ public function test_add_registered_block_styles_to_theme_data() {
);

unregister_block_style( 'core/group', 'my-variation' );
unregister_block_style( 'core/group', 'WithSlug' );

$this->assertSameSetsWithIndex( $group_styles, $expected );
}
Expand Down
12 changes: 12 additions & 0 deletions phpunit/class-wp-theme-json-resolver-test.php
Original file line number Diff line number Diff line change
Expand Up @@ -1118,6 +1118,18 @@ public function data_get_style_variations() {
),
),
),
array(
'blockTypes' => array( 'core/group', 'core/columns' ),
'version' => 3,
'slug' => 'WithSlug',
'title' => 'With Slug',
'styles' => array(
'color' => array(
'background' => 'aliceblue',
'text' => 'midnightblue',
),
),
),
),
),
);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"version": 3,
"blockTypes": [ "core/group", "core/columns" ],
"slug": "WithSlug",
"title": "With Slug",
"styles": {
"color": {
"background": "aliceblue",
"text": "midnightblue"
}
}
}
Loading