From e720fd24ecf71106b1785eef72538645af884491 Mon Sep 17 00:00:00 2001 From: Igor Rozum Date: Tue, 28 Jul 2026 21:13:28 -0400 Subject: [PATCH 1/2] Media: Add unit tests for wp_get_registered_image_subsizes() --- tests/phpunit/tests/media.php | 53 +++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/tests/phpunit/tests/media.php b/tests/phpunit/tests/media.php index 03fe3b4c02460..cd1dce3d854f4 100644 --- a/tests/phpunit/tests/media.php +++ b/tests/phpunit/tests/media.php @@ -1401,6 +1401,59 @@ public function test_has_image_size() { remove_image_size( 'test-size' ); } + public function test_wp_get_registered_image_subsizes_includes_custom_size() { + add_image_size( 'test-size', 200, 600 ); + + $sizes = wp_get_registered_image_subsizes(); + + // Clean up. + remove_image_size( 'test-size' ); + + $this->assertArrayHasKey( 'test-size', $sizes ); + $this->assertSame( 200, $sizes['test-size']['width'] ); + $this->assertSame( 600, $sizes['test-size']['height'] ); + $this->assertFalse( $sizes['test-size']['crop'] ); + } + + public function test_wp_get_registered_image_subsizes_preserves_crop_position() { + add_image_size( 'test-size', 200, 600, array( 'center', 'top' ) ); + + $sizes = wp_get_registered_image_subsizes(); + + // Clean up. + remove_image_size( 'test-size' ); + + $this->assertSame( array( 'center', 'top' ), $sizes['test-size']['crop'] ); + } + + public function test_wp_get_registered_image_subsizes_omits_size_with_no_dimensions() { + add_image_size( 'test-size', 0, 0 ); + + $sizes = wp_get_registered_image_subsizes(); + + // Clean up. + remove_image_size( 'test-size' ); + + $this->assertArrayNotHasKey( 'test-size', $sizes ); + } + + public function test_wp_get_registered_image_subsizes_honors_intermediate_image_sizes_filter() { + add_image_size( 'test-size', 200, 600 ); + + $exclude_test_size = static function ( $sizes ) { + return array_diff( $sizes, array( 'test-size' ) ); + }; + add_filter( 'intermediate_image_sizes', $exclude_test_size ); + + $sizes = wp_get_registered_image_subsizes(); + + // Clean up. + remove_filter( 'intermediate_image_sizes', $exclude_test_size ); + remove_image_size( 'test-size' ); + + $this->assertArrayNotHasKey( 'test-size', $sizes ); + } + /** * @ticket 30346 */ From 3e232415c2858fa783e62bbea7558b848e7b0ff6 Mon Sep 17 00:00:00 2001 From: Igor Rozum Date: Tue, 28 Jul 2026 21:54:16 -0400 Subject: [PATCH 2/2] Media: Add @ticket 65751 annotations to the new wp_get_registered_image_subsizes() tests --- tests/phpunit/tests/media.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/phpunit/tests/media.php b/tests/phpunit/tests/media.php index cd1dce3d854f4..de56b8eb7890b 100644 --- a/tests/phpunit/tests/media.php +++ b/tests/phpunit/tests/media.php @@ -1401,6 +1401,9 @@ public function test_has_image_size() { remove_image_size( 'test-size' ); } + /** + * @ticket 65751 + */ public function test_wp_get_registered_image_subsizes_includes_custom_size() { add_image_size( 'test-size', 200, 600 ); @@ -1415,6 +1418,9 @@ public function test_wp_get_registered_image_subsizes_includes_custom_size() { $this->assertFalse( $sizes['test-size']['crop'] ); } + /** + * @ticket 65751 + */ public function test_wp_get_registered_image_subsizes_preserves_crop_position() { add_image_size( 'test-size', 200, 600, array( 'center', 'top' ) ); @@ -1426,6 +1432,9 @@ public function test_wp_get_registered_image_subsizes_preserves_crop_position() $this->assertSame( array( 'center', 'top' ), $sizes['test-size']['crop'] ); } + /** + * @ticket 65751 + */ public function test_wp_get_registered_image_subsizes_omits_size_with_no_dimensions() { add_image_size( 'test-size', 0, 0 ); @@ -1437,6 +1446,9 @@ public function test_wp_get_registered_image_subsizes_omits_size_with_no_dimensi $this->assertArrayNotHasKey( 'test-size', $sizes ); } + /** + * @ticket 65751 + */ public function test_wp_get_registered_image_subsizes_honors_intermediate_image_sizes_filter() { add_image_size( 'test-size', 200, 600 );