mirror of
https://github.com/nodejs/node.git
synced 2025-05-01 17:03:34 +00:00

Enforce `//` for multiline comments. Some tests mixed and matched, and at least one did so in a (to me) surprising way. PR-URL: https://github.com/nodejs/node/pull/35485 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
42 lines
940 B
JavaScript
42 lines
940 B
JavaScript
'use strict';
|
|
|
|
|
|
// The goal of this test is to make sure that, after the regression introduced
|
|
// by 934bfe23a16556d05bfb1844ef4d53e8c9887c3d, the fix preserves the following
|
|
// behavior of unref timers: if two timers are scheduled to fire at the same
|
|
// time, if one unenrolls the other one in its _onTimeout callback, the other
|
|
// one will *not* fire.
|
|
|
|
// This behavior is a private implementation detail and should not be
|
|
// considered public interface.
|
|
|
|
require('../common');
|
|
const timers = require('timers');
|
|
const assert = require('assert');
|
|
|
|
let nbTimersFired = 0;
|
|
|
|
const foo = {
|
|
_onTimeout: function() {
|
|
++nbTimersFired;
|
|
timers.unenroll(bar);
|
|
}
|
|
};
|
|
|
|
const bar = {
|
|
_onTimeout: function() {
|
|
++nbTimersFired;
|
|
timers.unenroll(foo);
|
|
}
|
|
};
|
|
|
|
timers.enroll(bar, 1);
|
|
timers._unrefActive(bar);
|
|
|
|
timers.enroll(foo, 1);
|
|
timers._unrefActive(foo);
|
|
|
|
setTimeout(function() {
|
|
assert.notStrictEqual(nbTimersFired, 2);
|
|
}, 20);
|