mirrored from git://git.moodle.org/moodle.git
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'MDL-57680' of https://github.com/timhunt/moodle
- Loading branch information
Showing
7 changed files
with
200 additions
and
7 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
<?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/>. | ||
|
||
/** | ||
* Steps definitions related to mod_quiz. | ||
* | ||
* @package core_form | ||
* @category test | ||
* @copyright 2020 The Open University | ||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | ||
*/ | ||
|
||
// NOTE: no MOODLE_INTERNAL test here, this file may be required by behat before including /config.php. | ||
|
||
require_once(__DIR__ . '/../../../../lib/behat/behat_base.php'); | ||
require_once(__DIR__ . '/../../../../question/tests/behat/behat_question_base.php'); | ||
|
||
use Behat\Gherkin\Node\TableNode as TableNode; | ||
|
||
use Behat\Mink\Exception\ExpectationException as ExpectationException; | ||
|
||
/** | ||
* Steps definitions related to core_form. | ||
*/ | ||
class behat_core_form extends behat_question_base { | ||
|
||
/** | ||
* Convert page names to URLs for steps like 'When I am on the "core_form > [page name]" page'. | ||
* | ||
* Recognised page names are: | ||
* | None so far! | | | ||
* | ||
* @param string $page name of the page, with the component name removed e.g. 'Admin notification'. | ||
* @return moodle_url the corresponding URL. | ||
* @throws Exception with a meaningful error message if the specified page cannot be found. | ||
*/ | ||
protected function resolve_page_url(string $page): moodle_url { | ||
switch ($page) { | ||
default: | ||
throw new Exception('Unrecognised core_form page type "' . $page . '."'); | ||
} | ||
} | ||
|
||
/** | ||
* Convert page names to URLs for steps like 'When I am on the "[identifier]" "core_form > [page type]" page'. | ||
* | ||
* Recognised page names are: | ||
* | pagetype | name meaning | description | | ||
* | Fixture | script-name | Fixture file name without extension | | ||
* | ||
* The fixture name should be the filename without path or extension. E.g. | ||
* autocomplete-disabledif for lib/form/tests/fixtures/autocomplete-disabledif.php. | ||
* | ||
* @param string $type identifies which type of page this is, e.g. 'Fixture'. | ||
* @param string $identifier identifies the particular page, e.g. 'autocomplete-disabledif'. | ||
* @return moodle_url the corresponding URL. | ||
* @throws Exception with a meaningful error message if the specified page cannot be found. | ||
*/ | ||
protected function resolve_page_instance_url(string $type, string $identifier): moodle_url { | ||
switch ($type) { | ||
case 'Fixture': | ||
return new moodle_url('/lib/form/tests/fixtures/' . | ||
clean_param($identifier, PARAM_ALPHAEXT) . '.php'); | ||
|
||
default: | ||
throw new Exception('Unrecognised core_form page type "' . $type . '."'); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
<?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/>. | ||
|
||
/** | ||
* Test form for testing autocomplete behaviour. | ||
* | ||
* @copyright 2020 The Open University | ||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | ||
*/ | ||
|
||
require_once(__DIR__ . '/../../../../config.php'); | ||
require_once($CFG->libdir . '/formslib.php'); | ||
|
||
if (!defined('BEHAT_SITE_RUNNING')) { | ||
throw new coding_exception('This fixture can only be used in Behat tests.'); | ||
} | ||
require_login(); | ||
require_capability('moodle/site:config', context_system::instance()); | ||
|
||
|
||
/** | ||
* The form class for our test. | ||
*/ | ||
class test_form extends moodleform { | ||
|
||
protected function definition() { | ||
$mform = $this->_form; | ||
|
||
$mform->addElement('course', 'x', 'Controls the rest'); | ||
|
||
$mform->addElement('text', 'enabledifblank', 'Single select will be enabled if the control is blank'); | ||
$mform->disabledIf('enabledifblank', 'x', 'neq', ''); | ||
$mform->setType('enabledifblank', PARAM_RAW); | ||
|
||
$mform->addElement('text', 'disabledifblank', 'Single select will be disabled if the control is blank'); | ||
$mform->disabledIf('disabledifblank', 'x', 'eq', ''); | ||
$mform->setType('disabledifblank', PARAM_RAW); | ||
|
||
$this->add_action_buttons(); | ||
} | ||
} | ||
|
||
$PAGE->set_context(context_system::instance()); | ||
$PAGE->set_url('/lib/form/tests/fixtures/autocomplete-disabledif.php'); | ||
echo $OUTPUT->header(); | ||
|
||
$form = new test_form(); | ||
if ($data = $form->get_data()) { | ||
echo $OUTPUT->notification("Data was submitted (but still re-showing form).", 'success'); | ||
} | ||
|
||
$form->display(); | ||
echo $OUTPUT->footer(); |