| 'use strict'; |
| |
| const common = require('../common'); |
| const assert = require('assert'); |
| |
| // We don't really care about the calling results here. |
| // So, this makes the test less fragile. |
| const noop = () => {}; |
| |
| const t1 = setTimeout(common.mustNotCall(), 1); |
| const t2 = setTimeout(common.mustCall(), 1); |
| const i1 = setInterval(common.mustNotCall(), 1); |
| const i2 = setInterval(noop, 1); |
| i2.unref(); |
| |
| // Keep process alive for i2 to call once due to timer ordering. |
| setTimeout(common.mustCall(), 1); |
| |
| clearTimeout(t1); |
| clearInterval(i1); |
| |
| process.on('exit', () => { |
| assert.strictEqual(t1._destroyed, true); |
| assert.strictEqual(t2._destroyed, true); |
| assert.strictEqual(i1._destroyed, true); |
| assert.strictEqual(i2._destroyed, false); |
| }); |