mirror of
https://github.com/nodejs/node.git
synced 2024-12-01 16:10:02 +01:00
1300103534
This change enables concurrent inspector sessions, through WebSocket interface as well as JS interface, in any combination. PR-URL: https://github.com/nodejs/node/pull/20137 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
61 lines
1.3 KiB
JavaScript
61 lines
1.3 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}`
|
|
}
|
|
);
|
|
});
|
|
|
|
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();
|