diff --git a/phpunit/class-wp-theme-json-resolver-test.php b/phpunit/class-wp-theme-json-resolver-test.php index ce003aeb6087b7..27b6622d65e052 100644 --- a/phpunit/class-wp-theme-json-resolver-test.php +++ b/phpunit/class-wp-theme-json-resolver-test.php @@ -212,4 +212,33 @@ function test_switching_themes_recalculates_data() { $this->assertSame( true, $fse ); } + function test_add_theme_supports_are_loaded_for_themes_without_theme_json() { + switch_theme( 'default' ); + add_theme_support( 'custom-line-height' ); + $color_palette = array( + array( + 'name' => 'Primary', + 'slug' => 'primary', + 'color' => '#F00', + ), + array( + 'name' => 'Secondary', + 'slug' => 'secondary', + 'color' => '#0F0', + ), + array( + 'name' => 'Tertiary', + 'slug' => 'tertiary', + 'color' => '#00F', + ), + ); + add_theme_support( 'editor-color-palette', $color_palette ); + $supports = gutenberg_get_default_block_editor_settings(); + $settings = WP_Theme_JSON_Resolver_Gutenberg::get_merged_data( $supports )->get_settings(); + + $this->assertSame( false, WP_Theme_JSON_Resolver_Gutenberg::theme_has_support() ); + $this->assertSame( true, $settings['typography']['customLineHeight'] ); + $this->assertSame( $color_palette, $settings['color']['palette']['theme'] ); + } + }