mirror of
https://github.com/nodejs/node.git
synced 2025-05-15 11:36:57 +00:00

PR-URL: https://github.com/nodejs/node/pull/45230 Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
173 lines
3.8 KiB
Plaintext
173 lines
3.8 KiB
Plaintext
Tests breakable locations in array destructuring.
|
|
|
|
Running test: testBreakLocations
|
|
|
|
function testFunction() {
|
|
var [a, b, c = 4] = |C|generator1();
|
|
|_|[[a, b], c] = |C|generator2();
|
|
|_|[a, ...b] = |C|generator1();
|
|
|R|}
|
|
|
|
function generator1() {
|
|
|_|return {
|
|
[Symbol.iterator]() {
|
|
const it = |_|[1, 2].|C|values();
|
|
|_|return {next() { |_|return it.|C|next();|R| }};|R|
|
|
}
|
|
};|R|
|
|
}
|
|
|
|
function generator2() {
|
|
|_|return {
|
|
[Symbol.iterator]() {
|
|
const it = |_|[|C|generator1(), 3].|C|values();
|
|
|_|return {next() { |_|return it.|C|next();|R| }};|R|
|
|
}
|
|
};|R|
|
|
}
|
|
|R|
|
|
|
|
|
|
Running test: testStepping
|
|
Execution paused in testFunction:
|
|
function testFunction() {
|
|
var [a, b, c = 4] = #generator1();
|
|
[[a, b], c] = generator2();
|
|
|
|
Execution paused in generator1:
|
|
function generator1() {
|
|
#return {
|
|
[Symbol.iterator]() {
|
|
|
|
Called from testFunction:
|
|
function testFunction() {
|
|
var [a, b, c = 4] = #generator1();
|
|
[[a, b], c] = generator2();
|
|
|
|
Execution paused in [Symbol.iterator]:
|
|
[Symbol.iterator]() {
|
|
const it = #[1, 2].values();
|
|
return {next() { return it.next(); }};
|
|
|
|
Called from testFunction:
|
|
function testFunction() {
|
|
var [a, b, c = 4] = #generator1();
|
|
[[a, b], c] = generator2();
|
|
|
|
Execution paused in next:
|
|
const it = [1, 2].values();
|
|
return {next() { #return it.next(); }};
|
|
}
|
|
|
|
Called from testFunction:
|
|
function testFunction() {
|
|
var [#a, b, c = 4] = generator1();
|
|
[[a, b], c] = generator2();
|
|
|
|
Execution paused in testFunction:
|
|
var [a, b, c = 4] = generator1();
|
|
#[[a, b], c] = generator2();
|
|
[a, ...b] = generator1();
|
|
|
|
Execution paused in generator2:
|
|
function generator2() {
|
|
#return {
|
|
[Symbol.iterator]() {
|
|
|
|
Called from testFunction:
|
|
var [a, b, c = 4] = generator1();
|
|
[[a, b], c] = #generator2();
|
|
[a, ...b] = generator1();
|
|
|
|
Execution paused in [Symbol.iterator]:
|
|
[Symbol.iterator]() {
|
|
const it = #[generator1(), 3].values();
|
|
return {next() { return it.next(); }};
|
|
|
|
Called from testFunction:
|
|
var [a, b, c = 4] = generator1();
|
|
[[a, b], c] #= generator2();
|
|
[a, ...b] = generator1();
|
|
|
|
Execution paused in next:
|
|
const it = [generator1(), 3].values();
|
|
return {next() { #return it.next(); }};
|
|
}
|
|
|
|
Called from testFunction:
|
|
var [a, b, c = 4] = generator1();
|
|
[#[a, b], c] = generator2();
|
|
[a, ...b] = generator1();
|
|
|
|
Execution paused in [Symbol.iterator]:
|
|
[Symbol.iterator]() {
|
|
const it = #[1, 2].values();
|
|
return {next() { return it.next(); }};
|
|
|
|
Called from testFunction:
|
|
var [a, b, c = 4] = generator1();
|
|
[#[a, b], c] = generator2();
|
|
[a, ...b] = generator1();
|
|
|
|
Execution paused in next:
|
|
const it = [1, 2].values();
|
|
return {next() { #return it.next(); }};
|
|
}
|
|
|
|
Called from testFunction:
|
|
var [a, b, c = 4] = generator1();
|
|
[[#a, b], c] = generator2();
|
|
[a, ...b] = generator1();
|
|
|
|
Execution paused in next:
|
|
const it = [generator1(), 3].values();
|
|
return {next() { #return it.next(); }};
|
|
}
|
|
|
|
Called from testFunction:
|
|
var [a, b, c = 4] = generator1();
|
|
[[a, b], #c] = generator2();
|
|
[a, ...b] = generator1();
|
|
|
|
Execution paused in testFunction:
|
|
[[a, b], c] = generator2();
|
|
#[a, ...b] = generator1();
|
|
}
|
|
|
|
Execution paused in generator1:
|
|
function generator1() {
|
|
#return {
|
|
[Symbol.iterator]() {
|
|
|
|
Called from testFunction:
|
|
[[a, b], c] = generator2();
|
|
[a, ...b] = #generator1();
|
|
}
|
|
|
|
Execution paused in [Symbol.iterator]:
|
|
[Symbol.iterator]() {
|
|
const it = #[1, 2].values();
|
|
return {next() { return it.next(); }};
|
|
|
|
Called from testFunction:
|
|
[[a, b], c] = generator2();
|
|
[a, ...b] #= generator1();
|
|
}
|
|
|
|
Execution paused in next:
|
|
const it = [1, 2].values();
|
|
return {next() { #return it.next(); }};
|
|
}
|
|
|
|
Called from testFunction:
|
|
[[a, b], c] = generator2();
|
|
[#a, ...b] = generator1();
|
|
}
|
|
|
|
Execution paused in testFunction:
|
|
[a, ...b] = generator1();
|
|
#}
|
|
|
|
|
|
Resuming and finishing...
|