20 lines
706 B
JavaScript
20 lines
706 B
JavaScript
'use strict';
|
|
const assert = require('node:assert');
|
|
const { computePollMs } = require('../lib/adaptive-poll.js');
|
|
|
|
let passed = 0;
|
|
function check(name, fn) {
|
|
try { fn(); console.log(' ok -', name); passed++; }
|
|
catch (e) { console.error(' FAIL -', name, e.message); process.exitCode = 1; }
|
|
}
|
|
|
|
check('visible returns base interval', () => {
|
|
assert.strictEqual(computePollMs(1000, true), 1000);
|
|
});
|
|
|
|
check('hidden doubles the interval, capped at 4s', () => {
|
|
assert.strictEqual(computePollMs(500, false), 1000);
|
|
assert.strictEqual(computePollMs(1000, false), 2000);
|
|
assert.strictEqual(computePollMs(2000, false), 4000);
|
|
assert.strictEqual(computePollMs(2000, false, { cap: 3000 }), 3000);
|
|
}); |