Only enforce that the init callback is passed to setupHooks(). The remaining hooks can be optionally passed. Throw if async_wrap.enable() runs before setting the init callback or if setupHooks() is called while async wrap is enabled. Add test to verify calls throw appropriately. PR-URL: https://github.com/nodejs/node/pull/3461 Reviewed-By: Fedor Indutny <fedor@indutny.com>
22 lines
526 B
JavaScript
22 lines
526 B
JavaScript
'use strict';
|
|
|
|
const common = require('../common');
|
|
const assert = require('assert');
|
|
const async_wrap = process.binding('async_wrap');
|
|
|
|
|
|
assert.throws(function() {
|
|
async_wrap.setupHooks(null);
|
|
}, /init callback must be a function/);
|
|
|
|
assert.throws(function() {
|
|
async_wrap.enable();
|
|
}, /init callback is not assigned to a function/);
|
|
|
|
// Should not throw
|
|
async_wrap.setupHooks(() => {});
|
|
async_wrap.enable();
|
|
|
|
assert.throws(function() {
|
|
async_wrap.setupHooks(() => {});
|
|
}, /hooks should not be set while also enabled/);
|