Only allowing 'not attempted' when CMI has not been initialized

This commit is contained in:
Jonathan Putney
2021-04-19 15:50:35 -04:00
parent 6d1eabc3fc
commit 1a5d8d3241
6 changed files with 32 additions and 10 deletions
+7 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "scorm-again",
"version": "1.5.2",
"version": "1.5.3",
"description": "A modern SCORM JavaScript run-time library for AICC, SCORM 1.2, and SCORM 2004",
"main": "dist/scorm-again.min.js",
"directories": {
+6
View File
@@ -400,10 +400,16 @@ class CMICore extends BaseCMI {
* @param {string} lesson_status
*/
set lesson_status(lesson_status) {
if (this.initialized) {
if (check12ValidFormat(lesson_status, scorm12_regex.CMIStatus)) {
this.#lesson_status = lesson_status;
}
} else {
if (check12ValidFormat(lesson_status, scorm12_regex.CMIStatus2)) {
this.#lesson_status = lesson_status;
}
}
}
/**
* Getter for #entry
+12 -2
View File
@@ -438,15 +438,25 @@ describe('SCORM 1.2 CMI Tests', () => {
expectedValue: 'not attempted',
});
h.checkWrite({
cmi: cmiInitialized(),
cmi: cmi(),
fieldName: 'cmi.core.lesson_status',
valueToTest: 'not attempted',
});
h.checkValidValues({
cmi: cmi(),
fieldName: 'cmi.core.lesson_status',
validValues: scorm12_values.validLessonStatus.concat([
'not attempted',
]),
invalidValues: scorm12_values.invalidLessonStatus,
});
h.checkValidValues({
cmi: cmiInitialized(),
fieldName: 'cmi.core.lesson_status',
validValues: scorm12_values.validLessonStatus,
invalidValues: scorm12_values.invalidLessonStatus,
invalidValues: scorm12_values.invalidLessonStatus.concat([
'not attempted',
]),
});
h.checkReadOnly({
cmi: cmiInitialized(),