mirror of https://github.com/swig/swig
59 lines
2.0 KiB
JavaScript
59 lines
2.0 KiB
JavaScript
var li_constraints = require("li_constraints");
|
|
|
|
function check_double(except, f, val, name) {
|
|
var actual = true;
|
|
var proper = false;
|
|
try {
|
|
f(val);
|
|
} catch(e) {
|
|
actual = false;
|
|
proper = e.message === "Expected a " + name + " value.";
|
|
}
|
|
if (actual) {
|
|
if (!except)
|
|
throw new Error("function '" + name + "' with " + val + " should perform an exception");
|
|
} else {
|
|
if (except)
|
|
throw new Error("function '" + name + "' with " + val + " should not perform an exception");
|
|
else if (!proper)
|
|
throw new Error("function '" + name + "' with " + val + " should perform a proper exception");
|
|
}
|
|
}
|
|
|
|
const nonnegative = function (val) { li_constraints.test_nonnegative(val); };
|
|
check_double(true, nonnegative, 10, "non-negative");
|
|
check_double(true, nonnegative, 0, "non-negative");
|
|
check_double(false, nonnegative, -10, "non-negative");
|
|
|
|
const nonpositive = function (val) { li_constraints.test_nonpositive(val); };
|
|
check_double(false, nonpositive, 10, "non-positive");
|
|
check_double(true, nonpositive, 0, "non-positive");
|
|
check_double(true, nonpositive, -10, "non-positive");
|
|
|
|
const positive = function (val) { li_constraints.test_positive(val); };
|
|
check_double(true, positive, 10, "positive");
|
|
check_double(false, positive, 0, "positive");
|
|
check_double(false, positive, -10, "positive");
|
|
|
|
const negative = function (val) { li_constraints.test_negative(val); };
|
|
check_double(false, negative, 10, "negative");
|
|
check_double(false, negative, 0, "negative");
|
|
check_double(true, negative, -10, "negative");
|
|
|
|
const nonzero = function (val) { li_constraints.test_nonzero(val); };
|
|
check_double(true, nonzero, 10, "nonzero");
|
|
check_double(false, nonzero, 0, "nonzero");
|
|
check_double(true, nonzero, -10, "nonzero");
|
|
|
|
var have_exception = false;
|
|
try {
|
|
li_constraints.test_nonnull(null);
|
|
} catch(e) {
|
|
have_exception = e.message === "Received a NULL pointer.";
|
|
}
|
|
if (!have_exception) {
|
|
throw new Error("test_nonnull should perform a proper exception with 'null' value");
|
|
}
|
|
const nonnull = li_constraints.get_nonnull();
|
|
li_constraints.test_nonnull(nonnull);
|