Array.isArray.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. test("length is 1", () => {
  2. expect(Array.isArray).toHaveLength(1);
  3. });
  4. test("arguments that evaluate to false", () => {
  5. expect(Array.isArray()).toBeFalse();
  6. expect(Array.isArray("1")).toBeFalse();
  7. expect(Array.isArray("foo")).toBeFalse();
  8. expect(Array.isArray(1)).toBeFalse();
  9. expect(Array.isArray(1, 2, 3)).toBeFalse();
  10. expect(Array.isArray(undefined)).toBeFalse();
  11. expect(Array.isArray(null)).toBeFalse();
  12. expect(Array.isArray(Infinity)).toBeFalse();
  13. expect(Array.isArray({})).toBeFalse();
  14. });
  15. test("arguments that evaluate to true", () => {
  16. expect(Array.isArray([])).toBeTrue();
  17. expect(Array.isArray([1])).toBeTrue();
  18. expect(Array.isArray([1, 2, 3])).toBeTrue();
  19. expect(Array.isArray(new Array())).toBeTrue();
  20. expect(Array.isArray(new Array(10))).toBeTrue();
  21. expect(Array.isArray(new Array("a", "b", "c"))).toBeTrue();
  22. expect(Array.isArray(Array.prototype)).toBeTrue();
  23. expect(Array.isArray(new Proxy([], {}))).toBeTrue();
  24. });
  25. test("Revoked Proxy as argument throws", () => {
  26. const revocable = Proxy.revocable([], {});
  27. revocable.revoke();
  28. expect(() => {
  29. Array.isArray(revocable.proxy);
  30. }).toThrowWithMessage(TypeError, "An operation was performed on a revoked Proxy object");
  31. });