[JSC] AI should not propagate AbstractValue relying on constant folding phase
[WebKit-https.git] / JSTests / stress / big-int-bitwise-or-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 let o = {
11     [Symbol.toPrimitive]: function() {
12         throw new Error("Bad");
13     }
14 };
15
16 try{
17     o | Symbol("2");
18     assert.sameValue(true, false, "Exception expected to be throwed, but executed without error");
19 } catch (e) {
20     assert.sameValue(e.message, "Bad", "Expected to throw Error('Bad'), but got: " + e);
21 }
22
23 try{
24     Symbol("2") | o;
25     assert.sameValue(true, false, "Exception expected to be throwed, but executed without error");
26 } catch (e) {
27     assert.sameValue(e instanceof TypeError, true, "Expected to throw TypeError, but got: " + e)
28 }
29