MDL-28579 scorm: Fix broken unit tests
This commit is contained in:
@@ -36,42 +36,60 @@ require_once($CFG->dirroot . '/mod/scorm/locallib.php');
|
||||
* @copyright 2013 Dan Marsden
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class mod_scorm_validatepackage_testcase extends basic_testcase {
|
||||
class mod_scorm_validatepackage_testcase extends advanced_testcase {
|
||||
|
||||
/**
|
||||
* Convenience to take a fixture test file and create a stored_file.
|
||||
*
|
||||
* @param string $filepath
|
||||
* @return stored_file
|
||||
*/
|
||||
protected function create_stored_file_from_path($filepath) {
|
||||
$syscontext = context_system::instance();
|
||||
$filerecord = array(
|
||||
'contextid' => $syscontext->id,
|
||||
'component' => 'mod_scorm',
|
||||
'filearea' => 'unittest',
|
||||
'itemid' => 0,
|
||||
'filepath' => '/',
|
||||
'filename' => basename($filepath)
|
||||
);
|
||||
|
||||
$fs = get_file_storage();
|
||||
return $fs->create_file_from_pathname($filerecord, $filepath);
|
||||
}
|
||||
|
||||
|
||||
public function test_validate_package() {
|
||||
global $CFG;
|
||||
|
||||
$this->resetAfterTest(true);
|
||||
|
||||
$filename = "validscorm.zip";
|
||||
$file = new zip_archive();
|
||||
$file->open($CFG->dirroot.'/mod/scorm/tests/packages/'.$filename, file_archive::OPEN);
|
||||
$file = $this->create_stored_file_from_path($CFG->dirroot.'/mod/scorm/tests/packages/'.$filename, file_archive::OPEN);
|
||||
$errors = scorm_validate_package($file);
|
||||
$this->assertEmpty($errors);
|
||||
$file->close();
|
||||
|
||||
$filename = "validaicc.zip";
|
||||
$file = new zip_archive();
|
||||
$file->open($CFG->dirroot.'/mod/scorm/tests/packages/'.$filename, file_archive::OPEN);
|
||||
$file = $this->create_stored_file_from_path($CFG->dirroot.'/mod/scorm/tests/packages/'.$filename, file_archive::OPEN);
|
||||
$errors = scorm_validate_package($file);
|
||||
$this->assertEmpty($errors);
|
||||
$file->close();
|
||||
|
||||
$filename = "invalid.zip";
|
||||
$file = new zip_archive();
|
||||
$file->open($CFG->dirroot.'/mod/scorm/tests/packages/'.$filename, file_archive::OPEN);
|
||||
$file = $this->create_stored_file_from_path($CFG->dirroot.'/mod/scorm/tests/packages/'.$filename, file_archive::OPEN);
|
||||
$errors = scorm_validate_package($file);
|
||||
$this->assertArrayHasKey('packagefile', $errors);
|
||||
if (isset($errors['packagefile'])) {
|
||||
$this->assertEquals(get_string('nomanifest', 'scorm'), $errors['packagefile']);
|
||||
}
|
||||
$file->close();
|
||||
|
||||
$filename = "badscorm.zip";
|
||||
$file = new zip_archive();
|
||||
$file->open($CFG->dirroot.'/mod/scorm/tests/packages/'.$filename, file_archive::OPEN);
|
||||
$file = $this->create_stored_file_from_path($CFG->dirroot.'/mod/scorm/tests/packages/'.$filename, file_archive::OPEN);
|
||||
$errors = scorm_validate_package($file);
|
||||
$this->assertArrayHasKey('packagefile', $errors);
|
||||
if (isset($errors['packagefile'])) {
|
||||
$this->assertEquals(get_string('badimsmanifestlocation', 'scorm'), $errors['packagefile']);
|
||||
}
|
||||
$file->close();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user