1// Flags: --expose-internals 2'use strict'; 3require('../common'); 4const assert = require('assert'); 5const { sleep } = require('internal/util'); 6 7let cntr = 0; 8let first; 9const t = setInterval(() => { 10 cntr++; 11 if (cntr === 1) { 12 sleep(100); 13 // Ensure that the event loop passes before the second interval 14 setImmediate(() => assert.strictEqual(cntr, 1)); 15 first = Date.now(); 16 } else if (cntr === 2) { 17 assert(Date.now() - first < 100); 18 clearInterval(t); 19 } 20}, 100); 21const t2 = setInterval(() => { 22 if (cntr === 2) { 23 clearInterval(t2); 24 } 25}, 100); 26