node/test/parallel/test-microtask-queue-run-domain.js
Roth Peng 6620e761d7
test: use crashOnUnhandledRejection
Add common.crashOnUnhandledRejection to
test/parallell/test-microtask-queue-run-domain.js

PR-URL: https://github.com/nodejs/node/pull/17226
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2017-12-19 16:03:05 -05:00

47 lines
988 B
JavaScript

'use strict';
const common = require('../common');
const assert = require('assert');
// Requiring the domain module here changes the function that is used by node to
// call process.nextTick's callbacks to a variant that specifically handles
// domains. We want to test this specific variant in this test, and so even if
// the domain module is not used, this require call is needed and must not be
// removed.
require('domain');
common.crashOnUnhandledRejection();
function enqueueMicrotask(fn) {
Promise.resolve().then(fn);
}
let done = 0;
process.on('exit', function() {
assert.strictEqual(done, 2);
});
// no nextTick, microtask
setTimeout(function() {
enqueueMicrotask(function() {
done++;
});
}, 0);
// no nextTick, microtask with nextTick
setTimeout(function() {
let called = false;
enqueueMicrotask(function() {
process.nextTick(function() {
called = true;
});
});
setTimeout(function() {
if (called)
done++;
}, 0);
}, 0);