summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/RegExp/test-trailing.js
blob: 7cb910ee629e0e034a60f4eb4f36fbcd3b2d42da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
var BUGNUMBER = 1304737;
var summary = "Trailing .* should not be ignored on matchOnly match.";

print(BUGNUMBER + ": " + summary);

function test(r, lastIndexIsZero) {
    r.lastIndex = 0;
    r.test("foo");
    assertEq(r.lastIndex, lastIndexIsZero ? 0 : 3);

    r.lastIndex = 0;
    r.test("foo\nbar");
    assertEq(r.lastIndex, lastIndexIsZero ? 0 : 3);

    var input = "foo" + ".bar".repeat(20000);
    r.lastIndex = 0;
    r.test(input);
    assertEq(r.lastIndex, lastIndexIsZero ? 0 : input.length);

    r.lastIndex = 0;
    r.test(input + "\nbaz");
    assertEq(r.lastIndex, lastIndexIsZero ? 0 : input.length);
}

test(/f.*/, true);
test(/f.*/g, false);
test(/f.*/y, false);
test(/f.*/gy, false);

if (typeof reportCompare === "function")
    reportCompare(true, true);