3740764cca
In the Chrome DevTools Protocol, the step actions are named StepOut, StepOver, and StepInto, but internally we used StepOut, StepNext, and StepIn instead. This change adjusts the naming to be consistent. Bug: chromium:901814, chromium:1162229 Change-Id: Id3502a1b0a4aadd94734ec3d1fef73c1782fa220 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2928510 Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#74877}
110 lines
3.9 KiB
JavaScript
110 lines
3.9 KiB
JavaScript
// Copyright 2015 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.
|
|
|
|
|
|
var exception = null;
|
|
var Debug = debug.Debug;
|
|
var break_count = 0;
|
|
|
|
function listener(event, exec_state, event_data, data) {
|
|
if (event != Debug.DebugEvent.Break) return;
|
|
try {
|
|
var source = exec_state.frame(0).sourceLineText();
|
|
print(source, break_count);
|
|
assertTrue(source.indexOf(`B${break_count++}`) > 0);
|
|
if (source.indexOf("assertEquals") > 0) {
|
|
exec_state.prepareStep(Debug.StepAction.StepOver);
|
|
} else {
|
|
exec_state.prepareStep(Debug.StepAction.StepInto);
|
|
}
|
|
} catch (e) {
|
|
exception = e;
|
|
print(e);
|
|
} // B34
|
|
};
|
|
|
|
Debug.setListener(listener);
|
|
|
|
var id = x => x; // B9 B10 B36 B37
|
|
|
|
function test() {
|
|
debugger; // B0
|
|
function fx1([
|
|
a, // B2
|
|
b // B3
|
|
]) {
|
|
assertEquals([1, 2], [a, b]); // B4
|
|
} // B5
|
|
fx1([1, 2, 3]); // B1
|
|
|
|
function f2([
|
|
a, // B7
|
|
b = id(3) // B8
|
|
]) {
|
|
assertEquals([4, 3], [a, b]); // B11
|
|
} // B12
|
|
f2([4]); // B6
|
|
|
|
function f3({
|
|
x: a, // B14
|
|
y: b // B15
|
|
}) {
|
|
assertEquals([5, 6], [a, b]); // B16
|
|
} // B17
|
|
f3({y: 6, x: 5}); // B13
|
|
|
|
function f4([
|
|
a, // B19
|
|
{
|
|
b, // B20
|
|
c, // B21
|
|
}
|
|
]) { // B19
|
|
assertEquals([2, 4, 6], [a, b, c]); // B22
|
|
} // B23
|
|
f4([2, {c: 6, b: 4}]); // B18
|
|
|
|
function f5([
|
|
{
|
|
a, // B25
|
|
b = 7 // B26
|
|
},
|
|
c = 3 // B27
|
|
] = [{a:1}]) {
|
|
assertEquals([1, 7, 3], [a, b, c]); // B28
|
|
} // B29
|
|
f5(); // B24
|
|
|
|
var name = "x"; // B30
|
|
function f6({
|
|
[id(name)]: a, // B34 B35
|
|
b = a // B38
|
|
}) {
|
|
assertEquals([9, 9], [a, b]); // B39
|
|
} // B40
|
|
var o6 = {}; // B31
|
|
o6[name] = 9; // B32
|
|
f6(o6); // B33
|
|
|
|
try {
|
|
throw [3, 4]; // B41
|
|
} catch ([
|
|
a, // B42
|
|
b, // B43
|
|
c = 6 // B44
|
|
]) {
|
|
assertEquals([3, 4, 6], [a, b, c]); // B45
|
|
}
|
|
|
|
var {
|
|
x: a, // B47
|
|
y: b = 9 // B48
|
|
} = { x: 4 }; // B46
|
|
assertEquals([4, 9], [a, b]); // B49
|
|
} // B50
|
|
|
|
test();
|
|
Debug.setListener(null); // B51
|
|
assertNull(exception);
|