31 lines
1.1 KiB
JavaScript
31 lines
1.1 KiB
JavaScript
const test = require("node:test");
|
|
const assert = require("node:assert");
|
|
const { loadUtils } = require("./helpers");
|
|
|
|
test("clampDelaySeconds keeps in-range integer values as-is", () => {
|
|
const window = loadUtils();
|
|
assert.strictEqual(window.clampDelaySeconds(0), 0);
|
|
assert.strictEqual(window.clampDelaySeconds(5), 5);
|
|
assert.strictEqual(window.clampDelaySeconds(30), 30);
|
|
});
|
|
|
|
test("clampDelaySeconds clamps below 0 and above 30", () => {
|
|
const window = loadUtils();
|
|
assert.strictEqual(window.clampDelaySeconds(-5), 0);
|
|
assert.strictEqual(window.clampDelaySeconds(45), 30);
|
|
});
|
|
|
|
test("clampDelaySeconds rounds fractional values", () => {
|
|
const window = loadUtils();
|
|
assert.strictEqual(window.clampDelaySeconds(15.6), 16);
|
|
assert.strictEqual(window.clampDelaySeconds(15.4), 15);
|
|
});
|
|
|
|
test("clampDelaySeconds falls back to 0 for non-numeric input", () => {
|
|
const window = loadUtils();
|
|
assert.strictEqual(window.clampDelaySeconds("abc"), 0);
|
|
assert.strictEqual(window.clampDelaySeconds(undefined), 0);
|
|
assert.strictEqual(window.clampDelaySeconds(null), 0);
|
|
assert.strictEqual(window.clampDelaySeconds(NaN), 0);
|
|
});
|