import { mapFileTypeToIconName } from "./mapFileTypeToIconName"; describe("mapFileTypeToIconName", () => { it("returns 'alert' when neither name nor type is provided", () => { expect(mapFileTypeToIconName({})).toBe("alert"); }); it.each([ ["application/pdf", undefined, "pdf"], [undefined, "report.pdf", "pdf"], [undefined, "report.doc", "word"], [undefined, "report.docx", "word"], [undefined, "report.odt", "word"], [undefined, "report.fodt", "word"], [undefined, "memo.rtf", "word"], [undefined, "notes.pages", "word"], ["application/vnd.ms-excel", undefined, "excel"], [undefined, "data.xls", "excel"], [undefined, "data.xlsx", "excel"], [undefined, "data.ods", "excel"], [undefined, "data.numbers", "excel"], [undefined, "data.csv", "excel"], ["video/mp4", undefined, "videoFile"], ["video/quicktime", undefined, "videoFile"], [undefined, "clip.mp4", "videoFile"], [undefined, "clip.mov", "videoFile"], [undefined, "clip.MOV", "videoFile"], [undefined, "clip.webm", "videoFile"], [undefined, "clip.mkv", "videoFile"], [undefined, "clip.avi", "videoFile"], [undefined, "clip.m4v", "videoFile"], [undefined, "clip.wmv", "videoFile"], [undefined, "clip.flv", "videoFile"], [undefined, "clip.mpg", "videoFile"], [undefined, "clip.mpeg", "videoFile"], [undefined, "clip.3gp", "videoFile"], ["application/octet-stream", "unknown.bin", "file"], [undefined, "no-extension", "file"], [undefined, "presentation.pptx", "file"], ])("maps type=%s fileName=%s → %s", (fileType, fileName, expected) => { expect(mapFileTypeToIconName({ fileType, fileName })).toBe(expected); }); });