From e453665f7d84e4da842dd0f970e6f96dd078bfc7 Mon Sep 17 00:00:00 2001 From: "Eloy Lafuente (stronk7)" Date: Sun, 12 Jan 2020 04:16:35 +0100 Subject: [PATCH] MDL-67353 filters: fix filterlib tests - move resetAfterTest() to test units. - remove setUp(), moving code to remove_all_filters_from_config(). - remove class properties, moving to return values of own setup_xxx() methods. --- lib/tests/filterlib_test.php | 326 +++++++++++++++++++++++------------ 1 file changed, 220 insertions(+), 106 deletions(-) diff --git a/lib/tests/filterlib_test.php b/lib/tests/filterlib_test.php index c3aab08cb91..8f8e5fa759a 100644 --- a/lib/tests/filterlib_test.php +++ b/lib/tests/filterlib_test.php @@ -33,23 +33,6 @@ require_once($CFG->libdir . '/filterlib.php'); * Test filters. */ class core_filterlib_testcase extends advanced_testcase { - private $syscontext; - private $childcontext; - private $childcontext2; - private $catcontext; - private $coursecontext; - private $course; - private $activity1context; - private $activity2context; - - protected function setUp() { - global $DB; - parent::setUp(); - - $this->resetAfterTest(); - $DB->delete_records('filter_active', array()); - $DB->delete_records('filter_config', array()); - } private function assert_only_one_filter_globally($filter, $state) { global $DB; @@ -79,6 +62,8 @@ class core_filterlib_testcase extends advanced_testcase { } public function test_set_filter_globally_on() { + $this->resetAfterTest(); + $this->remove_all_filters_from_config(); // Remove all filters. // Setup fixture. // Exercise SUT. filter_set_global_state('name', TEXTFILTER_ON); @@ -87,6 +72,8 @@ class core_filterlib_testcase extends advanced_testcase { } public function test_set_filter_globally_off() { + $this->resetAfterTest(); + $this->remove_all_filters_from_config(); // Remove all filters. // Setup fixture. // Exercise SUT. filter_set_global_state('name', TEXTFILTER_OFF); @@ -95,6 +82,8 @@ class core_filterlib_testcase extends advanced_testcase { } public function test_set_filter_globally_disabled() { + $this->resetAfterTest(); + $this->remove_all_filters_from_config(); // Remove all filters. // Setup fixture. // Exercise SUT. filter_set_global_state('name', TEXTFILTER_DISABLED); @@ -106,10 +95,13 @@ class core_filterlib_testcase extends advanced_testcase { * @expectedException coding_exception */ public function test_global_config_exception_on_invalid_state() { + $this->resetAfterTest(); filter_set_global_state('name', 0); } public function test_auto_sort_order() { + $this->resetAfterTest(); + $this->remove_all_filters_from_config(); // Remove all filters. // Setup fixture. // Exercise SUT. filter_set_global_state('one', TEXTFILTER_DISABLED); @@ -119,6 +111,8 @@ class core_filterlib_testcase extends advanced_testcase { } public function test_auto_sort_order_enabled() { + $this->resetAfterTest(); + $this->remove_all_filters_from_config(); // Remove all filters. // Setup fixture. // Exercise SUT. filter_set_global_state('one', TEXTFILTER_ON); @@ -128,6 +122,8 @@ class core_filterlib_testcase extends advanced_testcase { } public function test_update_existing_dont_duplicate() { + $this->resetAfterTest(); + $this->remove_all_filters_from_config(); // Remove all filters. // Setup fixture. // Exercise SUT. filter_set_global_state('name', TEXTFILTER_ON); @@ -137,6 +133,8 @@ class core_filterlib_testcase extends advanced_testcase { } public function test_update_reorder_down() { + $this->resetAfterTest(); + $this->remove_all_filters_from_config(); // Remove all filters. // Setup fixture. filter_set_global_state('one', TEXTFILTER_ON); filter_set_global_state('two', TEXTFILTER_ON); @@ -148,6 +146,8 @@ class core_filterlib_testcase extends advanced_testcase { } public function test_update_reorder_up() { + $this->resetAfterTest(); + $this->remove_all_filters_from_config(); // Remove all filters. // Setup fixture. filter_set_global_state('one', TEXTFILTER_ON); filter_set_global_state('two', TEXTFILTER_ON); @@ -160,6 +160,8 @@ class core_filterlib_testcase extends advanced_testcase { } public function test_auto_sort_order_change_to_enabled() { + $this->resetAfterTest(); + $this->remove_all_filters_from_config(); // Remove all filters. // Setup fixture. filter_set_global_state('one', TEXTFILTER_ON); filter_set_global_state('two', TEXTFILTER_DISABLED); @@ -171,6 +173,8 @@ class core_filterlib_testcase extends advanced_testcase { } public function test_auto_sort_order_change_to_disabled() { + $this->resetAfterTest(); + $this->remove_all_filters_from_config(); // Remove all filters. // Setup fixture. filter_set_global_state('one', TEXTFILTER_ON); filter_set_global_state('two', TEXTFILTER_ON); @@ -182,6 +186,8 @@ class core_filterlib_testcase extends advanced_testcase { } public function test_filter_get_global_states() { + $this->resetAfterTest(); + $this->remove_all_filters_from_config(); // Remove all filters. // Setup fixture. filter_set_global_state('one', TEXTFILTER_ON); filter_set_global_state('two', TEXTFILTER_OFF); @@ -216,6 +222,8 @@ class core_filterlib_testcase extends advanced_testcase { } public function test_local_on() { + $this->resetAfterTest(); + $this->remove_all_filters_from_config(); // Remove all filters. // Exercise SUT. filter_set_local_state('name', 123, TEXTFILTER_ON); // Validate. @@ -223,6 +231,8 @@ class core_filterlib_testcase extends advanced_testcase { } public function test_local_off() { + $this->resetAfterTest(); + $this->remove_all_filters_from_config(); // Remove all filters. // Exercise SUT. filter_set_local_state('name', 123, TEXTFILTER_OFF); // Validate. @@ -230,6 +240,8 @@ class core_filterlib_testcase extends advanced_testcase { } public function test_local_inherit() { + $this->resetAfterTest(); + $this->remove_all_filters_from_config(); // Remove all filters. // Exercise SUT. filter_set_local_state('name', 123, TEXTFILTER_INHERIT); // Validate. @@ -240,6 +252,7 @@ class core_filterlib_testcase extends advanced_testcase { * @expectedException coding_exception */ public function test_local_invalid_state_throws_exception() { + $this->resetAfterTest(); // Exercise SUT. filter_set_local_state('name', 123, -9999); } @@ -248,11 +261,14 @@ class core_filterlib_testcase extends advanced_testcase { * @expectedException coding_exception */ public function test_throws_exception_when_setting_global() { + $this->resetAfterTest(); // Exercise SUT. filter_set_local_state('name', context_system::instance()->id, TEXTFILTER_INHERIT); } public function test_local_inherit_deletes_existing() { + $this->resetAfterTest(); + $this->remove_all_filters_from_config(); // Remove all filters. // Setup fixture. filter_set_local_state('name', 123, TEXTFILTER_INHERIT); // Exercise SUT. @@ -276,6 +292,8 @@ class core_filterlib_testcase extends advanced_testcase { } public function test_set_new_config() { + $this->resetAfterTest(); + $this->remove_all_filters_from_config(); // Remove all filters. // Exercise SUT. filter_set_local_config('name', 123, 'settingname', 'An arbitrary value'); // Validate. @@ -283,6 +301,8 @@ class core_filterlib_testcase extends advanced_testcase { } public function test_update_existing_config() { + $this->resetAfterTest(); + $this->remove_all_filters_from_config(); // Remove all filters. // Setup fixture. filter_set_local_config('name', 123, 'settingname', 'An arbitrary value'); // Exercise SUT. @@ -292,6 +312,7 @@ class core_filterlib_testcase extends advanced_testcase { } public function test_filter_get_local_config() { + $this->resetAfterTest(); // Setup fixture. filter_set_local_config('name', 123, 'setting1', 'An arbitrary value'); filter_set_local_config('name', 123, 'setting2', 'Another arbitrary value'); @@ -306,22 +327,37 @@ class core_filterlib_testcase extends advanced_testcase { protected function setup_available_in_context_tests() { $course = $this->getDataGenerator()->create_course(array('category'=>1)); - $this->childcontext = context_coursecat::instance(1); - $this->childcontext2 = context_course::instance($course->id); - $this->syscontext = context_system::instance(); + $childcontext = context_coursecat::instance(1); + $childcontext2 = context_course::instance($course->id); + $syscontext = context_system::instance(); + + return [ + 'syscontext' => $syscontext, + 'childcontext' => $childcontext, + 'childcontext2' => $childcontext2 + ]; + } + + protected function remove_all_filters_from_config() { + global $DB; + $DB->delete_records('filter_active', array()); + $DB->delete_records('filter_config', array()); } private function assert_filter_list($expectedfilters, $filters) { - $this->setup_available_in_context_tests(); $this->assertEquals($expectedfilters, array_keys($filters), '', 0, 10, true); } public function test_globally_on_is_returned() { - $this->setup_available_in_context_tests(); + $this->resetAfterTest(); + $this->remove_all_filters_from_config(); // Remove all filters. + [ + 'syscontext' => $syscontext + ] = $this->setup_available_in_context_tests(); // Setup fixture. filter_set_global_state('name', TEXTFILTER_ON); // Exercise SUT. - $filters = filter_get_active_in_context($this->syscontext); + $filters = filter_get_active_in_context($syscontext); // Validate. $this->assert_filter_list(array('name'), $filters); // Check no config returned correctly. @@ -329,97 +365,128 @@ class core_filterlib_testcase extends advanced_testcase { } public function test_globally_off_not_returned() { - $this->setup_available_in_context_tests(); + $this->resetAfterTest(); + $this->remove_all_filters_from_config(); // Remove all filters. + [ + 'childcontext2' => $childcontext2 + ] = $this->setup_available_in_context_tests(); // Setup fixture. filter_set_global_state('name', TEXTFILTER_OFF); // Exercise SUT. - $filters = filter_get_active_in_context($this->childcontext2); + $filters = filter_get_active_in_context($childcontext2); // Validate. $this->assert_filter_list(array(), $filters); } public function test_globally_off_overridden() { - $this->setup_available_in_context_tests(); + $this->resetAfterTest(); + $this->remove_all_filters_from_config(); // Remove all filters. + [ + 'childcontext' => $childcontext, + 'childcontext2' => $childcontext2 + ] = $this->setup_available_in_context_tests(); // Setup fixture. filter_set_global_state('name', TEXTFILTER_OFF); - filter_set_local_state('name', $this->childcontext->id, TEXTFILTER_ON); + filter_set_local_state('name', $childcontext->id, TEXTFILTER_ON); // Exercise SUT. - $filters = filter_get_active_in_context($this->childcontext2); + $filters = filter_get_active_in_context($childcontext2); // Validate. $this->assert_filter_list(array('name'), $filters); } public function test_globally_on_overridden() { - $this->setup_available_in_context_tests(); + $this->resetAfterTest(); + $this->remove_all_filters_from_config(); // Remove all filters. + [ + 'childcontext' => $childcontext, + 'childcontext2' => $childcontext2 + ] = $this->setup_available_in_context_tests(); // Setup fixture. filter_set_global_state('name', TEXTFILTER_ON); - filter_set_local_state('name', $this->childcontext->id, TEXTFILTER_OFF); + filter_set_local_state('name', $childcontext->id, TEXTFILTER_OFF); // Exercise SUT. - $filters = filter_get_active_in_context($this->childcontext2); + $filters = filter_get_active_in_context($childcontext2); // Validate. $this->assert_filter_list(array(), $filters); } public function test_globally_disabled_not_overridden() { - $this->setup_available_in_context_tests(); + $this->resetAfterTest(); + $this->remove_all_filters_from_config(); // Remove all filters. + [ + 'syscontext' => $syscontext, + 'childcontext' => $childcontext + ] = $this->setup_available_in_context_tests(); // Setup fixture. filter_set_global_state('name', TEXTFILTER_DISABLED); - filter_set_local_state('name', $this->childcontext->id, TEXTFILTER_ON); + filter_set_local_state('name', $childcontext->id, TEXTFILTER_ON); // Exercise SUT. - $filters = filter_get_active_in_context($this->syscontext); + $filters = filter_get_active_in_context($syscontext); // Validate. $this->assert_filter_list(array(), $filters); } public function test_single_config_returned() { - $this->setup_available_in_context_tests(); + $this->resetAfterTest(); + [ + 'childcontext' => $childcontext + ] = $this->setup_available_in_context_tests(); // Setup fixture. filter_set_global_state('name', TEXTFILTER_ON); - filter_set_local_config('name', $this->childcontext->id, 'settingname', 'A value'); + filter_set_local_config('name', $childcontext->id, 'settingname', 'A value'); // Exercise SUT. - $filters = filter_get_active_in_context($this->childcontext); + $filters = filter_get_active_in_context($childcontext); // Validate. $this->assertEquals(array('settingname' => 'A value'), $filters['name']); } public function test_multi_config_returned() { - $this->setup_available_in_context_tests(); + $this->resetAfterTest(); + [ + 'childcontext' => $childcontext + ] = $this->setup_available_in_context_tests(); // Setup fixture. filter_set_global_state('name', TEXTFILTER_ON); - filter_set_local_config('name', $this->childcontext->id, 'settingname', 'A value'); - filter_set_local_config('name', $this->childcontext->id, 'anothersettingname', 'Another value'); + filter_set_local_config('name', $childcontext->id, 'settingname', 'A value'); + filter_set_local_config('name', $childcontext->id, 'anothersettingname', 'Another value'); // Exercise SUT. - $filters = filter_get_active_in_context($this->childcontext); + $filters = filter_get_active_in_context($childcontext); // Validate. $this->assertEquals(array('settingname' => 'A value', 'anothersettingname' => 'Another value'), $filters['name']); } public function test_config_from_other_context_not_returned() { - $this->setup_available_in_context_tests(); + $this->resetAfterTest(); + [ + 'childcontext' => $childcontext, + 'childcontext2' => $childcontext2 + ] = $this->setup_available_in_context_tests(); // Setup fixture. filter_set_global_state('name', TEXTFILTER_ON); - filter_set_local_config('name', $this->childcontext->id, 'settingname', 'A value'); - filter_set_local_config('name', $this->childcontext2->id, 'anothersettingname', 'Another value'); + filter_set_local_config('name', $childcontext->id, 'settingname', 'A value'); + filter_set_local_config('name', $childcontext2->id, 'anothersettingname', 'Another value'); // Exercise SUT. - $filters = filter_get_active_in_context($this->childcontext2); + $filters = filter_get_active_in_context($childcontext2); // Validate. $this->assertEquals(array('anothersettingname' => 'Another value'), $filters['name']); } public function test_config_from_other_filter_not_returned() { - $this->setup_available_in_context_tests(); + $this->resetAfterTest(); + [ + 'childcontext' => $childcontext + ] = $this->setup_available_in_context_tests(); // Setup fixture. filter_set_global_state('name', TEXTFILTER_ON); - filter_set_local_config('name', $this->childcontext->id, 'settingname', 'A value'); - filter_set_local_config('other', $this->childcontext->id, 'anothersettingname', 'Another value'); + filter_set_local_config('name', $childcontext->id, 'settingname', 'A value'); + filter_set_local_config('other', $childcontext->id, 'anothersettingname', 'Another value'); // Exercise SUT. - $filters = filter_get_active_in_context($this->childcontext); + $filters = filter_get_active_in_context($childcontext); // Validate. $this->assertEquals(array('settingname' => 'A value'), $filters['name']); } protected function assert_one_available_filter($filter, $localstate, $inheritedstate, $filters) { - $this->setup_available_in_context_tests(); $this->assertEquals(1, count($filters), 'More than one record returned %s.'); $rec = $filters[$filter]; unset($rec->id); @@ -431,34 +498,47 @@ class core_filterlib_testcase extends advanced_testcase { } public function test_available_in_context_localoverride() { - $this->setup_available_in_context_tests(); + $this->resetAfterTest(); + $this->remove_all_filters_from_config(); // Remove all filters. + [ + 'childcontext' => $childcontext + ] = $this->setup_available_in_context_tests(); // Setup fixture. filter_set_global_state('name', TEXTFILTER_ON); - filter_set_local_state('name', $this->childcontext->id, TEXTFILTER_OFF); + filter_set_local_state('name', $childcontext->id, TEXTFILTER_OFF); // Exercise SUT. - $filters = filter_get_available_in_context($this->childcontext); + $filters = filter_get_available_in_context($childcontext); // Validate. $this->assert_one_available_filter('name', TEXTFILTER_OFF, TEXTFILTER_ON, $filters); } public function test_available_in_context_nolocaloverride() { - $this->setup_available_in_context_tests(); + $this->resetAfterTest(); + $this->remove_all_filters_from_config(); // Remove all filters. + [ + 'childcontext' => $childcontext, + 'childcontext2' => $childcontext2 + ] = $this->setup_available_in_context_tests(); // Setup fixture. filter_set_global_state('name', TEXTFILTER_ON); - filter_set_local_state('name', $this->childcontext->id, TEXTFILTER_OFF); + filter_set_local_state('name', $childcontext->id, TEXTFILTER_OFF); // Exercise SUT. - $filters = filter_get_available_in_context($this->childcontext2); + $filters = filter_get_available_in_context($childcontext2); // Validate. $this->assert_one_available_filter('name', TEXTFILTER_INHERIT, TEXTFILTER_OFF, $filters); } public function test_available_in_context_disabled_not_returned() { - $this->setup_available_in_context_tests(); + $this->resetAfterTest(); + $this->remove_all_filters_from_config(); // Remove all filters. + [ + 'childcontext' => $childcontext + ] = $this->setup_available_in_context_tests(); // Setup fixture. filter_set_global_state('name', TEXTFILTER_DISABLED); - filter_set_local_state('name', $this->childcontext->id, TEXTFILTER_ON); + filter_set_local_state('name', $childcontext->id, TEXTFILTER_ON); // Exercise SUT. - $filters = filter_get_available_in_context($this->childcontext); + $filters = filter_get_available_in_context($childcontext); // Validate. $this->assertEquals(array(), $filters); } @@ -467,23 +547,34 @@ class core_filterlib_testcase extends advanced_testcase { * @expectedException coding_exception */ public function test_available_in_context_exception_with_syscontext() { - $this->setup_available_in_context_tests(); + $this->resetAfterTest(); + [ + 'syscontext' => $syscontext + ] = $this->setup_available_in_context_tests(); // Exercise SUT. - filter_get_available_in_context($this->syscontext); + filter_get_available_in_context($syscontext); } protected function setup_preload_activities_test() { - $this->syscontext = context_system::instance(); - $this->catcontext = context_coursecat::instance(1); - $this->course = $this->getDataGenerator()->create_course(array('category'=>1)); - $this->coursecontext = context_course::instance($this->course->id); - $page1 = $this->getDataGenerator()->create_module('page', array('course'=>$this->course->id)); - $this->activity1context = context_module::instance($page1->cmid); - $page2 = $this->getDataGenerator()->create_module('page', array('course'=>$this->course->id)); - $this->activity2context = context_module::instance($page2->cmid); + $syscontext = context_system::instance(); + $catcontext = context_coursecat::instance(1); + $course = $this->getDataGenerator()->create_course(array('category' => 1)); + $coursecontext = context_course::instance($course->id); + $page1 = $this->getDataGenerator()->create_module('page', array('course' => $course->id)); + $activity1context = context_module::instance($page1->cmid); + $page2 = $this->getDataGenerator()->create_module('page', array('course' => $course->id)); + $activity2context = context_module::instance($page2->cmid); + return [ + 'syscontext' => $syscontext, + 'catcontext' => $catcontext, + 'course' => $course, + 'coursecontext' => $coursecontext, + 'activity1context' => $activity1context, + 'activity2context' => $activity2context + ]; } - private function assert_matches($modinfo) { + private function assert_matches($modinfo, $activity1context, $activity2context) { global $FILTERLIB_PRIVATE, $DB; // Use preload cache... @@ -492,16 +583,16 @@ class core_filterlib_testcase extends advanced_testcase { // Get data and check no queries are made. $before = $DB->perf_get_reads(); - $plfilters1 = filter_get_active_in_context($this->activity1context); - $plfilters2 = filter_get_active_in_context($this->activity2context); + $plfilters1 = filter_get_active_in_context($activity1context); + $plfilters2 = filter_get_active_in_context($activity2context); $after = $DB->perf_get_reads(); $this->assertEquals($before, $after); // Repeat without cache and check it makes queries now. $FILTERLIB_PRIVATE = new stdClass; $before = $DB->perf_get_reads(); - $filters1 = filter_get_active_in_context($this->activity1context); - $filters2 = filter_get_active_in_context($this->activity2context); + $filters1 = filter_get_active_in_context($activity1context); + $filters2 = filter_get_active_in_context($activity2context); $after = $DB->perf_get_reads(); $this->assertTrue($after > $before); @@ -511,60 +602,69 @@ class core_filterlib_testcase extends advanced_testcase { } public function test_preload() { - $this->setup_preload_activities_test(); + $this->resetAfterTest(); + [ + 'catcontext' => $catcontext, + 'course' => $course, + 'coursecontext' => $coursecontext, + 'activity1context' => $activity1context, + 'activity2context' => $activity2context + ] = $this->setup_preload_activities_test(); // Get course and modinfo. - $modinfo = new course_modinfo($this->course, 2); + $modinfo = new course_modinfo($course, 2); // Note: All the tests in this function check that the result from the // preloaded cache is the same as the result from calling the standard // function without preloading. // Initially, check with no filters enabled. - $this->assert_matches($modinfo); + $this->assert_matches($modinfo, $activity1context, $activity2context); // Enable filter globally, check. filter_set_global_state('name', TEXTFILTER_ON); - $this->assert_matches($modinfo); + $this->assert_matches($modinfo, $activity1context, $activity2context); // Disable for activity 2. - filter_set_local_state('name', $this->activity2context->id, TEXTFILTER_OFF); - $this->assert_matches($modinfo); + filter_set_local_state('name', $activity2context->id, TEXTFILTER_OFF); + $this->assert_matches($modinfo, $activity1context, $activity2context); // Disable at category. - filter_set_local_state('name', $this->catcontext->id, TEXTFILTER_OFF); - $this->assert_matches($modinfo); + filter_set_local_state('name', $catcontext->id, TEXTFILTER_OFF); + $this->assert_matches($modinfo, $activity1context, $activity2context); // Enable for activity 1. - filter_set_local_state('name', $this->activity1context->id, TEXTFILTER_ON); - $this->assert_matches($modinfo); + filter_set_local_state('name', $activity1context->id, TEXTFILTER_ON); + $this->assert_matches($modinfo, $activity1context, $activity2context); // Disable globally. filter_set_global_state('name', TEXTFILTER_DISABLED); - $this->assert_matches($modinfo); + $this->assert_matches($modinfo, $activity1context, $activity2context); // Add another 2 filters. filter_set_global_state('frog', TEXTFILTER_ON); filter_set_global_state('zombie', TEXTFILTER_ON); - $this->assert_matches($modinfo); + $this->assert_matches($modinfo, $activity1context, $activity2context); // Disable random one of these in each context. - filter_set_local_state('zombie', $this->activity1context->id, TEXTFILTER_OFF); - filter_set_local_state('frog', $this->activity2context->id, TEXTFILTER_OFF); - $this->assert_matches($modinfo); + filter_set_local_state('zombie', $activity1context->id, TEXTFILTER_OFF); + filter_set_local_state('frog', $activity2context->id, TEXTFILTER_OFF); + $this->assert_matches($modinfo, $activity1context, $activity2context); // Now do some filter options. - filter_set_local_config('name', $this->activity1context->id, 'a', 'x'); - filter_set_local_config('zombie', $this->activity1context->id, 'a', 'y'); - filter_set_local_config('frog', $this->activity1context->id, 'a', 'z'); + filter_set_local_config('name', $activity1context->id, 'a', 'x'); + filter_set_local_config('zombie', $activity1context->id, 'a', 'y'); + filter_set_local_config('frog', $activity1context->id, 'a', 'z'); // These last two don't do anything as they are not at final level but I // thought it would be good to have that verified in test. - filter_set_local_config('frog', $this->coursecontext->id, 'q', 'x'); - filter_set_local_config('frog', $this->catcontext->id, 'q', 'z'); - $this->assert_matches($modinfo); + filter_set_local_config('frog', $coursecontext->id, 'q', 'x'); + filter_set_local_config('frog', $catcontext->id, 'q', 'z'); + $this->assert_matches($modinfo, $activity1context, $activity2context); } public function test_filter_delete_all_for_filter() { global $DB; + $this->resetAfterTest(); + $this->remove_all_filters_from_config(); // Remove all filters. // Setup fixture. filter_set_global_state('name', TEXTFILTER_ON); @@ -588,6 +688,8 @@ class core_filterlib_testcase extends advanced_testcase { public function test_filter_delete_all_for_context() { global $DB; + $this->resetAfterTest(); + $this->remove_all_filters_from_config(); // Remove all filters. // Setup fixture. filter_set_global_state('name', TEXTFILTER_ON); @@ -606,6 +708,7 @@ class core_filterlib_testcase extends advanced_testcase { public function test_set() { global $CFG; + $this->resetAfterTest(); $this->assertFileExists("$CFG->dirroot/filter/emailprotect"); // Any standard filter. $this->assertFileExists("$CFG->dirroot/filter/tidy"); // Any standard filter. @@ -631,6 +734,7 @@ class core_filterlib_testcase extends advanced_testcase { public function test_unset_to_empty() { global $CFG; + $this->resetAfterTest(); $this->assertFileExists("$CFG->dirroot/filter/tidy"); // Any standard filter. @@ -646,6 +750,7 @@ class core_filterlib_testcase extends advanced_testcase { public function test_unset_multi() { global $CFG; + $this->resetAfterTest(); $this->assertFileExists("$CFG->dirroot/filter/emailprotect"); // Any standard filter. $this->assertFileExists("$CFG->dirroot/filter/tidy"); // Any standard filter. @@ -662,6 +767,7 @@ class core_filterlib_testcase extends advanced_testcase { } public function test_filter_manager_instance() { + $this->resetAfterTest(); set_config('perfdebug', 7); filter_manager::reset_caches(); @@ -677,18 +783,26 @@ class core_filterlib_testcase extends advanced_testcase { } public function test_filter_get_globally_enabled_default() { + $this->resetAfterTest(); $enabledfilters = filter_get_globally_enabled(); $this->assertArrayNotHasKey('glossary', $enabledfilters); } public function test_filter_get_globally_enabled_after_change() { + $this->resetAfterTest(); filter_set_global_state('glossary', TEXTFILTER_ON); $enabledfilters = filter_get_globally_enabled(); $this->assertArrayHasKey('glossary', $enabledfilters); } public function test_filter_get_globally_enabled_filters_with_config() { - $this->setup_available_in_context_tests(); + $this->resetAfterTest(); + $this->remove_all_filters_from_config(); // Remove all filters. + [ + 'syscontext' => $syscontext, + 'childcontext' => $childcontext + ] = $this->setup_available_in_context_tests(); + $this->remove_all_filters_from_config(); // Remove all filters. // Set few filters. filter_set_global_state('one', TEXTFILTER_ON); @@ -696,18 +810,18 @@ class core_filterlib_testcase extends advanced_testcase { filter_set_global_state('two', TEXTFILTER_DISABLED); // Set global config. - filter_set_local_config('one', $this->syscontext->id, 'test1a', 'In root'); - filter_set_local_config('one', $this->syscontext->id, 'test1b', 'In root'); - filter_set_local_config('two', $this->syscontext->id, 'test2a', 'In root'); - filter_set_local_config('two', $this->syscontext->id, 'test2b', 'In root'); + filter_set_local_config('one', $syscontext->id, 'test1a', 'In root'); + filter_set_local_config('one', $syscontext->id, 'test1b', 'In root'); + filter_set_local_config('two', $syscontext->id, 'test2a', 'In root'); + filter_set_local_config('two', $syscontext->id, 'test2b', 'In root'); // Set child config. - filter_set_local_config('one', $this->childcontext->id, 'test1a', 'In child'); - filter_set_local_config('one', $this->childcontext->id, 'test1b', 'In child'); - filter_set_local_config('two', $this->childcontext->id, 'test2a', 'In child'); - filter_set_local_config('two', $this->childcontext->id, 'test2b', 'In child'); - filter_set_local_config('three', $this->childcontext->id, 'test3a', 'In child'); - filter_set_local_config('three', $this->childcontext->id, 'test3b', 'In child'); + filter_set_local_config('one', $childcontext->id, 'test1a', 'In child'); + filter_set_local_config('one', $childcontext->id, 'test1b', 'In child'); + filter_set_local_config('two', $childcontext->id, 'test2a', 'In child'); + filter_set_local_config('two', $childcontext->id, 'test2b', 'In child'); + filter_set_local_config('three', $childcontext->id, 'test3a', 'In child'); + filter_set_local_config('three', $childcontext->id, 'test3b', 'In child'); // Check. $actual = filter_get_globally_enabled_filters_with_config();