Serenity Operating System
at hosted 61 lines 1.5 kB view raw
1try { 2 assert((0 | 0) === 0); 3 assert((0 | 1) === 1); 4 assert((0 | 2) === 2); 5 assert((0 | 3) === 3); 6 assert((0 | 4) === 4); 7 assert((0 | 5) === 5); 8 9 assert((1 | 0) === 1); 10 assert((1 | 1) === 1); 11 assert((1 | 2) === 3); 12 assert((1 | 3) === 3); 13 assert((1 | 4) === 5); 14 assert((1 | 5) === 5); 15 16 assert((2 | 0) === 2); 17 assert((2 | 1) === 3); 18 assert((2 | 2) === 2); 19 assert((2 | 3) === 3); 20 assert((2 | 4) === 6); 21 assert((2 | 5) === 7); 22 23 assert((3 | 0) === 3); 24 assert((3 | 1) === 3); 25 assert((3 | 2) === 3); 26 assert((3 | 3) === 3); 27 assert((3 | 4) === 7); 28 assert((3 | 5) === 7); 29 30 assert((4 | 0) === 4); 31 assert((4 | 1) === 5); 32 assert((4 | 2) === 6); 33 assert((4 | 3) === 7); 34 assert((4 | 4) === 4); 35 assert((4 | 5) === 5); 36 37 assert((5 | 0) === 5); 38 assert((5 | 1) === 5); 39 assert((5 | 2) === 7); 40 assert((5 | 3) === 7); 41 assert((5 | 4) === 5); 42 assert((5 | 5) === 5); 43 44 var x = 3; 45 var y = 7; 46 assert(("42" | 6) === 46); 47 assert((x | y) === 7); 48 assert((x | [[[[12]]]]) === 15); 49 assert((undefined | y) === 7); 50 assert(("a" | "b") === 0); 51 assert((null | null) === 0); 52 assert((undefined | undefined) === 0); 53 assert((NaN | NaN) === 0); 54 assert((NaN | 6) === 6); 55 assert((Infinity | Infinity) === 0); 56 assert((-Infinity | Infinity) === 0); 57 58 console.log("PASS"); 59} catch (e) { 60 console.log("FAIL: " + e); 61}