OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2017 the V8 project authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 // Flags: --allow-natives-syntax | |
6 | |
7 function testAdvanceStringIndex(lastIndex, expectedLastIndex) { | |
8 let exec_count = 0; | |
9 let last_last_index = -1; | |
10 | |
11 let fake_re = { | |
12 exec: () => { return (exec_count++ == 0) ? [""] : null }, | |
13 [Symbol.match]: RegExp.prototype[Symbol.match], | |
14 get lastIndex() { return lastIndex; }, | |
15 set lastIndex(value) { last_last_index = value }, | |
16 get global() { return true; }, | |
17 get flags() { return "g"; } | |
18 }; | |
19 | |
20 assertEquals([""], fake_re[Symbol.match]("abc")); | |
Camillo Bruni
2017/04/06 15:10:58
I wonder whether ClusterFuzz would pick up the fol
jgruber
2017/04/06 16:28:34
I replaced the old version with this. No real reas
| |
21 assertEquals(expectedLastIndex, last_last_index); | |
22 } | |
23 | |
24 testAdvanceStringIndex(new Number(42), 43); // Value wrapper. | |
25 testAdvanceStringIndex(%AllocateHeapNumber(), 1); // HeapNumber. | |
26 testAdvanceStringIndex(4294967295, 4294967296); // HeapNumber. | |
OLD | NEW |