node/test/sequential/test-timers-set-interval-excludes-callback-duration.js
Antoine du Hamel 646e19e2b4
test: ensure assertions are reachable in test/sequential
PR-URL: https://github.com/nodejs/node/pull/60412
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
2025-10-29 16:29:39 +01:00

26 lines
633 B
JavaScript

// Flags: --expose-internals
'use strict';
const common = require('../common');
const assert = require('assert');
const { sleep } = require('internal/util');
let cntr = 0;
let first;
const t = setInterval(common.mustCallAtLeast(() => {
cntr++;
if (cntr === 1) {
sleep(100);
// Ensure that the event loop passes before the second interval
setImmediate(common.mustCall(() => assert.strictEqual(cntr, 1)));
first = Date.now();
} else if (cntr === 2) {
assert(Date.now() - first < 100);
clearInterval(t);
}
}), 100);
const t2 = setInterval(() => {
if (cntr === 2) {
clearInterval(t2);
}
}, 100);