blob: dc874c40ad730f88722e98303f707f8bd2c4768c [file] [edit]
// Test that timerify throws appropriate errors for invalid argument types.
'use strict';
require('../common');
const assert = require('assert');
const { timerify } = require('perf_hooks');
[1, {}, [], null, undefined, Infinity].forEach((input) => {
assert.throws(() => timerify(input),
{
code: 'ERR_INVALID_ARG_TYPE',
name: 'TypeError',
message: /The "fn" argument must be of type function/
});
});
const asyncFunc = async (a, b = 1) => {};
const syncFunc = (a, b = 1) => {};
[1, '', {}, [], false].forEach((histogram) => {
assert.throws(() => timerify(asyncFunc, { histogram }), {
code: 'ERR_INVALID_ARG_TYPE'
});
assert.throws(() => timerify(syncFunc, { histogram }), {
code: 'ERR_INVALID_ARG_TYPE'
});
});