blob: 0926bd308c1efa6b8ddc532be5b5f6c7bbfbce43 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
'use strict';
// Regression test for https://github.com/nodejs/node-v0.x-archive/issues/8897.
// Test some private implementation details that should not be
// considered public interface.
const common = require('../common');
const timers = require('timers');
const foo = {
_onTimeout: common.mustNotCall('_onTimeout should not be called')
};
const bar = {
_onTimeout: common.mustCall(function() {
timers.unenroll(foo);
})
};
// We use timers with expiration times that are sufficiently apart to make
// sure that they're not fired at the same time on platforms where the timer
// resolution is a bit coarse (e.g Windows with a default resolution of ~15ms).
timers.enroll(bar, 1);
timers._unrefActive(bar);
timers.enroll(foo, 50);
timers._unrefActive(foo);
// Keep the process open.
setTimeout(() => {}, 100);
|