c6341230e9
This cl modifies RegExp.prototype.matchAll to throw on non-global regexps. Relevant pull request: https://github.com/tc39/ecma262/pull/1716 Bug: v8:9800 Change-Id: Ie963c1c00441f1c4e2b975c3bab77cca902c7ebc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1846067 Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#64318}
18 lines
506 B
JavaScript
18 lines
506 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; }
|
|
}
|
|
|
|
assertEquals(["ab", ""], "abc".split(/c/g));
|
|
assertEquals([["a"]], [..."a".matchAll(/a/g)]);
|
|
|
|
Object.defineProperty(RegExp, Symbol.species, { get() { return MyRegExp; }});
|
|
|
|
assertEquals(["abc"], "abc".split(/c/g));
|
|
assertEquals([], [..."a".matchAll(/a/g)]);
|