node/test/parallel/test-async-wrap-throw-no-init.js
Trevor Norris 5d34c81a5c async_wrap: allow some hooks to be optional
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>
2015-11-07 18:26:12 +11:00

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/);