blob: e08e67d80d795a729b38908a850e8ed0d0f838d2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
print = function(s) { return s.toString(); }
assertEq = function(a,b) {
try { print(a); print(b); } catch(exc) {}
}
g = newGlobal({newCompartment: true});
g.parent = this;
g.eval("(" + function() {
Debugger(parent).onExceptionUnwind = function(frame) {
frame.older
}
} + ")()")
function a() {};
function b() {};
for (let _ of Array(100))
assertEq(b instanceof a, true);
function c(){};
function d(){};
function e(){};
Object.defineProperty(a, Symbol.hasInstance, {value: assertEq });
let funcs = [a, b, c, d];
for (let f of funcs)
assertEq(e instanceof f, true);
|