assignment-operators.js 803 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. load("test-common.js");
  2. try {
  3. var x;
  4. x = 1;
  5. assert((x = 2) === 2);
  6. assert(x === 2);
  7. x = 1;
  8. assert((x += 2) === 3);
  9. assert(x === 3);
  10. x = 3;
  11. assert((x -= 2) === 1);
  12. assert(x === 1);
  13. x = 3;
  14. assert((x *= 2) === 6);
  15. assert(x === 6);
  16. x = 6;
  17. assert((x /= 2) === 3);
  18. assert(x === 3);
  19. x = 3;
  20. assert((x &= 2) === 2);
  21. assert(x === 2);
  22. x = 3;
  23. assert((x |= 4) === 7);
  24. assert(x === 7);
  25. x = 6;
  26. assert((x ^= 2) === 4);
  27. assert(x === 4);
  28. x = 2;
  29. assert((x <<= 2) === 8);
  30. assert(x === 8);
  31. x = 8;
  32. assert((x >>= 2) === 2);
  33. assert(x === 2);
  34. x = -(2 ** 32 - 10);
  35. assert((x >>>= 2) === 2);
  36. assert(x === 2);
  37. console.log("PASS");
  38. } catch (e) {
  39. console.log("FAIL: " + e);
  40. }