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...
