MDL-47494 gapselect: Merge branch 'wip_lib_php_fixes_2_1' into wip_lib_fixes
authorJamie Pratt <me@jamiep.org>
Thu, 21 Jun 2012 07:22:00 +0000 (14:22 +0700)
committerJamie Pratt <me@jamiep.org>
Thu, 21 Jun 2012 07:22:00 +0000 (14:22 +0700)
Conflicts:
lib.php
Merge branch 'wip_lib_php_fixes_2_1' into wip_lib_fixes

Conflicts:
lib.php

12 files changed:
question/type/gapselect/README.txt
question/type/gapselect/db/install.xml
question/type/gapselect/lang/en/qtype_gapselect.php
question/type/gapselect/lang/ru/qtype_gapselect.php [new file with mode: 0644]
question/type/gapselect/lib.php
question/type/gapselect/questiontype.php
question/type/gapselect/questiontypebase.php
question/type/gapselect/tests/helper.php [moved from question/type/gapselect/simpletest/helper.php with 100% similarity]
question/type/gapselect/tests/question_test.php [moved from question/type/gapselect/simpletest/testquestion.php with 81% similarity]
question/type/gapselect/tests/questiontype_test.php [moved from question/type/gapselect/simpletest/testquestiontype.php with 91% similarity]
question/type/gapselect/tests/walkthrough_test.php [moved from question/type/gapselect/simpletest/testwalkthrough.php with 95% similarity]
question/type/gapselect/version.php

