Merge branch 'MDL-43000' of git://github.com/timhunt/moodle

This commit is contained in:
Dan Poltawski 2013-11-26 15:05:42 +08:00
commit bb29677965
2 changed files with 10 additions and 2 deletions

View File

@ -92,8 +92,10 @@ class qtype_shortanswer_question extends question_graded_by_strategy
$pattern = self::safe_normalize($pattern);
$string = self::safe_normalize($string);
// Break the string on non-escaped asterisks.
$bits = preg_split('/(?<!\\\\)\*/', $pattern);
// Break the string on non-escaped runs of asterisks.
// ** is equivalent to *, but people were doing that, and with many *s it breaks preg.
$bits = preg_split('/(?<!\\\\)\*+/', $pattern);
// Escape regexp special characters in the bits.
$escapedbits = array();
foreach ($bits as $bit) {

View File

@ -132,6 +132,12 @@ class qtype_shortanswer_question_test extends advanced_testcase {
'0', '*0*', false));
}
public function test_compare_string_with_wildcard_many_stars() {
// Test the classic PHP problem case with '0'.
$this->assertTrue((bool)qtype_shortanswer_question::compare_string_with_wildcard(
'<em></em>', '***********************************<em>***********************************</em>', false));
}
public function test_is_complete_response() {
$question = test_question_maker::make_question('shortanswer');