зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1436396 - Policy engine - Make boolean type accept 0 and 1 as valid values. r=mkaply
MozReview-Commit-ID: 1dqRknWy6Xi
This commit is contained in:
Родитель
086b4ec6be
Коммит
c0b38bfb11
|
@ -95,6 +95,15 @@ function validateAndParseSimpleParam(param, type) {
|
|||
|
||||
switch (type) {
|
||||
case "boolean":
|
||||
if (typeof(param) == "boolean") {
|
||||
valid = true;
|
||||
} else if (typeof(param) == "number" &&
|
||||
(param == 0 || param == 1)) {
|
||||
valid = true;
|
||||
parsedParam = !!param;
|
||||
}
|
||||
break;
|
||||
|
||||
case "number":
|
||||
case "string":
|
||||
valid = (typeof(param) == type);
|
||||
|
|
|
@ -21,9 +21,16 @@ add_task(async function test_boolean_values() {
|
|||
[valid, parsed] = PoliciesValidator.validateAndParseParameters(false, schema);
|
||||
ok(valid && parsed === false, "Parsed boolean value correctly");
|
||||
|
||||
[valid, parsed] = PoliciesValidator.validateAndParseParameters(0, schema);
|
||||
ok(valid && parsed === false, "0 parsed as false correctly");
|
||||
|
||||
[valid, parsed] = PoliciesValidator.validateAndParseParameters(1, schema);
|
||||
ok(valid && parsed === true, "1 parsed as true correctly");
|
||||
|
||||
// Invalid values:
|
||||
ok(!PoliciesValidator.validateAndParseParameters("0", schema)[0], "No type coercion");
|
||||
ok(!PoliciesValidator.validateAndParseParameters("true", schema)[0], "No type coercion");
|
||||
ok(!PoliciesValidator.validateAndParseParameters(2, schema)[0], "Other number values are not valid");
|
||||
ok(!PoliciesValidator.validateAndParseParameters(undefined, schema)[0], "Invalid value");
|
||||
ok(!PoliciesValidator.validateAndParseParameters({}, schema)[0], "Invalid value");
|
||||
ok(!PoliciesValidator.validateAndParseParameters(null, schema)[0], "Invalid value");
|
||||
|
|
Загрузка…
Ссылка в новой задаче