Array.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. load("test-common.js");
  2. try {
  3. assert(Array.length === 1);
  4. assert(Array.name === "Array");
  5. assert(Array.prototype.length === 0);
  6. assert(typeof Array() === "object");
  7. assert(typeof new Array() === "object");
  8. var a;
  9. a = new Array(5);
  10. assert(a.length === 5);
  11. a = new Array("5");
  12. assert(a.length === 1);
  13. assert(a[0] === "5");
  14. a = new Array(1, 2, 3);
  15. assert(a.length === 3);
  16. assert(a[0] === 1);
  17. assert(a[1] === 2);
  18. assert(a[2] === 3);
  19. a = new Array([1, 2, 3]);
  20. assert(a.length === 1);
  21. assert(a[0][0] === 1);
  22. assert(a[0][1] === 2);
  23. assert(a[0][2] === 3);
  24. a = new Array(1, 2, 3);
  25. Object.defineProperty(a, 3, { get() { return 10; } });
  26. assert(a.toString() === "1,2,3,10");
  27. [-1, -100, -0.1, 0.1, 1.23, Infinity, -Infinity, NaN].forEach(value => {
  28. assertThrowsError(() => {
  29. new Array(value);
  30. }, {
  31. error: TypeError,
  32. message: "Invalid array length"
  33. });
  34. });
  35. console.log("PASS");
  36. } catch (e) {
  37. console.log("FAIL: " + e);
  38. }