From 7cef755d2761deb7bc7b53d047a27c42d16cd43b Mon Sep 17 00:00:00 2001 From: Tonya Mork Date: Mon, 20 Mar 2023 18:20:05 +0000 Subject: [PATCH] Tests: Add test class for `wp_enqueue_stored_styles()`. [54214] added the `wp_enqueue_stored_styles()` tests and `clean_up_global_scope()` reset global method to `Tests_Theme_wpGetGlobalStylesheet`. This changeset relocates those tests a new test class specifically for `wp_enqueue_stored_styles()` and removes `Tests_Theme_wpGetGlobalStylesheet::clean_up_global_scope()` method. Why not relocate the `clean_up_global_scope()` method to the new test class? The test class extends from `WP_Theme_UnitTestCase` which includes this method. Follow-up to [54214], [54703]. Props costdev. See #57841. git-svn-id: https://develop.svn.wordpress.org/trunk@55567 602fd350-edb4-49c9-b593-d223f7449a82 --- .../tests/theme/wpEnqueueStoredStyles.php | 72 +++++++++++++++++++ .../tests/theme/wpGetGlobalStylesheet.php | 71 ------------------ 2 files changed, 72 insertions(+), 71 deletions(-) create mode 100644 tests/phpunit/tests/theme/wpEnqueueStoredStyles.php diff --git a/tests/phpunit/tests/theme/wpEnqueueStoredStyles.php b/tests/phpunit/tests/theme/wpEnqueueStoredStyles.php new file mode 100644 index 0000000000..37e1a920a7 --- /dev/null +++ b/tests/phpunit/tests/theme/wpEnqueueStoredStyles.php @@ -0,0 +1,72 @@ + '.saruman', + 'declarations' => array( + 'color' => 'white', + 'height' => '100px', + 'border-style' => 'solid', + ), + ), + ); + + // Enqueues a block supports (core styles). + wp_style_engine_get_stylesheet_from_css_rules( + $core_styles_to_enqueue, + array( + 'context' => 'block-supports', + ) + ); + + $my_styles_to_enqueue = array( + array( + 'selector' => '.gandalf', + 'declarations' => array( + 'color' => 'grey', + 'height' => '90px', + 'border-style' => 'dotted', + ), + ), + ); + + // Enqueues some other styles. + wp_style_engine_get_stylesheet_from_css_rules( + $my_styles_to_enqueue, + array( + 'context' => 'my-styles', + ) + ); + + wp_enqueue_stored_styles( array( 'prettify' => false ) ); + + $this->assertSame( + array( '.saruman{color:white;height:100px;border-style:solid;}' ), + wp_styles()->registered['core-block-supports']->extra['after'], + 'Registered styles with handle of "core-block-supports" do not match expected value from Style Engine store.' + ); + + $this->assertSame( + array( '.gandalf{color:grey;height:90px;border-style:dotted;}' ), + wp_styles()->registered['wp-style-engine-my-styles']->extra['after'], + 'Registered styles with handle of "wp-style-engine-my-styles" do not match expected value from the Style Engine store.' + ); + } +} diff --git a/tests/phpunit/tests/theme/wpGetGlobalStylesheet.php b/tests/phpunit/tests/theme/wpGetGlobalStylesheet.php index a2c0f962d2..f317372251 100644 --- a/tests/phpunit/tests/theme/wpGetGlobalStylesheet.php +++ b/tests/phpunit/tests/theme/wpGetGlobalStylesheet.php @@ -54,17 +54,6 @@ class Tests_Theme_wpGetGlobalStylesheet extends WP_UnitTestCase { parent::tear_down(); } - /** - * Cleans up global scope. - * - * @global WP_Styles $wp_styles - */ - public function clean_up_global_scope() { - global $wp_styles; - parent::clean_up_global_scope(); - $wp_styles = null; - } - public function filter_set_theme_root() { return $this->theme_root; } @@ -210,66 +199,6 @@ class Tests_Theme_wpGetGlobalStylesheet extends WP_UnitTestCase { remove_theme_support( 'editor-font-sizes' ); } - /** - * Tests that stored CSS is enqueued. - * - * @ticket 56467 - * - * @covers ::wp_enqueue_stored_styles - */ - public function test_should_enqueue_stored_styles() { - $core_styles_to_enqueue = array( - array( - 'selector' => '.saruman', - 'declarations' => array( - 'color' => 'white', - 'height' => '100px', - 'border-style' => 'solid', - ), - ), - ); - - // Enqueues a block supports (core styles). - wp_style_engine_get_stylesheet_from_css_rules( - $core_styles_to_enqueue, - array( - 'context' => 'block-supports', - ) - ); - - $my_styles_to_enqueue = array( - array( - 'selector' => '.gandalf', - 'declarations' => array( - 'color' => 'grey', - 'height' => '90px', - 'border-style' => 'dotted', - ), - ), - ); - - // Enqueues some other styles. - wp_style_engine_get_stylesheet_from_css_rules( - $my_styles_to_enqueue, - array( - 'context' => 'my-styles', - ) - ); - - wp_enqueue_stored_styles( array( 'prettify' => false ) ); - - $this->assertSame( - array( '.saruman{color:white;height:100px;border-style:solid;}' ), - wp_styles()->registered['core-block-supports']->extra['after'], - 'Registered styles with handle of "core-block-supports" do not match expected value from Style Engine store.' - ); - - $this->assertSame( - array( '.gandalf{color:grey;height:90px;border-style:dotted;}' ), - wp_styles()->registered['wp-style-engine-my-styles']->extra['after'], - 'Registered styles with handle of "wp-style-engine-my-styles" do not match expected value from the Style Engine store.' - ); - } /** * Tests that switching themes recalculates the stylesheet. *