binary-bitwise-or.js 1.5 KB

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