• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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