summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/String/match-GetMethod.js
blob: 85a9822d8f91c3c403f5f476919a08b8186c96c6 (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
var BUGNUMBER = 1290655;
var summary = "String.prototype.match should call GetMethod.";

print(BUGNUMBER + ": " + summary);

function create(value) {
    return {
        [Symbol.match]: value,
        toString() {
            return "-";
        }
    };
}

var expected = ["-"];
expected.index = 1;
expected.input = "a-a";
expected.groups = undefined;

for (let v of [null, undefined]) {
    assertDeepEq("a-a".match(create(v)), expected);
}

for (let v of [1, true, Symbol.iterator, "", {}, []]) {
    assertThrowsInstanceOf(() => "a-a".match(create(v)), TypeError);
}

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