diff --git a/question/format/gift/format.php b/question/format/gift/format.php index 29780e858f5..e086691a21f 100755 --- a/question/format/gift/format.php +++ b/question/format/gift/format.php @@ -392,7 +392,7 @@ class qformat_gift extends qformat_default { list($answer, $wrongfeedback, $rightfeedback) = $this->split_truefalse_comment($answertext, $question->questiontextformat); - if ($answer == "T" OR $answer == "TRUE") { + if ($answer['text'] == "T" OR $answer['text'] == "TRUE") { $question->correctanswer = 1; $question->feedbacktrue = $rightfeedback; $question->feedbackfalse = $wrongfeedback; diff --git a/question/format/gift/simpletest/testgiftformat.php b/question/format/gift/simpletest/testgiftformat.php index da66ac7e4b0..113329a4dc5 100644 --- a/question/format/gift/simpletest/testgiftformat.php +++ b/question/format/gift/simpletest/testgiftformat.php @@ -659,6 +659,74 @@ FALSE#42 is the Ultimate Answer.#You gave the right answer.}"; $this->assert(new CheckSpecifiedFieldsExpectation($expectedq), $q); } + public function test_import_truefalse_true_answer1() { + $gift = "// name 0-11 +::2-08 TSL::TSL is blablabla.{T}"; + $lines = preg_split('/[\\n\\r]/', str_replace("\r\n", "\n", $gift)); + + $importer = new qformat_gift(); + $q = $importer->readquestion($lines); + + $expectedq = (object) array( + 'name' => '2-08 TSL', + 'questiontext' => "TSL is blablabla.", + 'questiontextformat' => FORMAT_MOODLE, + 'generalfeedback' => '', + 'generalfeedbackformat' => FORMAT_MOODLE, + 'qtype' => 'truefalse', + 'defaultgrade' => 1, + 'penalty' => 1, + 'length' => 1, + 'correctanswer' => 1, + 'feedbacktrue' => array( + 'text' => '', + 'format' => FORMAT_MOODLE, + 'files' => array(), + ), + 'feedbackfalse' => array( + 'text' => '', + 'format' => FORMAT_MOODLE, + 'files' => array(), + ), + ); + + $this->assert(new CheckSpecifiedFieldsExpectation($expectedq), $q); + } + + public function test_import_truefalse_true_answer2() { + $gift = "// name 0-11 +::2-08 TSL::TSL is blablabla.{TRUE}"; + $lines = preg_split('/[\\n\\r]/', str_replace("\r\n", "\n", $gift)); + + $importer = new qformat_gift(); + $q = $importer->readquestion($lines); + + $expectedq = (object) array( + 'name' => '2-08 TSL', + 'questiontext' => "TSL is blablabla.", + 'questiontextformat' => FORMAT_MOODLE, + 'generalfeedback' => '', + 'generalfeedbackformat' => FORMAT_MOODLE, + 'qtype' => 'truefalse', + 'defaultgrade' => 1, + 'penalty' => 1, + 'length' => 1, + 'correctanswer' => 1, + 'feedbacktrue' => array( + 'text' => '', + 'format' => FORMAT_MOODLE, + 'files' => array(), + ), + 'feedbackfalse' => array( + 'text' => '', + 'format' => FORMAT_MOODLE, + 'files' => array(), + ), + ); + + $this->assert(new CheckSpecifiedFieldsExpectation($expectedq), $q); + } + public function test_export_truefalse() { $qdata = (object) array( 'id' => 666 ,