60 lines
1.9 KiB
JavaScript
60 lines
1.9 KiB
JavaScript
|
// 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.
|
||
|
|
||
|
let {session, contextGroup, Protocol} =
|
||
|
InspectorTest.start('Test for Runtime.globalLexicalScopeVariablesNames');
|
||
|
|
||
|
(async function test() {
|
||
|
InspectorTest.log('Running \'let a = 1\'');
|
||
|
Protocol.Runtime.evaluate({expression: 'let a = 1'});
|
||
|
await dumpGlobalScopeVariables();
|
||
|
|
||
|
InspectorTest.log('Running \'let b = 2\'');
|
||
|
Protocol.Runtime.evaluate({expression: 'let b = 2'});
|
||
|
await dumpGlobalScopeVariables();
|
||
|
|
||
|
InspectorTest.log('Running \'let b = 3\'');
|
||
|
Protocol.Runtime.evaluate({expression: 'let b = 3'});
|
||
|
await dumpGlobalScopeVariables();
|
||
|
|
||
|
InspectorTest.log('Running \'const c = 4\'');
|
||
|
Protocol.Runtime.evaluate({expression: 'const c = 4'});
|
||
|
await dumpGlobalScopeVariables();
|
||
|
|
||
|
InspectorTest.log('Running \'var d = 5\'');
|
||
|
InspectorTest.log('(should not be in list of scoped variables)');
|
||
|
Protocol.Runtime.evaluate({expression: 'var d = 5'});
|
||
|
await dumpGlobalScopeVariables();
|
||
|
|
||
|
InspectorTest.log('Running \'class Foo{}\'');
|
||
|
Protocol.Runtime.evaluate({expression: 'class Foo{}'});
|
||
|
await dumpGlobalScopeVariables();
|
||
|
|
||
|
InspectorTest.log('Adding script with scope variables');
|
||
|
contextGroup.addScript(`
|
||
|
let e = 1;
|
||
|
const f = 2;
|
||
|
const g = 3;
|
||
|
class Boo {};
|
||
|
`);
|
||
|
await dumpGlobalScopeVariables();
|
||
|
InspectorTest.completeTest();
|
||
|
})();
|
||
|
|
||
|
async function dumpGlobalScopeVariables() {
|
||
|
let {result:{names}} =
|
||
|
await Protocol.Runtime.globalLexicalScopeNames();
|
||
|
InspectorTest.log('Values:');
|
||
|
for (let name of names) {
|
||
|
let {result:{result}} = await Protocol.Runtime.evaluate({expression: name});
|
||
|
if (result.value) {
|
||
|
InspectorTest.log(`${name} = ${result.value}`);
|
||
|
} else {
|
||
|
InspectorTest.log(`${name} =`);
|
||
|
InspectorTest.logMessage(result);
|
||
|
}
|
||
|
}
|
||
|
InspectorTest.log('');
|
||
|
}
|