| Index: test/inspector/console/destroy-context-during-log.js
|
| diff --git a/test/inspector/console/destroy-context-during-log.js b/test/inspector/console/destroy-context-during-log.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..2289fbefc09c872eac54b2b597d5a2790d229365
|
| --- /dev/null
|
| +++ b/test/inspector/console/destroy-context-during-log.js
|
| @@ -0,0 +1,38 @@
|
| +// Copyright 2016 the V8 project authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +const expression = `
|
| + Object.defineProperty(Object.prototype, 'RemoteObject', {
|
| + configurable: true,
|
| + set(v) {
|
| + delete Object.prototype.RemoteObject;
|
| + this.RemoteObject = v;
|
| +
|
| + detachInspector();
|
| + setTimeout(function() {
|
| + // Attach the inspector again for the sake of establishing a
|
| + // communication channel with the frontend test runner.
|
| + attachInspector();
|
| + console.log("End of test");
|
| + }, 0);
|
| + },
|
| + });
|
| +
|
| + // Before the whole script runs, the inspector is already attached.
|
| + // Re-attach the inspector and trigger the console API to make sure that the
|
| + // injected inspector script runs again (and triggers the above setter).
|
| + detachInspector();
|
| + attachInspector();
|
| + console.log("First inspector activity after attaching inspector");
|
| +`;
|
| +
|
| +Protocol.Runtime.enable();
|
| +Protocol.Runtime.evaluate({ expression: expression });
|
| +
|
| +Protocol.Runtime.onConsoleAPICalled(function(result) {
|
| + InspectorTest.logObject(result.params.args[0]);
|
| + if (result.params.args[0].value == "End of test") {
|
| + InspectorTest.completeTest();
|
| + }
|
| +});
|
|
|