node/test/parallel/test-timers-this.js
Rich Trott 9faf4c6fcf test: load common.js to test for global leaks
common.js contains code that checks for variables leaking into the
global namespace. Load common.js in all tests that do not
intentionally leak variables.

PR-URL: https://github.com/nodejs/node/pull/3095
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
2015-10-02 13:39:27 +10:00

45 lines
1.1 KiB
JavaScript

'use strict';
require('../common');
var assert = require('assert');
var immediateThis, intervalThis, timeoutThis,
immediateArgsThis, intervalArgsThis, timeoutArgsThis;
var immediateHandler = setImmediate(function() {
immediateThis = this;
});
var immediateArgsHandler = setImmediate(function() {
immediateArgsThis = this;
}, 'args ...');
var intervalHandler = setInterval(function() {
clearInterval(intervalHandler);
intervalThis = this;
});
var intervalArgsHandler = setInterval(function() {
clearInterval(intervalArgsHandler);
intervalArgsThis = this;
}, 0, 'args ...');
var timeoutHandler = setTimeout(function() {
timeoutThis = this;
});
var timeoutArgsHandler = setTimeout(function() {
timeoutArgsThis = this;
}, 0, 'args ...');
process.once('exit', function() {
assert.strictEqual(immediateThis, immediateHandler);
assert.strictEqual(immediateArgsThis, immediateArgsHandler);
assert.strictEqual(intervalThis, intervalHandler);
assert.strictEqual(intervalArgsThis, intervalArgsHandler);
assert.strictEqual(timeoutThis, timeoutHandler);
assert.strictEqual(timeoutArgsThis, timeoutArgsHandler);
});