| // Copyright 2017 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. |
| |
| InspectorTest.log('Tests that multiple sessions share the context.'); |
| |
| (async function test() { |
| var contextGroup = new InspectorTest.ContextGroup(); |
| var session1 = contextGroup.connect(); |
| var session2 = contextGroup.connect(); |
| |
| InspectorTest.log('Assigning in 1'); |
| await session1.Protocol.Runtime.evaluate({expression: 'var a = 42;'}); |
| InspectorTest.log('Evaluating in 2'); |
| InspectorTest.logMessage(await session2.Protocol.Runtime.evaluate({expression: 'a'})); |
| |
| InspectorTest.log('Awaiting in 1'); |
| var promise = session1.Protocol.Runtime.evaluate({expression: 'var cb; new Promise(f => cb = f)', awaitPromise: true}); |
| InspectorTest.log('Resolving in 2'); |
| await session2.Protocol.Runtime.evaluate({expression: 'cb("foo")'}); |
| InspectorTest.log('Should resolve in 1'); |
| InspectorTest.logMessage(await promise); |
| |
| InspectorTest.completeTest(); |
| })(); |