summaryrefslogtreecommitdiffstats
path: root/js/src/tests/ecma_6/RegExp/constructor-ordering-2.js
blob: 21a6bbeca745a272ed4edf937a3b1a21d4eaa65e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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");