// Constructors can't be called so we can't pattern match | |
// them in replace and sort. | |
function a() { | |
var b = {a: "A"}; | |
class X { | |
constructor(a) { | |
return b[a] | |
} | |
}; | |
assertThrowsInstanceOf(() => "a".replace(/a/, X), TypeError); | |
} | |
function b() { | |
class X { | |
constructor(x, y) { | |
return x - y; | |
} | |
} | |
assertThrowsInstanceOf(() => [1, 2, 3].sort(X), TypeError); | |
} | |
a(); | |
b(); | |
if (typeof reportCompare === "function") | |
reportCompare(0, 0, "OK"); |