Permalink
Browse files

qformat_gift MDL-26059 fails to import truefalse questions with answe…

…r true.
  • Loading branch information...
1 parent 5a7f931 commit 2c00fa161eafc828fd537a9d8dca461f5528eda8 @timhunt timhunt committed Jan 18, 2011
Showing with 69 additions and 1 deletion.
  1. +1 −1 question/format/gift/format.php
  2. +68 −0 question/format/gift/simpletest/testgiftformat.php
@@ -392,7 +392,7 @@ function readquestion($lines) {
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;
@@ -659,6 +659,74 @@ public function test_import_truefalse() {
$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 ,

0 comments on commit 2c00fa1

Please sign in to comment.