index 2ca69d4..9db032b 100644 (file)
@@ -12,9 +12,9 @@ the Open University (http://www.open.ac.uk/).
 This question type is compatible with Moodle 2.1+.
 
 To install using git, type this command in the root of your Moodle install
-    git clone -b MOODLE_21_STABLE git://github.com/moodleou/moodle-qtype_gapselect.git question/type/gapselect
+    git clone git://github.com/moodleou/moodle-qtype_gapselect.git question/type/gapselect
 Then add question/type/gapselect to your git ignore.
 
 Alternatively, download the zip from
-    https://github.com/moodleou/moodle-qtype_gapselect/zipball/MOODLE_21_STABLE
+    https://github.com/moodleou/moodle-qtype_gapselect/zipball/master
 unzip it into the question/type folder, and then rename the new folder to gapselect.
index cfab23d..2103bd3 100644 (file)
@@ -19,7 +19,7 @@
       </FIELDS>
       <KEYS>
         <KEY NAME="primary" TYPE="primary" FIELDS="id" NEXT="questionid"/>
-        <KEY NAME="questionid" TYPE="foreign" FIELDS="questionid" REFTABLE="questions" REFFIELDS="id" PREVIOUS="primary"/>
+        <KEY NAME="questionid" TYPE="foreign" FIELDS="questionid" REFTABLE="question" REFFIELDS="id" PREVIOUS="primary"/>
       </KEYS>
     </TABLE>
   </TABLES>
index e110520..66ff0ef 100644 (file)
  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  */
 
-$string['addinggapselect'] = 'Adding a select missing words question';
 $string['addmorechoiceblanks'] = 'Blanks for {no} more choices';
 $string['answer'] = 'Answer';
 $string['choices'] = 'Choices';
 $string['choicex'] = 'Choice {no}';
 $string['correctansweris'] = 'The correct answer is: {$a}';
-$string['editinggapselect'] = 'Editing a select missing words question';
 $string['errorblankchoice'] = 'Please check the Choices: Choice {$a} is empty.';
 $string['errormissingchoice'] = 'Please check the Question text: {$a} was not found in Choices! Only the choice numbers that exist in choices are allowed to be used a place holders.';
 $string['errornoslots'] = 'The question text must contain placeholders like [[1]] to show where the missing words go.';
 $string['errorquestiontextblank'] = 'You must enter some question text.';
-$string['gapselect'] = 'Select missing words';
-$string['gapselect_help'] = 'Type in some question text like "The [[1]] jumped over the [[2]]", then enter the possible words to go in gaps 1 and 2 underneath.';
-$string['gapselectsummary'] = 'Missing words in some text are filled in using dropdown menus.';
 $string['group'] = 'Group';
 $string['pleaseputananswerineachbox'] = 'Please put an answer in each box.';
 $string['pluginname'] = 'Select missing words';
+$string['pluginname_help'] = 'Type in some question text like "The [[1]] jumped over the [[2]]", then enter the possible words to go in gaps 1 and 2 underneath.';
+$string['pluginname_link'] = 'question/type/gapselect';
+$string['pluginnameadding'] = 'Adding a select missing words question';
+$string['pluginnameediting'] = 'Editing a select missing words question';
+$string['pluginnamesummary'] = 'Missing words in some text are filled in using dropdown menus.';
 $string['shuffle'] = 'Shuffle';
diff --git a/question/type/gapselect/lang/ru/qtype_gapselect.php b/question/type/gapselect/lang/ru/qtype_gapselect.php
new file mode 100644 (file)
index 0000000..0e337ab
--- /dev/null
@@ -0,0 +1,42 @@
+<?php
+
+// This file is part of Moodle - http://moodle.org/
+//
+// Moodle is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Moodle is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
+
+/**
+ * Local language pack from http://www.moodle.vsu.ru
+ *
+ * @package    qtype
+ * @subpackage gapselect
+ * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+$string['addmorechoiceblanks'] = 'Шаблоны для ещё {no} вариантов';
+$string['answer'] = 'Ответ';
+$string['choices'] = 'Варианты выбора';
+$string['choicex'] = 'Вариант {no}';
+$string['correctansweris'] = 'Верный ответ: {$a}';
+$string['errorblankchoice'] = 'Пожалуйста, проверьте варианты выбора: вариант выбора {$a} пуст.';
+$string['errormissingchoice'] = 'Пожалуйста, проверьте текст вопроса: {$a} не найден среди вариантов выбора! Только номера ответов, которые существуют в вариантах выбора могут быть использованы как метки-заполнители.';
+$string['errornoslots'] = 'Текст вопроса должен содержать метки-заполнители, например [[1]], для обозначения местонахождения пропущенных слов.';
+$string['errorquestiontextblank'] = 'Вы должны ввести какой-либо текст.';
+$string['group'] = 'Группа';
+$string['pleaseputananswerineachbox'] = 'Пожалуйста, добавьте ответ в каждую ячейку';
+$string['pluginname'] = 'Выбрать пропущенные слова';
+$string['pluginnameadding'] = 'Добавить вопрос на выборку пропущенных слов';
+$string['pluginnameediting'] = 'Редактировать вопрос на выборку пропущенных слов';
+$string['pluginnamesummary'] = 'Пропущенные слова в тексте заполняются с помощью выпадающего меню.';
+$string['pluginname_help'] = 'Напишите текст, например "[[1]] перепрыгивает через [[2]]", затем введите возможные слова для меток 1 и 2 внизу';
+$string['shuffle'] = 'Перемешать';
index 3b5f473..25f2b02 100644 (file)
@@ -30,9 +30,9 @@ defined('MOODLE_INTERNAL') || die();
 /**
  * Checks file access for gapselect questions.
  */
-function qtype_gapselect_pluginfile($course, $cm, $context, $filearea, $args, $forcedownload) {
+function qtype_gapselect_pluginfile($course, $cm, $context, $filearea, $args, $forcedownload, array $options=array()) {
     global $CFG;
     require_once($CFG->libdir . '/questionlib.php');
-    question_pluginfile($course, $context, 'qtype_gapselect', $filearea, $args, $forcedownload);
+    question_pluginfile($course, $context, 'qtype_gapselect', $filearea, $args, $forcedownload, $options);
 }
 
index c3712e0..3850955 100644 (file)
@@ -56,7 +56,7 @@ class qtype_gapselect extends qtype_gapselect_base {
         return 'selectgroup';
     }
 
-    public function import_from_xml($data, $question, $format, $extra=null) {
+    public function import_from_xml($data, $question, qformat_xml $format, $extra=null) {
         if (!isset($data['@']['type']) || $data['@']['type'] != 'gapselect') {
             return false;
         }
@@ -100,7 +100,7 @@ class qtype_gapselect extends qtype_gapselect_base {
         return $question;
     }
 
-    public function export_to_xml($question, $format, $extra = null) {
+    public function export_to_xml($question, qformat_xml $format, $extra = null) {
         $output = '';
 
         $output .= '    <shuffleanswers>' . $question->options->shuffleanswers .
index 63e19fc..ec13a33 100644 (file)
@@ -313,10 +313,12 @@ abstract class qtype_gapselect_base extends question_type {
     public function move_files($questionid, $oldcontextid, $newcontextid) {
         parent::move_files($questionid, $oldcontextid, $newcontextid);
         $this->move_files_in_combined_feedback($questionid, $oldcontextid, $newcontextid);
+        $this->move_files_in_hints($questionid, $oldcontextid, $newcontextid);
     }
 
     protected function delete_files($questionid, $contextid) {
         parent::delete_files($questionid, $contextid);
         $this->delete_files_in_combined_feedback($questionid, $contextid);
+        $this->delete_files_in_hints($questionid, $contextid);
     }
 }
  *
  * @package    qtype
  * @subpackage gapselect
- * @copyright  2011 The Open University
+ * @copyright  2012 The Open University
  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  */
 
 
 defined('MOODLE_INTERNAL') || die();
+global $CFG;
 
-require_once($CFG->dirroot . '/question/engine/simpletest/helpers.php');
-require_once($CFG->dirroot . '/question/type/gapselect/simpletest/helper.php');
+require_once($CFG->dirroot . '/question/engine/tests/helpers.php');
+require_once($CFG->dirroot . '/question/type/gapselect/tests/helper.php');
 
 
 /**
  * Unit tests for the select missing words question definition class.
  *
- * @copyright  2009 The Open University
+ * @copyright  2012 The Open University
  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ * @group      qtype_gapselect
  */
-class qtype_gapselect_question_test extends UnitTestCase {
+class qtype_gapselect_question_test extends basic_testcase {
 
     public function test_get_question_summary() {
         $gapselect = qtype_gapselect_test_helper::make_a_gapselect_question();
-        $this->assertEqual('The [[1]] brown [[2]] jumped over the [[3]] dog.; ' .
+        $this->assertEquals('The [[1]] brown [[2]] jumped over the [[3]] dog.; ' .
                 '[[1]] -> {quick / slow}; [[2]] -> {fox / dog}; [[3]] -> {lazy / assiduous}',
                 $gapselect->get_question_summary());
     }
 
     public function test_get_question_summary_maths() {
         $gapselect = qtype_gapselect_test_helper::make_a_maths_gapselect_question();
-        $this->assertEqual('Fill in the operators to make this equation work: ' .
+        $this->assertEquals('Fill in the operators to make this equation work: ' .
                 '7 [[1]] 11 [[2]] 13 [[1]] 17 [[2]] 19 = 3; [[1]] -> {+ / - / * / /}',
                 $gapselect->get_question_summary());
     }
@@ -57,7 +59,7 @@ class qtype_gapselect_question_test extends UnitTestCase {
         $gapselect->shufflechoices = false;
         $gapselect->start_attempt(new question_attempt_step(), 1);
 
-        $this->assertEqual('{quick} {fox} {lazy}',
+        $this->assertEquals('{quick} {fox} {lazy}',
                 $gapselect->summarise_response(array('p1' => '1', 'p2' => '1', 'p3' => '1')));
     }
 
@@ -66,18 +68,18 @@ class qtype_gapselect_question_test extends UnitTestCase {
         $gapselect->shufflechoices = false;
         $gapselect->start_attempt(new question_attempt_step(), 1);
 
-        $this->assertEqual('{+} {-} {+} {-}', $gapselect->summarise_response(
+        $this->assertEquals('{+} {-} {+} {-}', $gapselect->summarise_response(
                 array('p1' => '1', 'p2' => '2', 'p3' => '1', 'p4' => '2')));
     }
 
     public function test_get_random_guess_score() {
         $gapselect = qtype_gapselect_test_helper::make_a_gapselect_question();
-        $this->assertEqual(0.5, $gapselect->get_random_guess_score());
+        $this->assertEquals(0.5, $gapselect->get_random_guess_score());
     }
 
     public function test_get_random_guess_score_maths() {
         $gapselect = qtype_gapselect_test_helper::make_a_maths_gapselect_question();
-        $this->assertEqual(0.25, $gapselect->get_random_guess_score());
+        $this->assertEquals(0.25, $gapselect->get_random_guess_score());
     }
 
     public function test_get_right_choice_for() {
@@ -85,8 +87,8 @@ class qtype_gapselect_question_test extends UnitTestCase {
         $gapselect->shufflechoices = false;
         $gapselect->start_attempt(new question_attempt_step(), 1);
 
-        $this->assertEqual(1, $gapselect->get_right_choice_for(1));
-        $this->assertEqual(1, $gapselect->get_right_choice_for(2));
+        $this->assertEquals(1, $gapselect->get_right_choice_for(1));
+        $this->assertEquals(1, $gapselect->get_right_choice_for(2));
     }
 
     public function test_get_right_choice_for_maths() {
@@ -94,8 +96,8 @@ class qtype_gapselect_question_test extends UnitTestCase {
         $gapselect->shufflechoices = false;
         $gapselect->start_attempt(new question_attempt_step(), 1);
 
-        $this->assertEqual(1, $gapselect->get_right_choice_for(1));
-        $this->assertEqual(2, $gapselect->get_right_choice_for(2));
+        $this->assertEquals(1, $gapselect->get_right_choice_for(1));
+        $this->assertEquals(2, $gapselect->get_right_choice_for(2));
     }
 
     public function test_clear_wrong_from_response() {
@@ -104,7 +106,7 @@ class qtype_gapselect_question_test extends UnitTestCase {
         $gapselect->start_attempt(new question_attempt_step(), 1);
 
         $initialresponse = array('p1' => '1', 'p2' => '1', 'p3' => '1', 'p4' => '1');
-        $this->assertEqual(array('p1' => '1', 'p2' => '0', 'p3' => '1', 'p4' => '0'),
+        $this->assertEquals(array('p1' => '1', 'p2' => '0', 'p3' => '1', 'p4' => '0'),
                 $gapselect->clear_wrong_from_response($initialresponse));
     }
 
@@ -113,9 +115,9 @@ class qtype_gapselect_question_test extends UnitTestCase {
         $gapselect->shufflechoices = false;
         $gapselect->start_attempt(new question_attempt_step(), 1);
 
-        $this->assertEqual(array(2, 3),
+        $this->assertEquals(array(2, 3),
                 $gapselect->get_num_parts_right(array('p1' => '1', 'p2' => '1', 'p3' => '2')));
-        $this->assertEqual(array(3, 3),
+        $this->assertEquals(array(3, 3),
                 $gapselect->get_num_parts_right(array('p1' => '1', 'p2' => '1', 'p3' => '1')));
     }
 
@@ -124,7 +126,7 @@ class qtype_gapselect_question_test extends UnitTestCase {
         $gapselect->shufflechoices = false;
         $gapselect->start_attempt(new question_attempt_step(), 1);
 
-        $this->assertEqual(array(2, 4), $gapselect->get_num_parts_right(
+        $this->assertEquals(array(2, 4), $gapselect->get_num_parts_right(
                 array('p1' => '1', 'p2' => '1', 'p3' => '1', 'p4' => '1')));
     }
 
@@ -132,7 +134,7 @@ class qtype_gapselect_question_test extends UnitTestCase {
         $gapselect = qtype_gapselect_test_helper::make_a_gapselect_question();
         $gapselect->start_attempt(new question_attempt_step(), 1);
 
-        $this->assertEqual(array('p1' => PARAM_INT, 'p2' => PARAM_INT, 'p3' => PARAM_INT),
+        $this->assertEquals(array('p1' => PARAM_INT, 'p2' => PARAM_INT, 'p3' => PARAM_INT),
                 $gapselect->get_expected_data());
     }
 
@@ -141,7 +143,7 @@ class qtype_gapselect_question_test extends UnitTestCase {
         $gapselect->shufflechoices = false;
         $gapselect->start_attempt(new question_attempt_step(), 1);
 
-        $this->assertEqual(array('p1' => '1', 'p2' => '1', 'p3' => '1'),
+        $this->assertEquals(array('p1' => '1', 'p2' => '1', 'p3' => '1'),
                 $gapselect->get_correct_response());
     }
 
@@ -150,7 +152,7 @@ class qtype_gapselect_question_test extends UnitTestCase {
         $gapselect->shufflechoices = false;
         $gapselect->start_attempt(new question_attempt_step(), 1);
 
-        $this->assertEqual(array('p1' => '1', 'p2' => '2', 'p3' => '1', 'p4' => '2'),
+        $this->assertEquals(array('p1' => '1', 'p2' => '2', 'p3' => '1', 'p4' => '2'),
                 $gapselect->get_correct_response());
     }
 
@@ -209,11 +211,11 @@ class qtype_gapselect_question_test extends UnitTestCase {
         $gapselect->shufflechoices = false;
         $gapselect->start_attempt(new question_attempt_step(), 1);
 
-        $this->assertEqual(array(1, question_state::$gradedright),
+        $this->assertEquals(array(1, question_state::$gradedright),
                 $gapselect->grade_response(array('p1' => '1', 'p2' => '1', 'p3' => '1')));
-        $this->assertEqual(array(1/3, question_state::$gradedpartial),
+        $this->assertEquals(array(1/3, question_state::$gradedpartial),
                 $gapselect->grade_response(array('p1' => '1')));
-        $this->assertEqual(array(0, question_state::$gradedwrong),
+        $this->assertEquals(array(0, question_state::$gradedwrong),
                 $gapselect->grade_response(array('p1' => '2', 'p2' => '2', 'p3' => '2')));
     }
 
@@ -222,11 +224,11 @@ class qtype_gapselect_question_test extends UnitTestCase {
         $gapselect->shufflechoices = false;
         $gapselect->start_attempt(new question_attempt_step(), 1);
 
-        $this->assertEqual(array(1, question_state::$gradedright), $gapselect->grade_response(
+        $this->assertEquals(array(1, question_state::$gradedright), $gapselect->grade_response(
                 array('p1' => '1', 'p2' => '2', 'p3' => '1', 'p4' => '2')));
-        $this->assertEqual(array(0.5, question_state::$gradedpartial), $gapselect->grade_response(
+        $this->assertEquals(array(0.5, question_state::$gradedpartial), $gapselect->grade_response(
                 array('p1' => '1', 'p2' => '1', 'p3' => '1', 'p4' => '1')));
-        $this->assertEqual(array(0, question_state::$gradedwrong), $gapselect->grade_response(
+        $this->assertEquals(array(0, question_state::$gradedwrong), $gapselect->grade_response(
                 array('p1' => '0', 'p2' => '1', 'p3' => '2', 'p4' => '1')));
     }
 
@@ -235,12 +237,12 @@ class qtype_gapselect_question_test extends UnitTestCase {
         $gapselect->shufflechoices = false;
         $gapselect->start_attempt(new question_attempt_step(), 1);
 
-        $this->assertEqual(array(
+        $this->assertEquals(array(
                     1 => new question_classified_response(1, 'quick', 1/3),
                     2 => new question_classified_response(2, 'dog', 0),
                     3 => new question_classified_response(1, 'lazy', 1/3),
                 ), $gapselect->classify_response(array('p1' => '1', 'p2' => '2', 'p3' => '1')));
-        $this->assertEqual(array(
+        $this->assertEquals(array(
                     1 => question_classified_response::no_response(),
                     2 => new question_classified_response(1, 'fox', 1/3),
                     3 => new question_classified_response(2, 'assiduous', 0),
  *
  * @package    qtype
  * @subpackage gapselect
- * @copyright  2011 The Open University
+ * @copyright  2012 The Open University
  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  */
 
 
 defined('MOODLE_INTERNAL') || die();
+global $CFG;
 
-require_once($CFG->dirroot . '/question/engine/simpletest/helpers.php');
-require_once($CFG->dirroot . '/question/type/gapselect/simpletest/helper.php');
+require_once($CFG->dirroot . '/question/engine/tests/helpers.php');
+require_once($CFG->dirroot . '/question/type/gapselect/tests/helper.php');
 
 
 /**
  * Unit tests for the select missing words question definition class.
  *
- * @copyright  2011 The Open University
+ * @copyright  2012 The Open University
  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ * @group      qtype_gapselect
  */
-class qtype_gapselect_test extends UnitTestCase {
+class qtype_gapselect_test extends question_testcase {
     /** @var qtype_gapselect instance of the question type class to test. */
     protected $qtype;
 
-    public function setUp() {
+    protected function setUp() {
         $this->qtype = question_bank::get_qtype('gapselect');;
     }
 
-    public function tearDown() {
+    protected function tearDown() {
         $this->qtype = null;
     }
 
     public function assert_same_xml($expectedxml, $xml) {
-        $this->assertEqual(str_replace("\r\n", "\n", $expectedxml),
+        $this->assertEquals(str_replace("\r\n", "\n", $expectedxml),
                 str_replace("\r\n", "\n", $xml));
     }
 
@@ -83,6 +85,7 @@ class qtype_gapselect_test extends UnitTestCase {
         $gapselect->generalfeedback = 'This sentence uses each letter of the alphabet.';
         $gapselect->qtype = 'gapselect';
 
+        $gapselect->options = new stdClass();
         $gapselect->options->shuffleanswers = true;
 
         test_question_maker::set_standard_combined_feedback_fields($gapselect->options);
@@ -100,7 +103,7 @@ class qtype_gapselect_test extends UnitTestCase {
     }
 
     public function test_name() {
-        $this->assertEqual($this->qtype->name(), 'gapselect');
+        $this->assertEquals($this->qtype->name(), 'gapselect');
     }
 
     public function test_can_analyse_responses() {
@@ -116,18 +119,18 @@ class qtype_gapselect_test extends UnitTestCase {
 
         $q = $this->qtype->make_question($qdata);
 
-        $this->assertEqual($expected, $q);
+        $this->assertEquals($expected, $q);
     }
 
     public function test_get_random_guess_score() {
         $q = $this->get_test_question_data();
-        $this->assertWithinMargin(0.5, $this->qtype->get_random_guess_score($q), 0.0000001);
+        $this->assertEquals(0.5, $this->qtype->get_random_guess_score($q), '', 0.0000001);
     }
 
     public function test_get_possible_responses() {
         $q = $this->get_test_question_data();
 
-        $this->assertEqual(array(
+        $this->assertEquals(array(
             1 => array(
                 1 => new question_possible_response('quick', 1/3),
                 2 => new question_possible_response('slow', 0),
@@ -180,11 +183,11 @@ class qtype_gapselect_test extends UnitTestCase {
       <text>Gamma</text>
       <group>1</group>
     </selectoption>
-    <hint>
+    <hint format="moodle_auto_format">
       <text>Try again.</text>
       <shownumcorrect />
     </hint>
-    <hint>
+    <hint format="moodle_auto_format">
       <text>These are the first three letters of the Greek alphabet.</text>
       <shownumcorrect />
       <clearwrong />
@@ -228,9 +231,8 @@ class qtype_gapselect_test extends UnitTestCase {
                         'format' => FORMAT_MOODLE, 'files' => array()));
         $expectedq->hintshownumcorrect = array(true, true);
         $expectedq->hintclearwrong = array(false, true);
-
-        $this->assert(new CheckSpecifiedFieldsExpectation($expectedq), $q);
-        $this->assertEqual($expectedq->hint, $q->hint);
+        $this->assert(new question_check_specified_fields_expectation($expectedq), $q);
+        $this->assertEquals($expectedq->hint, $q->hint);
     }
 
     public function test_xml_export() {
@@ -248,6 +250,7 @@ class qtype_gapselect_test extends UnitTestCase {
         $qdata->penalty = 0.3333333;
         $qdata->hidden = 0;
 
+        $qdata->options = new stdClass();
         $qdata->options->shuffleanswers = 1;
         $qdata->options->correctfeedback = '<p>Your answer is correct.</p>';
         $qdata->options->correctfeedbackformat = FORMAT_MOODLE;
  *
  * @package    qtype
  * @subpackage gapselect
- * @copyright  2011 The Open University
+ * @copyright  2012 The Open University
  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  */
 
 
 defined('MOODLE_INTERNAL') || die();
+global $CFG;
 
-require_once($CFG->dirroot . '/question/engine/simpletest/helpers.php');
-require_once($CFG->dirroot . '/question/type/gapselect/simpletest/helper.php');
+require_once($CFG->dirroot . '/question/engine/tests/helpers.php');
+require_once($CFG->dirroot . '/question/type/gapselect/tests/helper.php');
 
 
 /**
  * Unit tests for the gap-select question type.
  *
- * @copyright  2011 The Open University
+ * @copyright  2012 The Open University
  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ * @group      qtype_gapselect
  */
 class qtype_gapselect_walkthrough_test extends qbehaviour_walkthrough_test_base {
     public function test_interactive_behaviour() {
@@ -99,7 +101,7 @@ class qtype_gapselect_walkthrough_test extends qbehaviour_walkthrough_test_base
                         $this->get_contains_submit_button_expectation(false),
                 $this->get_contains_try_again_button_expectation(true),
                 $this->get_does_not_contain_correctness_expectation(),
-                new PatternExpectation('/' . preg_quote(
+                new question_pattern_expectation('/' . preg_quote(
                         get_string('notcomplete', 'qbehaviour_interactive')) . '/'),
                 $this->get_contains_hint_expectation('This is the first hint'));
 
index 8ce32d1..89d6e00 100644 (file)
@@ -25,7 +25,7 @@
 defined('MOODLE_INTERNAL') || die();
 
 $plugin->version  = 2011020100;
-$plugin->requires = 2011070100;
+$plugin->requires = 2011120500;
 $plugin->cron      = 0;
 $plugin->component = 'qtype_gapselect';
 $plugin->maturity  = MATURITY_STABLE;