MDL-49329 admin: Introduce new \core\update\validator class
[moodle.git] / lib / tests / fixtures / testable_update_validator.php
CommitLineData
f2d8ed45
DM
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 * Provides testable_core_update_validator class.
19 *
20 * @package core_plugin
21 * @category test
22 * @copyright 2013, 2015 David Mudrak <david@moodle.com>
23 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
24 */
25
26defined('MOODLE_INTERNAL') || die();
27
28/**
29 * Provides access to protected methods we want to explicitly test
30 *
31 * @copyright 2013, 2015 David Mudrak <david@moodle.com>
32 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
33 */
34class testable_core_update_validator extends \core\update\validator {
35
36 public function testable_parse_version_php($fullpath) {
37 return parent::parse_version_php($fullpath);
38 }
39
40 public function get_plugintype_location($plugintype) {
41
42 $testableroot = make_temp_directory('testable_core_update_validator/plugintypes');
43 if (!is_dir($testableroot.'/'.$plugintype)) {
44 make_temp_directory('testable_core_update_validator/plugintypes/'.$plugintype);
45 }
46
47 if ($plugintype === 'local') {
48 // We need the following for the test_validate_target_location() method
49 make_temp_directory('testable_core_update_validator/plugintypes/local/greenbar');
50 }
51
52 return $testableroot.'/'.$plugintype;
53 }
54}