summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/RegExp/constructor-ordering.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/non262/RegExp/constructor-ordering.js')
-rw-r--r--js/src/tests/non262/RegExp/constructor-ordering.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/js/src/tests/non262/RegExp/constructor-ordering.js b/js/src/tests/non262/RegExp/constructor-ordering.js
new file mode 100644
index 0000000000..3e3a9b695b
--- /dev/null
+++ b/js/src/tests/non262/RegExp/constructor-ordering.js
@@ -0,0 +1,16 @@
+// Make sure that we don't misorder subclassing accesses with respect to
+// accessing regex arg internal slots
+//
+// Test credit André Bargull.
+
+var re = /a/;
+var newRe = Reflect.construct(RegExp, [re], Object.defineProperty(function(){}.bind(null), "prototype", {
+ get() {
+ re.compile("b");
+ return RegExp.prototype;
+ }
+}));
+assertEq(newRe.source, "a");
+
+if (typeof reportCompare === 'function')
+ reportCompare(0,0,"OK");