Rev 1 | AutorÃa | Comparar con el anterior | Ultima modificación | Ver Log |
<?php// This file is part of Moodle - http://moodle.org///// Moodle is free software: you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation, either version 3 of the License, or// (at your option) any later version.//// Moodle is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.//// You should have received a copy of the GNU General Public License// along with Moodle. If not, see <http://www.gnu.org/licenses/>.namespace tool_usertours;/*** Tests for theme filter.** @package tool_usertours* @copyright 2016 Andrew Nicols <andrew@nicols.co.uk>* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later* @covers \tool_usertours\local\filter\theme*/final class theme_filter_test extends \advanced_testcase {/*** Data Provider for filter_matches function.** @return array*/public static function filter_matches_provider(): array {return ['No config set; Matches' => [null,'boost',true,],'Empty config set; Matches' => [[],'boost',true,],'Single matching value set; Matches' => [['boost'],'boost',true,],'Multiple values set including matching; Matches' => [['boost', 'classic'],'boost',true,],'Single value set; No match' => [['classic'],'boost',false,],'Multiple values set; No match' => [['classic', 'artificial'],'boost',false,],];}/*** Test the filter_matches function.** @dataProvider filter_matches_provider* @param array $filtervalues The filter values* @param string $currenttheme The name of the current theme* @param boolean $expected Whether the tour is expected to match*/public function test_filter_matches($filtervalues, $currenttheme, $expected): void {global $PAGE;$filtername = \tool_usertours\local\filter\theme::class;// Note: No need to persist this tour.$tour = new \tool_usertours\tour();if ($filtervalues !== null) {$tour->set_filter_values('theme', $filtervalues);}$PAGE->theme->name = $currenttheme;// Note: The theme filter does not use the context.$this->assertEquals($expected, $filtername::filter_matches($tour, \context_system::instance()));}}