From fc4ac1f1234929a1d3e03406fc26280cff38d84e Mon Sep 17 00:00:00 2001 From: Sergey Biryukov Date: Mon, 9 May 2022 17:56:36 +0000 Subject: [PATCH] Tests: Move `get_inline_data()` tests to a more appropriate place. Since this is an admin template function and the tests check for specific output with certain taxonomy parameters, placing the tests along with other tests for the functions in the same file should make them easier to find and extend than when placed between general taxonomy registration tests. Follow-up to [52841], [53368]. See #55652. git-svn-id: https://develop.svn.wordpress.org/trunk@53371 602fd350-edb4-49c9-b593-d223f7449a82 --- .../phpunit/tests/admin/includesTemplate.php | 52 ++++++++++++++++++ tests/phpunit/tests/taxonomy.php | 53 ------------------- 2 files changed, 52 insertions(+), 53 deletions(-) diff --git a/tests/phpunit/tests/admin/includesTemplate.php b/tests/phpunit/tests/admin/includesTemplate.php index c5e73d59e3..6b61639c35 100644 --- a/tests/phpunit/tests/admin/includesTemplate.php +++ b/tests/phpunit/tests/admin/includesTemplate.php @@ -43,6 +43,58 @@ class Tests_Admin_IncludesTemplate extends WP_UnitTestCase { ); } + /** + * @ticket 49701 + * + * @covers ::get_inline_data + */ + public function test_get_inline_data_contains_term_if_show_ui_is_false_but_show_on_quick_edit_is_true_for_hierarchical_taxonomy() { + // Create a post with a term from a hierarchical taxonomy. + register_taxonomy( + 'wptests_tax_1', + 'post', + array( + 'show_ui' => false, + 'show_in_quick_edit' => true, + 'hierarchical' => true, + ) + ); + $term = wp_insert_term( 'Test', 'wptests_tax_1' ); + $post = self::factory()->post->create_and_get(); + wp_set_object_terms( $post->ID, $term['term_id'], 'wptests_tax_1' ); + + // Test that get_inline_data() has `post_category` div containing the assigned term. + wp_set_current_user( self::factory()->user->create( array( 'role' => 'editor' ) ) ); + get_inline_data( $post ); + $this->expectOutputRegex( '/
' . $term['term_id'] . '<\/div>/' ); + } + + /** + * @ticket 49701 + * + * @covers ::get_inline_data + */ + public function test_get_inline_data_contains_term_if_show_ui_is_false_but_show_on_quick_edit_is_true_for_nonhierarchical_taxonomy() { + // Create a post with a term from a non-hierarchical taxonomy. + register_taxonomy( + 'wptests_tax_1', + 'post', + array( + 'show_ui' => false, + 'show_in_quick_edit' => true, + 'hierarchical' => false, + ) + ); + $term = wp_insert_term( 'Test', 'wptests_tax_1' ); + $post = self::factory()->post->create_and_get(); + wp_set_object_terms( $post->ID, $term['term_id'], 'wptests_tax_1' ); + + // Test that get_inline_data() has `tags_input` div containing the assigned term. + wp_set_current_user( self::factory()->user->create( array( 'role' => 'editor' ) ) ); + get_inline_data( $post ); + $this->expectOutputRegex( '/
Test<\/div>/' ); + } + public function test_add_meta_box() { global $wp_meta_boxes; diff --git a/tests/phpunit/tests/taxonomy.php b/tests/phpunit/tests/taxonomy.php index de170de433..6b7e88007b 100644 --- a/tests/phpunit/tests/taxonomy.php +++ b/tests/phpunit/tests/taxonomy.php @@ -221,7 +221,6 @@ class Tests_Taxonomy extends WP_UnitTestCase { $this->assertFalse( $tax_2->show_in_quick_edit ); } - /** * @ticket 53212 */ @@ -238,58 +237,6 @@ class Tests_Taxonomy extends WP_UnitTestCase { $this->assertSame( 3, $action->get_call_count() ); } - /** - * @ticket 49701 - * - * @covers ::get_inline_data - */ - public function test_get_inline_data_contains_term_if_show_ui_false_but_show_on_quick_edit_true_for_hierarchical_taxonomy() { - // Create a post with a term from a hierarchical taxonomy. - register_taxonomy( - 'wptests_tax_1', - 'post', - array( - 'show_ui' => false, - 'show_in_quick_edit' => true, - 'hierarchical' => true, - ) - ); - $term = wp_insert_term( 'Test', 'wptests_tax_1' ); - $post = self::factory()->post->create_and_get(); - wp_set_object_terms( $post->ID, $term['term_id'], 'wptests_tax_1' ); - - // Test get_inline_data() has post_category div containing assigned term. - wp_set_current_user( self::factory()->user->create( array( 'role' => 'editor' ) ) ); - get_inline_data( $post ); - $this->expectOutputRegex( '/