3632d5aedf
It shipped in Chrome 73. Bug: v8:6890 Change-Id: Idd8c98cf05a0d6e8fa58c5b0a34d079631f68b1b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1582879 Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Cr-Commit-Position: refs/heads/master@{#61005}
28 lines
722 B
JavaScript
28 lines
722 B
JavaScript
// Copyright 2018 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.
|
|
|
|
// Flags: --allow-natives-syntax
|
|
|
|
class MyRegExp {
|
|
exec() { return null; }
|
|
}
|
|
|
|
var r = /c/;
|
|
|
|
assertEquals(["ab", ""], "abc".split(r));
|
|
assertEquals([["c"]], [..."c".matchAll(r)]);
|
|
|
|
r.constructor = { [Symbol.species] : MyRegExp };
|
|
|
|
assertEquals(["abc"], "abc".split(r));
|
|
assertEquals([], [..."c".matchAll(r)]);
|
|
|
|
assertEquals(["ab", ""], "abc".split(/c/));
|
|
assertEquals([["c"]], [..."c".matchAll(/c/)]);
|
|
|
|
RegExp.prototype.constructor = { [Symbol.species] : MyRegExp };
|
|
|
|
assertEquals(["abc"], "abc".split(/c/));
|
|
assertEquals([], [..."c".matchAll(/c/)]);
|