Administration: Add new get_views_links method to WP_List_Table.

Many `WP_List_Table` child classes in core use mostly the same code to create their "view" links markup.  To DRY-up the code, a new `WP_List_Table->get_view_links` method is being introduced to consolidate the HTML link generation when provided an array of links.

This change also implements this new method in the relevant `WP_List_Table_xxx` child classes `get_views` methods.  Finally, unit tests are being added to validate view links markup and test for some "unhappy paths".

Props afercia, costdev, garrett-eclipse, Dharm1025, juhise, peterwilsoncc.
Fixes #42066.

git-svn-id: https://develop.svn.wordpress.org/trunk@54215 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
David Baumwald
2022-09-19 21:06:08 +00:00
parent c7baffbbc3
commit 56bde67811
23 changed files with 898 additions and 104 deletions
@@ -198,4 +198,17 @@ class Tests_Admin_wpPrivacyRequestsTable extends WP_UnitTestCase {
),
);
}
/**
* @ticket 42066
*
* @covers WP_Privacy_Requests_List_Table::get_views
*/
public function test_get_views_should_return_views_by_default() {
$expected = array(
'all' => '<a href="http://example.org/wp-admin/export-personal-data.php" class="current" aria-current="page">All <span class="count">(0)</span></a>',
);
$this->assertSame( $expected, $this->get_mocked_class_instance()->get_views() );
}
}