0
0
mirror of https://github.com/nodejs/node.git synced 2024-12-01 16:10:02 +01:00
nodejs/test/parallel/test-timers-unref-remove-other-unref-timers.js
Myles Borins 28e9a022df test: wrap assert.fail when passed to callback
Currently there are many instances where assert.fail is directly passed
to a callback for error handling. Unfortunately this will swallow the
error as it is the third argument of assert.fail that sets the message
not the first.

This commit adds a new function to test/common.js that simply wraps
assert.fail and calls it with the provided message.

Tip of the hat to @trott for pointing me in the direction of this.

PR-URL: https://github.com/nodejs/node/pull/3453
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2015-10-24 14:42:41 -07:00

34 lines
813 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 assert = require('assert');
const timers = require('timers');
const foo = {
_onTimeout: common.fail
};
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);