Browse Source

LibJS: Improve the TypedArray.prototype.find{,Index} tests

Before this we did not check that it actually gave the first result.
davidot 3 years ago
parent
commit
5cd2e0f3a2

+ 12 - 0
Userland/Libraries/LibJS/Tests/builtins/TypedArray/TypedArray.prototype.find.js

@@ -55,6 +55,12 @@ describe("normal behaviour", () => {
             expect(typedArray.find((value, index) => index === 1)).toBe(2);
             expect(typedArray.find(value => value == "1")).toBe(1);
             expect(typedArray.find(value => value === 10)).toBeUndefined();
+
+            const typedArrayDuplicates = new T([2, 1, 2, 3, 1]);
+
+            expect(typedArrayDuplicates.find(value => value < 3)).toBe(2);
+            expect(typedArrayDuplicates.find(value => value < 2)).toBe(1);
+            expect(typedArrayDuplicates.find(value => value > 1)).toBe(2);
         });
 
         BIGINT_TYPED_ARRAYS.forEach(T => {
@@ -67,6 +73,12 @@ describe("normal behaviour", () => {
             expect(typedArray.find(value => value == 1)).toBe(1n);
             expect(typedArray.find(value => value == "1")).toBe(1n);
             expect(typedArray.find(value => value === 1)).toBeUndefined();
+
+            const typedArrayDuplicates = new T([2n, 1n, 2n, 3n, 1n]);
+
+            expect(typedArrayDuplicates.find(value => value < 3)).toBe(2n);
+            expect(typedArrayDuplicates.find(value => value < 2)).toBe(1n);
+            expect(typedArrayDuplicates.find(value => value > 1)).toBe(2n);
         });
     });
 

+ 12 - 0
Userland/Libraries/LibJS/Tests/builtins/TypedArray/TypedArray.prototype.findIndex.js

@@ -55,6 +55,12 @@ describe("normal behaviour", () => {
             expect(typedArray.findIndex((value, index) => index === 1)).toBe(1);
             expect(typedArray.findIndex(value => value == "1")).toBe(0);
             expect(typedArray.findIndex(value => value === 10)).toBe(-1);
+
+            const typedArrayDuplicates = new T([1, 2, 3, 1]);
+
+            expect(typedArrayDuplicates.findIndex(value => value === 1)).toBe(0);
+            expect(typedArrayDuplicates.findIndex(value => value === 2)).toBe(1);
+            expect(typedArrayDuplicates.findIndex(value => value === 3)).toBe(2);
         });
 
         BIGINT_TYPED_ARRAYS.forEach(T => {
@@ -67,6 +73,12 @@ describe("normal behaviour", () => {
             expect(typedArray.findIndex(value => value == 1)).toBe(0);
             expect(typedArray.findIndex(value => value == "1")).toBe(0);
             expect(typedArray.findIndex(value => value === 1)).toBe(-1);
+
+            const typedArrayDuplicates = new T([1n, 2n, 3n, 1n]);
+
+            expect(typedArrayDuplicates.findIndex(value => value === 1n)).toBe(0);
+            expect(typedArrayDuplicates.findIndex(value => value === 2n)).toBe(1);
+            expect(typedArrayDuplicates.findIndex(value => value === 3n)).toBe(2);
         });
     });