Permalink
Browse files

Merge branch 'MDL-59447-34' of https://github.com/nwp90/moodle into M…

…OODLE_34_STABLE
  • Loading branch information...
dmonllao committed Jul 17, 2018
2 parents c0a2bba + a29d421 commit 9c48f36931d58d92866f0ab562a654d3e0ea670e
Showing with 34 additions and 2 deletions.
  1. +4 −0 question/format/gift/format.php
  2. +30 −2 question/format/gift/tests/giftformat_test.php
@@ -338,6 +338,10 @@ public function readquestion($lines) {
return $question;
case 'multichoice':
// "Temporary" solution to enable choice of answernumbering on GIFT import
// by respecting default set for multichoice questions (MDL-59447)
$question->answernumbering = get_config('qtype_multichoice', 'answernumbering');
if (strpos($answertext, "=") === false) {
$question->single = 0; // Multiple answers are enabled if no single answer is 100% correct.
} else {
@@ -267,7 +267,18 @@ public function test_export_match() {
$this->assert_same_gift($expectedgift, $gift);
}
public function test_import_multichoice() {
/**
* Test import of multichoice question in GIFT format
*
* @dataProvider numberingstyle_provider
*
* @param string $numberingstyle multichoice numbering style to set for qtype_multichoice
*
*/
public function test_import_multichoice($numberingstyle) {
$this->resetAfterTest(true);
set_config('answernumbering', $numberingstyle, 'qtype_multichoice');
$gift = "
// multiple choice with specified feedback for right and wrong answers
::Q2:: What's between orange and green in the spectrum?
@@ -293,7 +304,7 @@ public function test_import_multichoice() {
'length' => 1,
'single' => 1,
'shuffleanswers' => '1',
'answernumbering' => 'abc',
'answernumbering' => $numberingstyle,
'correctfeedback' => array(
'text' => '',
'format' => FORMAT_MOODLE,
@@ -352,6 +363,23 @@ public function test_import_multichoice() {
$this->assert(new question_check_specified_fields_expectation($expectedq), $q);
}
/**
* Return a list of numbering styles (see question/type/multichoice/questiontype.php
* for valid choices)
*
* @return array Array of 1-element arrays of qtype_multichoice numbering styles
*/
public function numberingstyle_provider() {
return [
['abc'],
['ABCD'],
['123'],
['iii'],
['IIII'],
['none']
];
}
public function test_import_multichoice_multi() {
$gift = "
// multiple choice, multiple response with specified feedback for right and wrong answers

0 comments on commit 9c48f36

Please sign in to comment.