mirror of
https://github.com/moodle/moodle.git
synced 2025-08-09 10:56:56 +02:00

The sequence of questions that made up a quiz used to be stored as a comma-separated list in quiz.questions. Now the same information is stored in the rows in the quiz_slots table. This is not just 'better' in a database design sense, but it allows for the future changes we will need as we enhance the quiz in the MDL-40987 epic. Having changed the database structure, all the rest of the code needs to be changed to account for it, and that is done here. Note that there are not many unit tests for the changed bit. That is because as part of MDL-40987 we will be changing the code further, and we will add unit tests then.
51 lines
1.8 KiB
PHP
51 lines
1.8 KiB
PHP
<?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/>.
|
|
|
|
/**
|
|
* Unit tests for (some of) mod/quiz/editlib.php.
|
|
*
|
|
* @package mod_quiz
|
|
* @category phpunit
|
|
* @copyright 2009 Tim Hunt
|
|
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
|
*/
|
|
|
|
|
|
defined('MOODLE_INTERNAL') || die();
|
|
|
|
global $CFG;
|
|
require_once($CFG->dirroot . '/mod/quiz/editlib.php');
|
|
|
|
|
|
/**
|
|
* Unit tests for (some of) mod/quiz/editlib.php.
|
|
*
|
|
* @copyright 2009 Tim Hunt
|
|
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
|
*/
|
|
class mod_quiz_editlib_testcase extends basic_testcase {
|
|
public function test_quiz_question_tostring() {
|
|
$question = new stdClass();
|
|
$question->qtype = 'multichoice';
|
|
$question->name = 'The question name';
|
|
$question->questiontext = '<p>What sort of <b>inequality</b> is x < y<img alt="?" src="..."></p>';
|
|
$question->questiontextformat = FORMAT_HTML;
|
|
|
|
$summary = quiz_question_tostring($question);
|
|
$this->assertEquals('<span class="questionname">The question name</span>' .
|
|
'<span class="questiontext">What sort of INEQUALITY is x < y[?]</span>', $summary);
|
|
}
|
|
}
|