diff --git a/tests/phpunit/tests/admin/wpCommentsListTable.php b/tests/phpunit/tests/admin/wpCommentsListTable.php
new file mode 100644
index 0000000000..917a49c107
--- /dev/null
+++ b/tests/phpunit/tests/admin/wpCommentsListTable.php
@@ -0,0 +1,198 @@
+table = _get_list_table( 'WP_Comments_List_Table', array( 'screen' => 'edit-comments' ) );
+ }
+
+ /**
+ * @ticket 40188
+ *
+ * @covers WP_Posts_List_Table::extra_tablenav
+ */
+ public function test_filter_button_should_not_be_shown_if_there_are_no_comments() {
+ ob_start();
+ $this->table->extra_tablenav( 'top' );
+ $output = ob_get_clean();
+
+ $this->assertStringNotContainsString( 'id="post-query-submit"', $output );
+ }
+
+ /**
+ * @ticket 40188
+ *
+ * @covers WP_Posts_List_Table::extra_tablenav
+ */
+ public function test_filter_button_should_be_shown_if_there_are_comments() {
+ $post_id = self::factory()->post->create();
+ $comment_id = self::factory()->comment->create(
+ array(
+ 'comment_post_ID' => $post_id,
+ 'comment_approved' => '1',
+ )
+ );
+
+ $this->table->prepare_items();
+
+ ob_start();
+ $this->table->extra_tablenav( 'top' );
+ $output = ob_get_clean();
+
+ $this->assertStringContainsString( 'id="post-query-submit"', $output );
+ }
+
+ /**
+ * @ticket 40188
+ *
+ * @covers WP_Posts_List_Table::extra_tablenav
+ */
+ public function test_filter_comment_type_dropdown_should_be_shown_if_there_are_comments() {
+ $post_id = self::factory()->post->create();
+ $comment_id = self::factory()->comment->create(
+ array(
+ 'comment_post_ID' => $post_id,
+ 'comment_approved' => '1',
+ )
+ );
+
+ $this->table->prepare_items();
+
+ ob_start();
+ $this->table->extra_tablenav( 'top' );
+ $output = ob_get_clean();
+
+ $this->assertStringContainsString( 'id="filter-by-comment-type"', $output );
+ $this->assertStringContainsString( "
+
+OPTIONS;
+ $expected = str_replace( "\r\n", "\n", $expected );
+
+ $this->assertStringContainsString( $expected, $output );
+ }
+
+ /**
+ * @ticket 45089
+ *
+ * @covers WP_Posts_List_Table::print_column_headers
+ */
+ public function test_sortable_columns() {
+ $override_sortable_columns = array(
+ 'author' => array( 'comment_author', true ),
+ 'response' => 'comment_post_ID',
+ 'date' => array( 'comment_date', 'dEsC' ), // The ordering support should be case-insensitive.
+ );
+
+ // Stub the get_sortable_columns() method.
+ $object = $this->getMockBuilder( 'WP_Comments_List_Table' )
+ ->setConstructorArgs( array( array( 'screen' => 'edit-comments' ) ) )
+ ->setMethods( array( 'get_sortable_columns' ) )
+ ->getMock();
+
+ // Change the null return value of the stubbed get_sortable_columns() method.
+ $object->method( 'get_sortable_columns' )
+ ->willReturn( $override_sortable_columns );
+
+ $output = get_echo( array( $object, 'print_column_headers' ) );
+
+ $this->assertStringContainsString( '?orderby=comment_author&order=desc', $output, 'Mismatch of the default link ordering for comment author column. Should be desc.' );
+ $this->assertStringContainsString( 'column-author sortable asc', $output, 'Mismatch of CSS classes for the comment author column.' );
+
+ $this->assertStringContainsString( '?orderby=comment_post_ID&order=asc', $output, 'Mismatch of the default link ordering for comment response column. Should be asc.' );
+ $this->assertStringContainsString( 'column-response sortable desc', $output, 'Mismatch of CSS classes for the comment post ID column.' );
+
+ $this->assertStringContainsString( '?orderby=comment_date&order=desc', $output, 'Mismatch of the default link ordering for comment date column. Should be asc.' );
+ $this->assertStringContainsString( 'column-date sortable asc', $output, 'Mismatch of CSS classes for the comment date column.' );
+ }
+
+ /**
+ * @ticket 45089
+ *
+ * @covers WP_Posts_List_Table::print_column_headers
+ */
+ public function test_sortable_columns_with_current_ordering() {
+ $override_sortable_columns = array(
+ 'author' => array( 'comment_author', false ),
+ 'response' => 'comment_post_ID',
+ 'date' => array( 'comment_date', 'asc' ), // We will override this with current ordering.
+ );
+
+ // Current ordering.
+ $_GET['orderby'] = 'comment_date';
+ $_GET['order'] = 'desc';
+
+ // Stub the get_sortable_columns() method.
+ $object = $this->getMockBuilder( 'WP_Comments_List_Table' )
+ ->setConstructorArgs( array( array( 'screen' => 'edit-comments' ) ) )
+ ->setMethods( array( 'get_sortable_columns' ) )
+ ->getMock();
+
+ // Change the null return value of the stubbed get_sortable_columns() method.
+ $object->method( 'get_sortable_columns' )
+ ->willReturn( $override_sortable_columns );
+
+ $output = get_echo( array( $object, 'print_column_headers' ) );
+
+ $this->assertStringContainsString( '?orderby=comment_author&order=asc', $output, 'Mismatch of the default link ordering for comment author column. Should be asc.' );
+ $this->assertStringContainsString( 'column-author sortable desc', $output, 'Mismatch of CSS classes for the comment author column.' );
+
+ $this->assertStringContainsString( '?orderby=comment_post_ID&order=asc', $output, 'Mismatch of the default link ordering for comment response column. Should be asc.' );
+ $this->assertStringContainsString( 'column-response sortable desc', $output, 'Mismatch of CSS classes for the comment post ID column.' );
+
+ $this->assertStringContainsString( '?orderby=comment_date&order=asc', $output, 'Mismatch of the current link ordering for comment date column. Should be asc.' );
+ $this->assertStringContainsString( 'column-date sorted desc', $output, 'Mismatch of CSS classes for the comment date column.' );
+ }
+
+}
diff --git a/tests/phpunit/tests/admin/includesListTable.php b/tests/phpunit/tests/admin/wpPostsListTable.php
similarity index 53%
rename from tests/phpunit/tests/admin/includesListTable.php
rename to tests/phpunit/tests/admin/wpPostsListTable.php
index 035d645764..306fddb65d 100644
--- a/tests/phpunit/tests/admin/includesListTable.php
+++ b/tests/phpunit/tests/admin/wpPostsListTable.php
@@ -3,7 +3,7 @@
/**
* @group admin
*/
-class Tests_Admin_IncludesListTable extends WP_UnitTestCase {
+class Tests_Admin_wpPostsListTable extends WP_UnitTestCase {
protected static $top = array();
protected static $children = array();
protected static $grandchildren = array();
@@ -319,196 +319,4 @@ class Tests_Admin_IncludesListTable extends WP_UnitTestCase {
$this->assertStringNotContainsString( 'id="delete_all"', $output );
}
- /**
- * @ticket 40188
- *
- * @covers WP_Posts_List_Table::extra_tablenav
- */
- public function test_filter_button_should_not_be_shown_if_there_are_no_comments() {
- $table = _get_list_table( 'WP_Comments_List_Table', array( 'screen' => 'edit-comments' ) );
-
- ob_start();
- $table->extra_tablenav( 'top' );
- $output = ob_get_clean();
-
- $this->assertStringNotContainsString( 'id="post-query-submit"', $output );
- }
-
- /**
- * @ticket 40188
- *
- * @covers WP_Posts_List_Table::extra_tablenav
- */
- public function test_filter_button_should_be_shown_if_there_are_comments() {
- $post_id = self::factory()->post->create();
- $comment_id = self::factory()->comment->create(
- array(
- 'comment_post_ID' => $post_id,
- 'comment_approved' => '1',
- )
- );
-
- $table = _get_list_table( 'WP_Comments_List_Table', array( 'screen' => 'edit-comments' ) );
- $table->prepare_items();
-
- ob_start();
- $table->extra_tablenav( 'top' );
- $output = ob_get_clean();
-
- $this->assertStringContainsString( 'id="post-query-submit"', $output );
- }
-
- /**
- * @ticket 40188
- *
- * @covers WP_Posts_List_Table::extra_tablenav
- */
- public function test_filter_comment_type_dropdown_should_be_shown_if_there_are_comments() {
- $post_id = self::factory()->post->create();
- $comment_id = self::factory()->comment->create(
- array(
- 'comment_post_ID' => $post_id,
- 'comment_approved' => '1',
- )
- );
-
- $table = _get_list_table( 'WP_Comments_List_Table', array( 'screen' => 'edit-comments' ) );
- $table->prepare_items();
-
- ob_start();
- $table->extra_tablenav( 'top' );
- $output = ob_get_clean();
-
- $this->assertStringContainsString( 'id="filter-by-comment-type"', $output );
- $this->assertStringContainsString( "
-
-OPTIONS;
- $expected = str_replace( "\r\n", "\n", $expected );
-
- $this->assertStringContainsString( $expected, $output );
- }
-
- /**
- * @ticket 45089
- *
- * @covers WP_Posts_List_Table::print_column_headers
- */
- public function test_sortable_columns() {
- require_once ABSPATH . 'wp-admin/includes/class-wp-comments-list-table.php';
-
- $override_sortable_columns = array(
- 'author' => array( 'comment_author', true ),
- 'response' => 'comment_post_ID',
- 'date' => array( 'comment_date', 'dEsC' ), // The ordering support should be case-insensitive.
- );
-
- // Stub the get_sortable_columns() method.
- $object = $this->getMockBuilder( 'WP_Comments_List_Table' )
- ->setConstructorArgs( array( array( 'screen' => 'edit-comments' ) ) )
- ->setMethods( array( 'get_sortable_columns' ) )
- ->getMock();
-
- // Change the null return value of the stubbed get_sortable_columns() method.
- $object->method( 'get_sortable_columns' )
- ->willReturn( $override_sortable_columns );
-
- $output = get_echo( array( $object, 'print_column_headers' ) );
-
- $this->assertStringContainsString( '?orderby=comment_author&order=desc', $output, 'Mismatch of the default link ordering for comment author column. Should be desc.' );
- $this->assertStringContainsString( 'column-author sortable asc', $output, 'Mismatch of CSS classes for the comment author column.' );
-
- $this->assertStringContainsString( '?orderby=comment_post_ID&order=asc', $output, 'Mismatch of the default link ordering for comment response column. Should be asc.' );
- $this->assertStringContainsString( 'column-response sortable desc', $output, 'Mismatch of CSS classes for the comment post ID column.' );
-
- $this->assertStringContainsString( '?orderby=comment_date&order=desc', $output, 'Mismatch of the default link ordering for comment date column. Should be asc.' );
- $this->assertStringContainsString( 'column-date sortable asc', $output, 'Mismatch of CSS classes for the comment date column.' );
- }
-
- /**
- * @ticket 45089
- *
- * @covers WP_Posts_List_Table::print_column_headers
- */
- public function test_sortable_columns_with_current_ordering() {
- require_once ABSPATH . 'wp-admin/includes/class-wp-comments-list-table.php';
-
- $override_sortable_columns = array(
- 'author' => array( 'comment_author', false ),
- 'response' => 'comment_post_ID',
- 'date' => array( 'comment_date', 'asc' ), // We will override this with current ordering.
- );
-
- // Current ordering.
- $_GET['orderby'] = 'comment_date';
- $_GET['order'] = 'desc';
-
- // Stub the get_sortable_columns() method.
- $object = $this->getMockBuilder( 'WP_Comments_List_Table' )
- ->setConstructorArgs( array( array( 'screen' => 'edit-comments' ) ) )
- ->setMethods( array( 'get_sortable_columns' ) )
- ->getMock();
-
- // Change the null return value of the stubbed get_sortable_columns() method.
- $object->method( 'get_sortable_columns' )
- ->willReturn( $override_sortable_columns );
-
- $output = get_echo( array( $object, 'print_column_headers' ) );
-
- $this->assertStringContainsString( '?orderby=comment_author&order=asc', $output, 'Mismatch of the default link ordering for comment author column. Should be asc.' );
- $this->assertStringContainsString( 'column-author sortable desc', $output, 'Mismatch of CSS classes for the comment author column.' );
-
- $this->assertStringContainsString( '?orderby=comment_post_ID&order=asc', $output, 'Mismatch of the default link ordering for comment response column. Should be asc.' );
- $this->assertStringContainsString( 'column-response sortable desc', $output, 'Mismatch of CSS classes for the comment post ID column.' );
-
- $this->assertStringContainsString( '?orderby=comment_date&order=asc', $output, 'Mismatch of the current link ordering for comment date column. Should be asc.' );
- $this->assertStringContainsString( 'column-date sorted desc', $output, 'Mismatch of CSS classes for the comment date column.' );
- }
-
}