| '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 }); |
| }); |