node/test/sequential/test-inspector-module.js
razvanbh f8c3e258fd test: add test for 'ERR_INVALID_CALLBACK'
PR-URL: https://github.com/nodejs/node/pull/24224
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2018-11-10 14:01:03 +05:30

72 lines
1.5 KiB
JavaScript

'use strict';
const common = require('../common');
common.skipIfInspectorDisabled();
const { Session } = require('inspector');
const session = new Session();
common.expectsError(
() => session.post('Runtime.evaluate', { expression: '2 + 2' }),
{
code: 'ERR_INSPECTOR_NOT_CONNECTED',
type: Error,
message: 'Session is not connected'
}
);
session.connect();
session.post('Runtime.evaluate', { expression: '2 + 2' });
[1, {}, [], true, Infinity, undefined].forEach((i) => {
common.expectsError(
() => session.post(i),
{
code: 'ERR_INVALID_ARG_TYPE',
type: TypeError,
message:
'The "method" argument must be of type string. ' +
`Received type ${typeof i}`
}
);
});
[1, true, Infinity].forEach((i) => {
common.expectsError(
() => session.post('test', i),
{
code: 'ERR_INVALID_ARG_TYPE',
type: TypeError,
message:
'The "params" argument must be of type Object. ' +
`Received type ${typeof i}`
}
);
});
[1, 'a', {}, [], true, Infinity].forEach((i) => {
common.expectsError(
() => session.post('test', {}, i),
{
code: 'ERR_INVALID_CALLBACK',
type: TypeError,
message: 'Callback must be a function'
}
);
});
common.expectsError(
() => session.connect(),
{
code: 'ERR_INSPECTOR_ALREADY_CONNECTED',
type: Error,
message: 'The inspector session is already connected'
}
);
session.disconnect();
// Calling disconnect twice should not throw.
session.disconnect();