Merge branch 'MDL-55728-master' of git://github.com/jleyva/moodle

This commit is contained in:
Dan Poltawski 2016-10-04 10:15:37 +01:00
commit 917a59a1a0
6 changed files with 71 additions and 0 deletions

View file

@ -1641,6 +1641,10 @@ class mod_quiz_external extends external_api {
'mod_quiz', 'feedback', $feedback->id);
$result['feedbacktext'] = $text;
$result['feedbacktextformat'] = $format;
$feedbackinlinefiles = external_util::get_area_files($context->id, 'mod_quiz', 'feedback', $feedback->id);
if (!empty($feedbackinlinefiles)) {
$result['feedbackinlinefiles'] = $feedbackinlinefiles;
}
}
$result['warnings'] = $warnings;
@ -1658,6 +1662,7 @@ class mod_quiz_external extends external_api {
array(
'feedbacktext' => new external_value(PARAM_RAW, 'the comment that corresponds to this grade (empty for none)'),
'feedbacktextformat' => new external_format_value('feedbacktext', VALUE_OPTIONAL),
'feedbackinlinefiles' => new external_files('feedback inline files', VALUE_OPTIONAL),
'warnings' => new external_warnings(),
)
);

View file

@ -1474,6 +1474,18 @@ class mod_quiz_external_testcase extends externallib_advanced_testcase {
$feedback->mingrade = 49;
$feedback->maxgrade = 100;
$feedback->id = $DB->insert_record('quiz_feedback', $feedback);
// Add a fake inline image to the feedback text.
$filename = 'shouldbeanimage.jpg';
$filerecordinline = array(
'contextid' => $this->context->id,
'component' => 'mod_quiz',
'filearea' => 'feedback',
'itemid' => $feedback->id,
'filepath' => '/',
'filename' => $filename,
);
$fs = get_file_storage();
$fs->create_file_from_string($filerecordinline, 'image contents (not really)');
$feedback->feedbacktext = 'Feedback text 2';
$feedback->feedbacktextformat = 1;
@ -1484,6 +1496,7 @@ class mod_quiz_external_testcase extends externallib_advanced_testcase {
$result = mod_quiz_external::get_quiz_feedback_for_grade($this->quiz->id, 50);
$result = external_api::clean_returnvalue(mod_quiz_external::get_quiz_feedback_for_grade_returns(), $result);
$this->assertEquals('Feedback text 1', $result['feedbacktext']);
$this->assertEquals($filename, $result['feedbackinlinefiles'][0]['filename']);
$this->assertEquals(FORMAT_HTML, $result['feedbacktextformat']);
$result = mod_quiz_external::get_quiz_feedback_for_grade($this->quiz->id, 30);