Tests breakable locations in array spread. Running test: testBreakLocations function testFunction() { var a = |_|[...iterable]; var b = [...|_|a, ...iterable, ...a]; |R|} const iterable = |_|{ [Symbol.iterator]() { const it = |_|[1, 2].|C|values(); |_|return {next() { |_|return it.|C|next();|R| }};|R| } }; |R| Running test: testStepping Execution paused in testFunction: function testFunction() { var a = #[...iterable]; var b = [...a, ...iterable, ...a]; Execution paused in [Symbol.iterator]: [Symbol.iterator]() { const it = #[1, 2].values(); return {next() { return it.next(); }}; Called from testFunction: function testFunction() { var a = [...#iterable]; var b = [...a, ...iterable, ...a]; Execution paused in next: const it = [1, 2].values(); return {next() { #return it.next(); }}; } Called from testFunction: function testFunction() { var a = [...#iterable]; var b = [...a, ...iterable, ...a]; Execution paused in testFunction: var a = [...iterable]; var b = [...#a, ...iterable, ...a]; } Execution paused in [Symbol.iterator]: [Symbol.iterator]() { const it = #[1, 2].values(); return {next() { return it.next(); }}; Called from testFunction: var a = [...iterable]; var b = [...a, ...#iterable, ...a]; } Execution paused in next: const it = [1, 2].values(); return {next() { #return it.next(); }}; } Called from testFunction: var a = [...iterable]; var b = [...a, ...#iterable, ...a]; } Execution paused in testFunction: var b = [...a, ...iterable, ...a]; #} Resuming and finishing...