diff options
Diffstat (limited to 'js/src/tests/ecma_6/String/match.js')
-rw-r--r-- | js/src/tests/ecma_6/String/match.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/js/src/tests/ecma_6/String/match.js b/js/src/tests/ecma_6/String/match.js new file mode 100644 index 000000000..b9b0d27a6 --- /dev/null +++ b/js/src/tests/ecma_6/String/match.js @@ -0,0 +1,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); |