assignment-operators.js 910 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. let x;
  2. test("basic functionality", () => {
  3. x = 1;
  4. expect((x = 2)).toBe(2);
  5. expect(x).toBe(2);
  6. x = 1;
  7. expect((x += 2)).toBe(3);
  8. expect(x).toBe(3);
  9. x = 3;
  10. expect((x -= 2)).toBe(1);
  11. expect(x).toBe(1);
  12. x = 3;
  13. expect((x *= 2)).toBe(6);
  14. expect(x).toBe(6);
  15. x = 6;
  16. expect((x /= 2)).toBe(3);
  17. expect(x).toBe(3);
  18. x = 6;
  19. expect((x %= 4)).toBe(2);
  20. expect(x).toBe(2);
  21. x = 2;
  22. expect((x **= 3)).toBe(8);
  23. expect(x).toBe(8);
  24. x = 3;
  25. expect((x &= 2)).toBe(2);
  26. expect(x).toBe(2);
  27. x = 3;
  28. expect((x |= 4)).toBe(7);
  29. expect(x).toBe(7);
  30. x = 6;
  31. expect((x ^= 2)).toBe(4);
  32. expect(x).toBe(4);
  33. x = 2;
  34. expect((x <<= 2)).toBe(8);
  35. expect(x).toBe(8);
  36. x = 8;
  37. expect((x >>= 2)).toBe(2);
  38. expect(x).toBe(2);
  39. x = -(2 ** 32 - 10);
  40. expect((x >>>= 2)).toBe(2);
  41. expect(x).toBe(2);
  42. });