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';
|
||||
const common = require('../common');
|
||||
const assert = require('assert');
|
||||
const timers = require('timers');
|
||||
|
||||
// don't verify the globals for this test
|
||||
common.globalCheck = false;
|
||||
// delete global APIs to make sure they're not relied on by the internal timers
|
||||
// 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
|
||||
// they're not relied on by the timers
|
||||
global.clearTimeout = assert.fail;
|
||||
const timeoutCallback = () => { timers.clearTimeout(timeout); };
|
||||
const timeout = timers.setTimeout(common.mustCall(timeoutCallback), 1);
|
||||
|
||||
// run timeouts/intervals through the paces
|
||||
const intv = setInterval(function() {}, 1);
|
||||
|
||||
setTimeout(function() {
|
||||
clearInterval(intv);
|
||||
}, 100);
|
||||
|
||||
setTimeout(function() {}, 2);
|
||||
const intervalCallback = () => { timers.clearInterval(interval); };
|
||||
const interval = timers.setInterval(common.mustCall(intervalCallback), 1);
|
||||
|
||||
const immediateCallback = () => { timers.clearImmediate(immediate); };
|
||||
const immediate = timers.setImmediate(immediateCallback);
|
||||
|
Loading…
x
Reference in New Issue
Block a user