List Tables: Do not show filter button when there are no filter options available.

Props juhise, dipesh.kakadiya, swissspidy.
Fixes #37407.

git-svn-id: https://develop.svn.wordpress.org/trunk@38854 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Pascal Birchler
2016-10-21 10:32:55 +00:00
parent 5fb3d3f279
commit f508d80a1b
2 changed files with 54 additions and 2 deletions
@@ -9,6 +9,11 @@ class Tests_Admin_includesListTable extends WP_UnitTestCase {
protected static $grandchildren = array();
protected static $post_ids = array();
/**
* @var WP_Posts_List_Table
*/
protected $table;
function setUp() {
parent::setUp();
set_current_screen( 'edit-page' );
@@ -191,4 +196,45 @@ class Tests_Admin_includesListTable extends WP_UnitTestCase {
}
}
/**
* @ticket 37407
*/
function test_filter_button_should_not_be_shown_if_there_are_no_posts() {
// Set post type to a non-existent one.
$this->table->screen->post_type = 'foo';
ob_start();
$this->table->extra_tablenav( 'top' );
$output = ob_get_clean();
$this->assertNotContains( 'id="post-query-submit"', $output );
}
/**
* @ticket 37407
*/
function test_months_dropdown_should_not_be_shown_if_there_are_no_posts() {
// Set post type to a non-existent one.
$this->table->screen->post_type = 'foo';
ob_start();
$this->table->extra_tablenav( 'top' );
$output = ob_get_clean();
$this->assertNotContains( 'id="filter-by-date"', $output );
}
/**
* @ticket 37407
*/
function test_category_dropdown_should_not_be_shown_if_there_are_no_posts() {
// Set post type to a non-existent one.
$this->table->screen->post_type = 'foo';
ob_start();
$this->table->extra_tablenav( 'top' );
$output = ob_get_clean();
$this->assertNotContains( 'id="cat"', $output );
}
}