38 lines · 1.2 KB · TypeScript
RawDownload
import { describe, expect, it } from "vite-plus/test"; import { inferImageExtension, parseBase64DataUrl } from "./imageMime.ts"; describe("imageMime", () => {  it("parses base64 data URL with mime type", () => {    expect(parseBase64DataUrl("data:image/png;base64,SGVsbG8=")).toEqual({      mimeType: "image/png",      base64: "SGVsbG8=",    });  });   it("parses base64 data URL with mime parameters", () => {    expect(parseBase64DataUrl("data:image/png;charset=utf-8;base64,SGVsbG8=")).toEqual({      mimeType: "image/png",      base64: "SGVsbG8=",    });  });   it("rejects non-base64 data URL", () => {    expect(parseBase64DataUrl("data:image/png;charset=utf-8,hello")).toBeNull();  });   it("rejects missing mime type", () => {    expect(parseBase64DataUrl("data:;base64,SGVsbG8=")).toBeNull();  });   it("parses base64 data URL with spaces in payload", () => {    expect(parseBase64DataUrl("data:image/png;base64,SGVs bG8=\n")).toEqual({      mimeType: "image/png",      base64: "SGVsbG8=",    });  });   it("does not read inherited keys from mime extension map", () => {    expect(inferImageExtension({ mimeType: "constructor" })).toBe(".bin");  });});

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t