$question->generalfeedbackformat = !empty($form->generalfeedback['format']) ?
$form->generalfeedback['format'] : 0;
- if (empty($question->name)) {
+ if ($question->name === '') {
$question->name = shorten_text(strip_tags($form->questiontext['text']), 15);
- if (empty($question->name)) {
+ if ($question->name === '') {
$question->name = '-';
}
}
* @copyright 2008 The Open University
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
-class question_type_test extends advanced_testcase {
+class question_type_testcase extends advanced_testcase {
public static $includecoverage = array('question/type/questiontypebase.php');
- public function test_not_done_yet() {
+ public function test_save_question_name() {
+ $this->resetAfterTest();
+ $questiongenerator = $this->getDataGenerator()->get_plugin_generator('core_question');
+ $cat = $questiongenerator->create_question_category(array());
+
+ $saq = $questiongenerator->create_question('shortanswer', null,
+ array('category' => $cat->id, 'name' => 'Test question'));
+ $actual = question_bank::load_question_data($saq->id);
+
+ $this->assertSame('Test question', $actual->name);
+ }
+
+ public function test_save_question_zero_name() {
+ $this->resetAfterTest();
+
+ $questiongenerator = $this->getDataGenerator()->get_plugin_generator('core_question');
+ $cat = $questiongenerator->create_question_category(array());
+
+ $saq = $questiongenerator->create_question('shortanswer', null,
+ array('category' => $cat->id, 'name' => '0'));
+ $actual = question_bank::load_question_data($saq->id);
+
+ $this->assertSame('0', $actual->name);
}
}