MDL-55127 mod_data: Search entries fixes

- If the database contains has than 4 valid fields all fields from the 4th one
  to the last one will be merged into the 4th one so we index all entry contents
- get_content_value now receives the whole data_content record as fields may need
  other values than just the content to prepare the value
- phpunit database generator changes to separate checkboxes from radio buttons options
  and to separate multimenu options from menu options
This commit is contained in:
David Monllao
2016-08-25 16:50:15 +08:00
parent c52d34b255
commit fa90f52986
8 changed files with 57 additions and 37 deletions
+5 -5
View File
@@ -186,9 +186,9 @@ class mod_data_generator_testcase extends advanced_testcase {
$contents[] = array('opt1', 'opt2', 'opt3', 'opt4');
$contents[] = '01-01-2037'; // It should be lower than 2038, to avoid failing on 32-bit windows.
$contents[] = 'menu1';
$contents[] = array('menu1', 'menu2', 'menu3', 'menu4');
$contents[] = array('multimenu1', 'multimenu2', 'multimenu3', 'multimenu4');
$contents[] = '12345';
$contents[] = 'opt1';
$contents[] = 'radioopt1';
$contents[] = 'text for testing';
$contents[] = '<p>text area testing<br /></p>';
$contents[] = array('example.url', 'sampleurl');
@@ -221,13 +221,13 @@ class mod_data_generator_testcase extends advanced_testcase {
$this->assertEquals($contents[$contentstartid]->content, 'opt1##opt2##opt3##opt4');
$this->assertEquals($contents[++$contentstartid]->content, '2114380800');
$this->assertEquals($contents[++$contentstartid]->content, 'menu1');
$this->assertEquals($contents[++$contentstartid]->content, 'menu1##menu2##menu3##menu4');
$this->assertEquals($contents[++$contentstartid]->content, 'multimenu1##multimenu2##multimenu3##multimenu4');
$this->assertEquals($contents[++$contentstartid]->content, '12345');
$this->assertEquals($contents[++$contentstartid]->content, 'opt1');
$this->assertEquals($contents[++$contentstartid]->content, 'radioopt1');
$this->assertEquals($contents[++$contentstartid]->content, 'text for testing');
$this->assertEquals($contents[++$contentstartid]->content, '<p>text area testing<br /></p>');
$this->assertEquals($contents[$contentstartid]->content1, '1');
$this->assertEquals($contents[++$contentstartid]->content, 'http://example.url');
$this->assertEquals($contents[$contentstartid]->content1, 'sampleurl');
}
}
}