test: confirm globals not used internally
PR-URL: https://github.com/nodejs/node/pull/5882 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
This commit is contained in:
parent
9fa25c8ca0
commit
f0367d0edc
@ -1,20 +1,21 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
const common = require('../common');
|
const common = require('../common');
|
||||||
const assert = require('assert');
|
const timers = require('timers');
|
||||||
|
|
||||||
// don't verify the globals for this test
|
// delete global APIs to make sure they're not relied on by the internal timers
|
||||||
common.globalCheck = false;
|
// code
|
||||||
|
delete global.setTimeout;
|
||||||
|
delete global.clearTimeout;
|
||||||
|
delete global.setInterval;
|
||||||
|
delete global.clearInterval;
|
||||||
|
delete global.setImmediate;
|
||||||
|
delete global.clearImmediate;
|
||||||
|
|
||||||
// try overriding global APIs to make sure
|
const timeoutCallback = () => { timers.clearTimeout(timeout); };
|
||||||
// they're not relied on by the timers
|
const timeout = timers.setTimeout(common.mustCall(timeoutCallback), 1);
|
||||||
global.clearTimeout = assert.fail;
|
|
||||||
|
|
||||||
// run timeouts/intervals through the paces
|
const intervalCallback = () => { timers.clearInterval(interval); };
|
||||||
const intv = setInterval(function() {}, 1);
|
const interval = timers.setInterval(common.mustCall(intervalCallback), 1);
|
||||||
|
|
||||||
setTimeout(function() {
|
|
||||||
clearInterval(intv);
|
|
||||||
}, 100);
|
|
||||||
|
|
||||||
setTimeout(function() {}, 2);
|
|
||||||
|
|
||||||
|
const immediateCallback = () => { timers.clearImmediate(immediate); };
|
||||||
|
const immediate = timers.setImmediate(immediateCallback);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user