exponentiation-basic.js 778 B

123456789101112131415161718192021222324252627282930
  1. load("test-common.js");
  2. try {
  3. assert(2 ** 0 === 1);
  4. assert(2 ** 1 === 2);
  5. assert(2 ** 2 === 4);
  6. assert(2 ** 3 === 8);
  7. assert(2 ** -3 === 0.125);
  8. assert(3 ** 2 === 9);
  9. assert(0 ** 0 === 1);
  10. assert(2 ** 3 ** 2 === 512);
  11. assert(2 ** (3 ** 2) === 512);
  12. assert((2 ** 3) ** 2 === 64);
  13. assert("2" ** "3" === 8);
  14. assert("" ** [] === 1);
  15. assert([] ** null === 1);
  16. assert(null ** null === 1);
  17. assert(undefined ** null === 1);
  18. assert(isNaN(NaN ** 2));
  19. assert(isNaN(2 ** NaN));
  20. assert(isNaN(undefined ** 2));
  21. assert(isNaN(2 ** undefined));
  22. assert(isNaN(null ** undefined));
  23. assert(isNaN(2 ** "foo"));
  24. assert(isNaN("foo" ** 2));
  25. console.log("PASS");
  26. } catch (e) {
  27. console.log("FAIL: " + e);
  28. }