diff options
Diffstat (limited to 'js/src/tests/non262/RegExp/constructor-ordering-2.js')
-rw-r--r-- | js/src/tests/non262/RegExp/constructor-ordering-2.js | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/js/src/tests/non262/RegExp/constructor-ordering-2.js b/js/src/tests/non262/RegExp/constructor-ordering-2.js new file mode 100644 index 0000000000..21a6bbeca7 --- /dev/null +++ b/js/src/tests/non262/RegExp/constructor-ordering-2.js @@ -0,0 +1,21 @@ +// Make sure that we don't ToString the second argument until /after/ doing +// the appropriate subclassing lookups + +var didLookup = false; + +var re = /a/; +var flags = { toString() { assertEq(didLookup, true); return "g"; } }; +var newRe = Reflect.construct(RegExp, [re, flags], + Object.defineProperty(function(){}.bind(null), "prototype", { + get() { + didLookup = true; + return RegExp.prototype; + } +})); + +assertEq(Object.getPrototypeOf(newRe), RegExp.prototype); +assertEq(didLookup, true); + + +if (typeof reportCompare === 'function') + reportCompare(0,0,"OK"); |