node/test/parallel/test-timers-unref-remove-other-unref-timers.js
cjihrig 7dd82dd1c3 test: add common.mustNotCall()
This commit adds a mustNotCall() helper for testing. This provides
an alternative to using common.fail() as a callback, or creating
a callback function for the sole purpose of calling common.fail().

PR-URL: https://github.com/nodejs/node/pull/11152
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com>
2017-02-06 14:07:55 -05:00

33 lines
821 B
JavaScript

'use strict';
/*
* This test is a regression test for joyent/node#8897.
*
* It tests 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(function() {}, 100);