Array.of.js 933 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. load("test-common.js");
  2. try {
  3. assert(Array.of.length === 0);
  4. assert(typeof Array.of() === "object");
  5. var a;
  6. a = Array.of(5);
  7. assert(a.length === 1);
  8. assert(a[0] === 5);
  9. a = Array.of("5");
  10. assert(a.length === 1);
  11. assert(a[0] === "5");
  12. a = Array.of(Infinity);
  13. assert(a.length === 1);
  14. assert(a[0] === Infinity);
  15. a = Array.of(1, 2, 3);
  16. assert(a.length === 3);
  17. assert(a[0] === 1);
  18. assert(a[1] === 2);
  19. assert(a[2] === 3);
  20. a = Array.of([1, 2, 3]);
  21. assert(a.length === 1);
  22. assert(a[0][0] === 1);
  23. assert(a[0][1] === 2);
  24. assert(a[0][2] === 3);
  25. let t = [1, 2, 3];
  26. Object.defineProperty(t, 3, { get() { return 4; } });
  27. a = Array.of(...t);
  28. assert(a.length === 4);
  29. assert(a[0] === 1);
  30. assert(a[1] === 2);
  31. assert(a[2] === 3);
  32. assert(a[3] === 4);
  33. console.log("PASS");
  34. } catch (e) {
  35. console.log("FAIL: " + e);
  36. }