From 7051f3a8828665f4fab37c8db91322fec85a64db Mon Sep 17 00:00:00 2001 From: Tim Hunt Date: Tue, 14 Jan 2014 13:40:11 +0000 Subject: [PATCH] MDL-43690 quiz_question_tostring missing s(). This meant that the edit quiz page sometimes had invalid HTML. --- mod/quiz/editlib.php | 2 +- mod/quiz/tests/editlib_test.php | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/mod/quiz/editlib.php b/mod/quiz/editlib.php index 13a42778018..4929c925374 100644 --- a/mod/quiz/editlib.php +++ b/mod/quiz/editlib.php @@ -1018,7 +1018,7 @@ function quiz_question_tostring($question, $showicon = false, $questiontext = shorten_text($questiontext, 200); $result .= ''; if (!empty($questiontext)) { - $result .= $questiontext; + $result .= s($questiontext); } else { $result .= ''; $result .= get_string('questiontextisempty', 'quiz'); diff --git a/mod/quiz/tests/editlib_test.php b/mod/quiz/tests/editlib_test.php index 1bcc14b0b7e..a1b011dd5bb 100644 --- a/mod/quiz/tests/editlib_test.php +++ b/mod/quiz/tests/editlib_test.php @@ -82,4 +82,16 @@ class mod_quiz_editlib_testcase extends basic_testcase { $this->assertEquals(quiz_add_page_break_at('1,2,0', 2), '1,2,0,0'); $this->assertEquals(quiz_add_page_break_at('1,2,0', 3), '1,2,0'); } + + public function test_quiz_question_tostring() { + $question = new stdClass(); + $question->qtype = 'multichoice'; + $question->name = 'The question name'; + $question->questiontext = '

What sort of inequality is x < y?

'; + $question->questiontextformat = FORMAT_HTML; + + $summary = quiz_question_tostring($question); + $this->assertEquals('The question name' . + 'What sort of INEQUALITY is x < y[?]', $summary); + } }