Invalid flags in a RegExp literal should be an early SyntaxError
[WebKit-https.git] / JSTests / stress / big-int-equals-to-primitive-precedence.js
1 //@ runBigIntEnabled
2
3 assert = {
4     sameValue: function (input, expected, message) {
5         if (input !== expected)
6             throw new Error(message);
7     }
8 };
9
10 function testEquals(x, y, z, message) {
11     assert.sameValue(x == y, z, message);
12     assert.sameValue(y == x, z, message);
13 }
14
15 testEquals(Object(2n), 1n, false, "ToPrimitive: unbox object with internal slot");
16
17 let o = {
18     [Symbol.toPrimitive]: function() {
19         return 2n;
20     },
21     valueOf: function () {
22         throw new Error("Should never execute it");
23     },
24     toString: function () {
25         throw new Error("Should never execute it");
26     }
27 };
28 testEquals(o, 2n, true, "ToPrimitive: @@toPrimitive");
29
30 o = {
31     valueOf: function() {
32         return 2n;
33     },
34     toString: function () {
35         throw new Error("Should never execute it");
36     }
37 };
38 testEquals(o, 1n, false, "ToPrimitive: valueOf");
39