summaryrefslogtreecommitdiff
path: root/deps/v8/test/mjsunit/regress/regress-crbug-1404820.js
blob: f8fd6ee0b46fac27b58e76a07adee34f5694ad8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Copyright 2023 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.

(function array_iterator() {
  let array_iterator_prototype = [].values().__proto__;
  let iter;
  array_iterator_prototype.return = function(value) {
    iter = this;
    return {value: value, done: true};
  };

  let array = [["good1"], ["good2"], "bad", "next", 5, 6, 7, 8];

  // Aborted iteration in a builtin.
  try {
    new WeakSet(array);
  } catch (e) {}
  // iter points at "bad" item, so next() must return "next" value.
  assertEquals(iter.next().value, "next");
})();