| '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` |
| }); |
| } |