18de765e1e
This updates fast path checks in string's search/match/replace/split/matchAll methods. Bug: v8:8361 Change-Id: I0377aff21e380d6c718e7471f8964e10c030281b Reviewed-on: https://chromium-review.googlesource.com/c/1333668 Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#57509}
20 lines
567 B
JavaScript
20 lines
567 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.
|
|
|
|
var s = "baa";
|
|
|
|
assertEquals(1, s.search(/a/));
|
|
assertEquals(["aa"], s.match(/a./));
|
|
assertEquals(["b", "", ""], s.split(/a/));
|
|
|
|
let o = { index : 3, 0 : "x" };
|
|
|
|
RegExp.prototype.exec = () => { return o; }
|
|
assertEquals(3, s.search(/a/));
|
|
assertEquals(o, s.match(/a./));
|
|
assertEquals("baar", s.replace(/a./, "r"));
|
|
|
|
RegExp.prototype.exec = () => { return null; }
|
|
assertEquals(["baa"], s.split(/a/));
|