|
|
|
'use strict';
|
|
|
|
require('../common');
|
|
|
|
const assert = require('assert');
|
|
|
|
const active = require('timers').active;
|
|
|
|
|
|
|
|
// active() should create timers for these
|
|
|
|
const legitTimers = [
|
|
|
|
{ _idleTimeout: 0 },
|
|
|
|
{ _idleTimeout: 1 }
|
|
|
|
];
|
|
|
|
|
|
|
|
legitTimers.forEach(function(legit) {
|
|
|
|
const savedTimeout = legit._idleTimeout;
|
|
|
|
active(legit);
|
|
|
|
// active() should mutate these objects
|
|
|
|
assert.strictEqual(legit._idleTimeout, savedTimeout);
|
|
|
|
assert(Number.isInteger(legit._idleStart));
|
|
|
|
assert(legit._idleNext);
|
|
|
|
assert(legit._idlePrev);
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
// active() should not create a timer for these
|
|
|
|
const bogusTimers = [
|
|
|
|
{ _idleTimeout: -1 },
|
|
|
|
{ _idleTimeout: undefined },
|
|
|
|
];
|
|
|
|
|
|
|
|
bogusTimers.forEach(function(bogus) {
|
|
|
|
const savedTimeout = bogus._idleTimeout;
|
|
|
|
active(bogus);
|
|
|
|
// active() should not mutate these objects
|
|
|
|
assert.deepStrictEqual(bogus, { _idleTimeout: savedTimeout });
|
|
|
|
});
|