Array.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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, {
  26. get() {
  27. return 10;
  28. },
  29. });
  30. assert(a.toString() === "1,2,3,10");
  31. [-1, -100, -0.1, 0.1, 1.23, Infinity, -Infinity, NaN].forEach(value => {
  32. assertThrowsError(
  33. () => {
  34. new Array(value);
  35. },
  36. {
  37. error: TypeError,
  38. message: "Invalid array length",
  39. }
  40. );
  41. });
  42. console.log("PASS");
  43. } catch (e) {
  44. console.log("FAIL: " + e);
  45. }