update-expressions-basic.js 865 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. load("test-common.js");
  2. try {
  3. assertThrowsError(() => {
  4. ++x;
  5. }, {
  6. error: ReferenceError,
  7. message: "'x' is not defined",
  8. });
  9. var n = 0;
  10. assert(++n === 1);
  11. assert(n === 1);
  12. var n = 0;
  13. assert(n++ === 0);
  14. assert(n === 1);
  15. var n = 0;
  16. assert(--n === -1);
  17. assert(n === -1);
  18. var n = 0;
  19. assert(n-- === 0);
  20. assert(n === -1);
  21. var a = [];
  22. assert(a++ === 0);
  23. assert(a === 1);
  24. var b = true;
  25. assert(b-- === 1);
  26. assert(b === 0);
  27. var s = "foo";
  28. assert(isNaN(++s));
  29. assert(isNaN(s));
  30. var s = "foo";
  31. assert(isNaN(s++));
  32. assert(isNaN(s));
  33. var s = "foo";
  34. assert(isNaN(--s));
  35. assert(isNaN(s));
  36. var s = "foo";
  37. assert(isNaN(s--));
  38. assert(isNaN(s));
  39. console.log("PASS");
  40. } catch (e) {
  41. console.log("FAIL: " + e);
  42. }