binary-bitwise-operators-basic.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. try {
  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. assert((1 | 0) === 1);
  9. assert((1 | 1) === 1);
  10. assert((1 | 2) === 3);
  11. assert((1 | 3) === 3);
  12. assert((1 | 4) === 5);
  13. assert((1 | 5) === 5);
  14. assert((2 | 0) === 2);
  15. assert((2 | 1) === 3);
  16. assert((2 | 2) === 2);
  17. assert((2 | 3) === 3);
  18. assert((2 | 4) === 6);
  19. assert((2 | 5) === 7);
  20. assert((3 | 0) === 3);
  21. assert((3 | 1) === 3);
  22. assert((3 | 2) === 3);
  23. assert((3 | 3) === 3);
  24. assert((3 | 4) === 7);
  25. assert((3 | 5) === 7);
  26. assert((4 | 0) === 4);
  27. assert((4 | 1) === 5);
  28. assert((4 | 2) === 6);
  29. assert((4 | 3) === 7);
  30. assert((4 | 4) === 4);
  31. assert((4 | 5) === 5);
  32. assert((5 | 0) === 5);
  33. assert((5 | 1) === 5);
  34. assert((5 | 2) === 7);
  35. assert((5 | 3) === 7);
  36. assert((5 | 4) === 5);
  37. assert((5 | 5) === 5);
  38. var x = 3;
  39. var y = 7;
  40. assert(("42" | 6) === 46);
  41. assert((x | y) === 7);
  42. assert((x | [[[[12]]]]) === 15);
  43. assert((undefined | y) === 7);
  44. assert(("a" | "b") === 0);
  45. assert((null | null) === 0);
  46. assert((undefined | undefined) === 0);
  47. assert((NaN | NaN) === 0);
  48. assert((NaN | 6) === 6);
  49. assert((Infinity | Infinity) === 0);
  50. assert((-Infinity | Infinity) === 0);
  51. console.log("PASS");
  52. } catch (e) {
  53. console.log("FAIL: " + e);
  54. }