summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibJS/Tests/builtins/Array/Array.isArray.js
diff options
context:
space:
mode:
Diffstat (limited to 'Userland/Libraries/LibJS/Tests/builtins/Array/Array.isArray.js')
-rw-r--r--Userland/Libraries/LibJS/Tests/builtins/Array/Array.isArray.js26
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();
+});