Changeset 60910 for trunk/tests/phpunit/tests/media.php
- Timestamp:
- 10/07/2025 06:22:02 AM (2 months ago)
- File:
-
- 1 edited
-
trunk/tests/phpunit/tests/media.php (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/tests/media.php
r60736 r60910 29 29 protected static $large_filename = 'test-image-large.jpg'; 30 30 protected static $post_ids; 31 32 /** 33 * @var WP_Styles|null 34 */ 35 protected static $original_wp_styles; 31 36 32 37 public static function wpSetUpBeforeClass( WP_UnitTest_Factory $factory ) { … … 67 72 } 68 73 74 public function set_up(): void { 75 global $wp_styles; 76 self::$original_wp_styles = $wp_styles; 77 $wp_styles = null; 78 parent::set_up(); 79 } 80 69 81 public static function wpTearDownAfterClass() { 70 82 $GLOBALS['_wp_additional_image_sizes'] = self::$_sizes; … … 80 92 */ 81 93 public function tear_down() { 82 global $_wp_current_template_id, $_wp_current_template_content ;94 global $_wp_current_template_id, $_wp_current_template_content, $wp_styles; 83 95 unset( $_wp_current_template_id, $_wp_current_template_content ); 96 97 $wp_styles = self::$original_wp_styles; 84 98 85 99 parent::tear_down(); … … 6578 6592 6579 6593 /** 6594 * Provides data to test wp_enqueue_img_auto_sizes_contain_css_fix(). 6595 * 6596 * @return array<string, array> 6597 */ 6598 public function data_provider_data_provider_to_test_wp_enqueue_img_auto_sizes_contain_css_fix(): array { 6599 return array( 6600 'default' => array( 6601 'set_up' => null, 6602 'expected' => true, 6603 ), 6604 'filtered_off' => array( 6605 'set_up' => static function (): void { 6606 add_filter( 'wp_img_tag_add_auto_sizes', '__return_false' ); 6607 }, 6608 'expected' => false, 6609 ), 6610 'filtered_on' => array( 6611 'set_up' => static function (): void { 6612 add_filter( 'wp_img_tag_add_auto_sizes', '__return_false' ); 6613 add_filter( 'wp_img_tag_add_auto_sizes', '__return_true', 100 ); 6614 }, 6615 'expected' => true, 6616 ), 6617 'deprecated_function_removed' => array( 6618 'set_up' => static function (): void { 6619 remove_action( 'wp_head', 'wp_print_auto_sizes_contain_css_fix', 1 ); 6620 }, 6621 'expected' => false, 6622 ), 6623 'new_function_removed' => array( 6624 'set_up' => static function (): void { 6625 remove_action( 'wp_head', 'wp_enqueue_img_auto_sizes_contain_css_fix', 0 ); 6626 }, 6627 'expected' => false, 6628 'expected_deprecated' => 'wp_print_auto_sizes_contain_css_fix', 6629 ), 6630 'both_functions_removed' => array( 6631 'set_up' => static function (): void { 6632 remove_action( 'wp_head', 'wp_enqueue_img_auto_sizes_contain_css_fix', 0 ); 6633 remove_action( 'wp_head', 'wp_print_auto_sizes_contain_css_fix', 1 ); 6634 }, 6635 'expected' => false, 6636 ), 6637 ); 6638 } 6639 6640 /** 6641 * Tests that IMG auto-sizes CSS fix is enqueued (and printed) when expected. 6642 * 6643 * @covers ::wp_enqueue_img_auto_sizes_contain_css_fix 6644 * @ticket 62731 6645 * 6646 * @dataProvider data_provider_data_provider_to_test_wp_enqueue_img_auto_sizes_contain_css_fix 6647 */ 6648 public function test_wp_enqueue_img_auto_sizes_contain_css_fix( ?Closure $set_up, bool $expected, ?string $expected_deprecated = null ): void { 6649 if ( $set_up ) { 6650 $set_up(); 6651 } 6652 if ( isset( $expected_deprecated ) ) { 6653 $this->setExpectedDeprecated( $expected_deprecated ); 6654 } 6655 6656 $this->assertCount( 0, wp_styles()->queue ); 6657 wp_enqueue_style( 'very-early-enqueued', home_url( '/very-early-enqueued.css' ) ); 6658 add_action( 6659 'wp_enqueue_scripts', 6660 static function () { 6661 wp_enqueue_style( 'wp-block-library' ); 6662 } 6663 ); 6664 6665 $wp_head_output = get_echo( 'wp_head' ); 6666 $html_processor = new WP_HTML_Tag_Processor( $wp_head_output ); 6667 $found_style_text_content = null; 6668 while ( $html_processor->next_tag( array( 'tag_name' => 'STYLE' ) ) ) { 6669 if ( $html_processor->get_attribute( 'id' ) === 'wp-img-auto-sizes-contain-inline-css' ) { 6670 $found_style_text_content = $html_processor->get_modifiable_text(); 6671 break; 6672 } 6673 } 6674 6675 $enqueued = wp_styles()->queue; 6676 if ( $expected ) { 6677 $this->assertSame( 'wp-img-auto-sizes-contain', array_shift( $enqueued ) ); 6678 $this->assertIsString( $found_style_text_content ); 6679 $this->assertStringContainsString( 'contain-intrinsic-size', $found_style_text_content ); 6680 } else { 6681 $this->assertNull( $found_style_text_content ); 6682 } 6683 $this->assertSame( 'very-early-enqueued', array_shift( $enqueued ) ); 6684 $this->assertContains( 'wp-emoji-styles', $enqueued ); 6685 $this->assertContains( 'wp-block-library', $enqueued ); 6686 } 6687 6688 /** 6580 6689 * Data provider for test_wp_img_tag_add_auto_sizes(). 6581 6690 *
Note: See TracChangeset
for help on using the changeset viewer.