From 2cd4e5f8dc3f1fbfb1f1d3506a98cb7f4e8b9eca Mon Sep 17 00:00:00 2001 From: Paul Holden Date: Fri, 5 Apr 2019 11:53:33 +0100 Subject: [PATCH] MDL-64784 core: update tablelib tests for explicit sort direction. --- lib/tests/tablelib_test.php | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/lib/tests/tablelib_test.php b/lib/tests/tablelib_test.php index 9346e05c774..e43fdb11a38 100644 --- a/lib/tests/tablelib_test.php +++ b/lib/tests/tablelib_test.php @@ -526,7 +526,6 @@ class core_tablelib_testcase extends basic_testcase { } public function test_can_be_reset() { - // Table in its default state (as if seen for the first time), nothing to reset. $table = $this->prepare_table_for_reset_test(uniqid('tablelib_test_')); $table->setup(); @@ -538,21 +537,25 @@ class core_tablelib_testcase extends basic_testcase { $table->setup(); $this->assertFalse($table->can_be_reset()); - // Table explicitly sorted by the default column (reverses the order), can be reset. + // Table explicitly sorted by the default column & direction, nothing to reset. $table = $this->prepare_table_for_reset_test(uniqid('tablelib_test_')); $table->sortable(true, 'column1', SORT_DESC); $_GET['tsort'] = 'column1'; + $_GET['tdir'] = SORT_DESC; $table->setup(); unset($_GET['tsort']); - $this->assertTrue($table->can_be_reset()); + unset($_GET['tdir']); + $this->assertFalse($table->can_be_reset()); - // Table explicitly sorted twice by the default column (puts back to default order), nothing to reset. + // Table explicitly sorted twice by the default column & direction, nothing to reset. $table = $this->prepare_table_for_reset_test(uniqid('tablelib_test_')); $table->sortable(true, 'column1', SORT_DESC); $_GET['tsort'] = 'column1'; + $_GET['tdir'] = SORT_DESC; $table->setup(); $table->setup(); // Set up again to simulate the second page request. unset($_GET['tsort']); + unset($_GET['tdir']); $this->assertFalse($table->can_be_reset()); // Table sorted by other than default column, can be reset. @@ -563,6 +566,16 @@ class core_tablelib_testcase extends basic_testcase { unset($_GET['tsort']); $this->assertTrue($table->can_be_reset()); + // Table sorted by other than default direction, can be reset. + $table = $this->prepare_table_for_reset_test(uniqid('tablelib_test_')); + $table->sortable(true, 'column1', SORT_DESC); + $_GET['tsort'] = 'column1'; + $_GET['tdir'] = SORT_ASC; + $table->setup(); + unset($_GET['tsort']); + unset($_GET['tdir']); + $this->assertTrue($table->can_be_reset()); + // Table sorted by the default column after another sorting previously selected. // This leads to different ORDER BY than just having a single sort defined, can be reset. $table = $this->prepare_table_for_reset_test(uniqid('tablelib_test_'));