diff --git a/.eslintrc b/.eslintrc index 6ae06ef7dd..d65f8d546c 100644 --- a/.eslintrc +++ b/.eslintrc @@ -103,7 +103,7 @@ rules: no-dupe-class-members: 2 no-new-symbol: 2 no-this-before-super: 2 - prefer-const: 2 + prefer-const: [2, {ignoreReadBeforeAssign: true}] rest-spread-spacing: 2 template-curly-spacing: 2 diff --git a/test/parallel/test-timers-immediate.js b/test/parallel/test-timers-immediate.js index d160adc998..9632022917 100644 --- a/test/parallel/test-timers-immediate.js +++ b/test/parallel/test-timers-immediate.js @@ -1,25 +1,20 @@ 'use strict'; -require('../common'); -var assert = require('assert'); - -let immediateA = false; -let immediateB = false; -let immediateC = []; -let immediateD = []; - -setImmediate(function() { - try { - immediateA = process.hrtime(before); - } catch (e) { - console.log('failed to get hrtime with offset'); - } - clearImmediate(immediateB); -}); +const common = require('../common'); +const assert = require('assert'); + +let immediateB; +let immediateC; +let immediateD; -const before = process.hrtime(); +let mainFinished = false; + +setImmediate(common.mustCall(function() { + assert.strictEqual(mainFinished, true); + clearImmediate(immediateB); +})); immediateB = setImmediate(function() { - immediateB = true; + common.fail('this immediate should not run'); }); setImmediate(function(x, y, z) { @@ -31,8 +26,8 @@ setImmediate(function(x, y, z, a, b) { }, 1, 2, 3, 4, 5); process.on('exit', function() { - assert.ok(immediateA, 'Immediate should happen after normal execution'); - assert.notStrictEqual(immediateB, true, 'immediateB should not fire'); assert.deepStrictEqual(immediateC, [1, 2, 3], 'immediateC args should match'); assert.deepStrictEqual(immediateD, [1, 2, 3, 4, 5], '5 args should match'); }); + +mainFinished = true;