summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/RegExp/replace-compile.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/non262/RegExp/replace-compile.js')
-rw-r--r--js/src/tests/non262/RegExp/replace-compile.js21
1 files changed, 21 insertions, 0 deletions
diff --git a/js/src/tests/non262/RegExp/replace-compile.js b/js/src/tests/non262/RegExp/replace-compile.js
new file mode 100644
index 0000000000..45359037af
--- /dev/null
+++ b/js/src/tests/non262/RegExp/replace-compile.js
@@ -0,0 +1,21 @@
+var BUGNUMBER = 1287524;
+var summary = 'RegExp.prototype[@@replace] should call replacer function after collecting all matches.';
+
+print(BUGNUMBER + ": " + summary);
+
+var rx = RegExp("a", "g");
+var r = rx[Symbol.replace]("abba", function() {
+ rx.compile("b", "g");
+ return "?";
+});
+assertEq(r, "?bb?");
+
+rx = RegExp("a", "g");
+r = "abba".replace(rx, function() {
+ rx.compile("b", "g");
+ return "?";
+});
+assertEq(r, "?bb?");
+
+if (typeof reportCompare === "function")
+ reportCompare(true, true);