diff options
Diffstat (limited to 'Userland/Libraries/LibJS/Tests/builtins/Array/Array.isArray.js')
-rw-r--r-- | Userland/Libraries/LibJS/Tests/builtins/Array/Array.isArray.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/Userland/Libraries/LibJS/Tests/builtins/Array/Array.isArray.js b/Userland/Libraries/LibJS/Tests/builtins/Array/Array.isArray.js new file mode 100644 index 0000000000..bbe12a8c44 --- /dev/null +++ b/Userland/Libraries/LibJS/Tests/builtins/Array/Array.isArray.js @@ -0,0 +1,26 @@ +test("length is 1", () => { + expect(Array.isArray).toHaveLength(1); +}); + +test("arguments that evaluate to false", () => { + expect(Array.isArray()).toBeFalse(); + expect(Array.isArray("1")).toBeFalse(); + expect(Array.isArray("foo")).toBeFalse(); + expect(Array.isArray(1)).toBeFalse(); + expect(Array.isArray(1, 2, 3)).toBeFalse(); + expect(Array.isArray(undefined)).toBeFalse(); + expect(Array.isArray(null)).toBeFalse(); + expect(Array.isArray(Infinity)).toBeFalse(); + expect(Array.isArray({})).toBeFalse(); +}); + +test("arguments that evaluate to true", () => { + expect(Array.isArray([])).toBeTrue(); + expect(Array.isArray([1])).toBeTrue(); + expect(Array.isArray([1, 2, 3])).toBeTrue(); + expect(Array.isArray(new Array())).toBeTrue(); + expect(Array.isArray(new Array(10))).toBeTrue(); + expect(Array.isArray(new Array("a", "b", "c"))).toBeTrue(); + // FIXME: Array.prototype is supposed to be an array! + // expect(Array.isArray(Array.prototype)).toBeTrue(); +}); |