summaryrefslogtreecommitdiff
path: root/test/parallel/test-async-hooks-constructor.js
blob: f2b4df6a9f9f992ab4370cc528133ce885fd1210 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
'use strict';

// This tests that AsyncHooks throws an error if bad parameters are passed.

const common = require('../common');
const async_hooks = require('async_hooks');
const non_function = 10;

typeErrorForFunction('init');
typeErrorForFunction('before');
typeErrorForFunction('after');
typeErrorForFunction('destroy');
typeErrorForFunction('promiseResolve');

function typeErrorForFunction(functionName) {
  common.expectsError(() => {
    async_hooks.createHook({ [functionName]: non_function });
  }, {
    code: 'ERR_ASYNC_CALLBACK',
    type: TypeError,
    message: `hook.${functionName} must be a function`
  });
}