diff --git a/src/inspector_js_api.cc b/src/inspector_js_api.cc index 3595536c785..1602faf1bd6 100644 --- a/src/inspector_js_api.cc +++ b/src/inspector_js_api.cc @@ -273,7 +273,7 @@ static void RegisterAsyncHookWrapper(const FunctionCallbackInfo& args) { void IsEnabled(const FunctionCallbackInfo& args) { Environment* env = Environment::GetCurrent(args); - args.GetReturnValue().Set(InspectorEnabled(env)); + args.GetReturnValue().Set(env->inspector_agent()->IsListening()); } void Open(const FunctionCallbackInfo& args) { diff --git a/test/fixtures/inspector-open.js b/test/fixtures/inspector-open.js new file mode 100644 index 00000000000..715687fe0e1 --- /dev/null +++ b/test/fixtures/inspector-open.js @@ -0,0 +1,14 @@ +const assert = require('assert'); +const inspector = require('inspector'); + + +assert.strictEqual(inspector.url(), undefined); +inspector.open(0, undefined, false); +assert(inspector.url().startsWith('ws://')); +assert.throws(() => { + inspector.open(0, undefined, false); +}, { + code: 'ERR_INSPECTOR_ALREADY_ACTIVATED' +}); +inspector.close(); +assert.strictEqual(inspector.url(), undefined); diff --git a/test/parallel/test-inspector-open-coverage.js b/test/parallel/test-inspector-open-coverage.js new file mode 100644 index 00000000000..259049c3682 --- /dev/null +++ b/test/parallel/test-inspector-open-coverage.js @@ -0,0 +1,21 @@ +'use strict'; + +const common = require('../common'); +const assert = require('assert'); +const { spawnSync } = require('child_process'); +const fixtures = require('../common/fixtures'); +const tmpdir = require('../common/tmpdir'); + +common.skipIfInspectorDisabled(); +common.skipIfWorker(); + +tmpdir.refresh(); + + +let output = spawnSync(process.execPath, [fixtures.path('inspector-open.js')]); +assert.strictEqual(output.status, 0); + +output = spawnSync(process.execPath, [fixtures.path('inspector-open.js')], { + env: { ...process.env, NODE_V8_COVERAGE: tmpdir.path }, +}); +assert.strictEqual(output.status, 0);