diff --git a/src/wp-admin/includes/ajax-actions.php b/src/wp-admin/includes/ajax-actions.php index dc965d63cc..37fdc72067 100644 --- a/src/wp-admin/includes/ajax-actions.php +++ b/src/wp-admin/includes/ajax-actions.php @@ -3162,8 +3162,6 @@ function wp_ajax_press_this_add_category() { * Ajax handler for cropping an image. * * @since 4.3.0 - * - * @global WP_Site_Icon $wp_site_icon */ function wp_ajax_crop_image() { $attachment_id = absint( $_POST['id'] ); @@ -3184,7 +3182,7 @@ function wp_ajax_crop_image() { switch ( $context ) { case 'site-icon': require_once ABSPATH . '/wp-admin/includes/class-wp-site-icon.php'; - global $wp_site_icon; + $wp_site_icon = new WP_Site_Icon(); // Skip creating a new attachment if the attachment is a Site Icon. if ( get_post_meta( $attachment_id, '_wp_attachment_context', true ) == $context ) { diff --git a/src/wp-admin/includes/class-wp-site-icon.php b/src/wp-admin/includes/class-wp-site-icon.php index 3afc83def7..a54c60b704 100644 --- a/src/wp-admin/includes/class-wp-site-icon.php +++ b/src/wp-admin/includes/class-wp-site-icon.php @@ -240,8 +240,3 @@ class WP_Site_Icon { return $value; } } - -/** - * @global WP_Site_Icon $wp_site_icon - */ -$GLOBALS['wp_site_icon'] = new WP_Site_Icon; diff --git a/tests/phpunit/tests/general/template.php b/tests/phpunit/tests/general/template.php index d189cc9449..275b61f759 100644 --- a/tests/phpunit/tests/general/template.php +++ b/tests/phpunit/tests/general/template.php @@ -1,13 +1,15 @@ <?php - /** * A set of unit tests for functions in wp-includes/general-template.php * * @group template + * @group site_icon */ -class Tests_General_Template extends WP_UnitTestCase { - public $wp_site_icon; +require_once( ABSPATH . 'wp-admin/includes/class-wp-site-icon.php' ); + +class Tests_General_Template extends WP_UnitTestCase { + protected $wp_site_icon; public $site_icon_id; public $site_icon_url; @@ -17,8 +19,7 @@ class Tests_General_Template extends WP_UnitTestCase { function setUp() { parent::setUp(); - require_once ABSPATH . 'wp-admin/includes/class-wp-site-icon.php'; - $this->wp_site_icon = $GLOBALS['wp_site_icon']; + $this->wp_site_icon = new WP_Site_Icon(); } function tearDown() { diff --git a/tests/phpunit/tests/image/site_icon.php b/tests/phpunit/tests/image/site_icon.php index be75830966..bdd9822661 100644 --- a/tests/phpunit/tests/image/site_icon.php +++ b/tests/phpunit/tests/image/site_icon.php @@ -1,27 +1,33 @@ <?php - /** * Tests for the WP_Site_Icon class. * * @group site_icon */ + +require_once( ABSPATH . 'wp-admin/includes/class-wp-site-icon.php' ); + class Tests_WP_Site_Icon extends WP_UnitTestCase { - public $wp_site_icon; + protected $wp_site_icon; + public $attachment_id = 0; function setUp() { parent::setUp(); - require_once ABSPATH . 'wp-admin/includes/class-wp-site-icon.php'; - $this->wp_site_icon = $GLOBALS['wp_site_icon']; + $this->wp_site_icon = new WP_Site_Icon(); } function tearDown() { - $this->site_icon = null; + $this->_remove_custom_logo(); $this->remove_added_uploads(); parent::tearDown(); } + function _remove_custom_logo() { + remove_theme_mod( 'custom_logo' ); + } + function test_intermediate_image_sizes() { $image_sizes = $this->wp_site_icon->intermediate_image_sizes( array() );