blob: ece79ad733f9956394f1923867407f62de800220 [file] [log] [blame]
function assert(a) {
if (!a)
throw new Error("Bad assertion");
}
assert.sameValue = function (input, expected, message) {
if (input !== expected)
throw new Error(message);
}
function testMul(x, y, z) {
assert.sameValue(x * y, z, x + " * " + y + " = " + z);
assert.sameValue(y * x, z, y + " * " + x + " = " + z);
}
let o = {
[Symbol.toPrimitive]: function () { return 300000000000000n; }
}
testMul(500000000000438n, o, 150000000000131400000000000000n);
o.valueOf = function () {
throw new Error("Should never execute it");
};
testMul(700000000000438n, o, 210000000000131400000000000000n);
o.toString = function () {
throw new Error("Should never execute it");
};
testMul(700000000000438n, o, 210000000000131400000000000000n);