Files
pepperplus-ui/test/utils/duplicateIndices.test.ts

23 lines
777 B
TypeScript

import duplicateIndices from "../../src/utils/duplicateIndices.ts";
describe("duplicateIndices (unit)", () => {
it("returns an empty array for empty input", () => {
expect(duplicateIndices<number>([])).toEqual([]);
});
it("returns an empty array when no duplicates exist", () => {
expect(duplicateIndices([1, 2, 3, 4])).toEqual([]);
});
it("returns all positions for every duplicated value", () => {
const result = duplicateIndices(["a", "b", "a", "c", "b", "b"]);
expect(result.sort()).toEqual([0, 1, 2, 4, 5]);
});
it("only treats identical references as duplicate objects", () => {
const shared = { v: 1 };
const result = duplicateIndices([shared, { v: 1 }, shared, shared]);
expect(result.sort()).toEqual([0, 2, 3]);
});
});