23 lines
777 B
TypeScript
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]);
|
|
});
|
|
});
|