Differences Between: [Versions 310 and 311] [Versions 310 and 400] [Versions 310 and 401] [Versions 310 and 402] [Versions 310 and 403]
1 <?php 2 // This file is part of Moodle - http://moodle.org/ 3 // 4 // Moodle is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // Moodle is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 // 14 // You should have received a copy of the GNU General Public License 15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 16 17 /** 18 * Tests for theme filter. 19 * 20 * @package tool_usertours 21 * @copyright 2016 Andrew Nicols <andrew@nicols.co.uk> 22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 23 */ 24 25 defined('MOODLE_INTERNAL') || die(); 26 27 /** 28 * Tests for theme filter. 29 * 30 * @package tool_usertours 31 * @copyright 2016 Andrew Nicols <andrew@nicols.co.uk> 32 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 33 */ 34 class tool_usertours_theme_filter_testcase extends advanced_testcase { 35 36 /** 37 * Data Provider for filter_matches function. 38 * 39 * @return array 40 */ 41 public function filter_matches_provider() { 42 return [ 43 'No config set; Matches' => [ 44 null, 45 'boost', 46 true, 47 ], 48 'Empty config set; Matches' => [ 49 [], 50 'boost', 51 true, 52 ], 53 'Single matching value set; Matches' => [ 54 ['boost'], 55 'boost', 56 true, 57 ], 58 'Multiple values set including matching; Matches' => [ 59 ['boost', 'classic'], 60 'boost', 61 true, 62 ], 63 'Single value set; No match' => [ 64 ['classic'], 65 'boost', 66 false, 67 ], 68 'Multiple values set; No match' => [ 69 ['classic', 'artificial'], 70 'boost', 71 false, 72 ], 73 ]; 74 } 75 76 /** 77 * Test the filter_matches function. 78 * 79 * @dataProvider filter_matches_provider 80 * @param array $filtervalues The filter values 81 * @param string $currenttheme The name of the current theme 82 * @param boolean $expected Whether the tour is expected to match 83 */ 84 public function test_filter_matches($filtervalues, $currenttheme, $expected) { 85 global $PAGE; 86 87 $filtername = \tool_usertours\local\filter\theme::class; 88 89 // Note: No need to persist this tour. 90 $tour = new \tool_usertours\tour(); 91 if ($filtervalues !== null) { 92 $tour->set_filter_values('theme', $filtervalues); 93 } 94 95 $PAGE->theme->name = $currenttheme; 96 97 // Note: The theme filter does not use the context. 98 $this->assertEquals($expected, $filtername::filter_matches($tour, \context_system::instance())); 99 } 100 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body