summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/String/match.js
blob: b9b0d27a6764a371838b2176b3bce13a7b30c4fd (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 = 887016;
var summary = "Call RegExp.prototype[@@match] from String.prototype.match.";

print(BUGNUMBER + ": " + summary);

var called = 0;
var myRegExp = {
  [Symbol.match](S) {
    assertEq(S, "abcAbcABC");
    called++;
    return 42;
  }
};
assertEq("abcAbcABC".match(myRegExp), 42);
assertEq(called, 1);

var origMatch = RegExp.prototype[Symbol.match];

called = 0;
RegExp.prototype[Symbol.match] = function(S) {
  assertEq(S, "abcAbcABC");
  called++;
  return 43;
};
assertEq("abcAbcABC".match("abc"), 43);
assertEq(called, 1);

RegExp.prototype[Symbol.match] = origMatch;

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