Publish Claude Code Binaries / Stage and publish binaries (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-arm64 (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build linux-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build windows-amd64 (push) Canceled after 0s
Sync Tutti Agent Skills / sync (push) Canceled after 0s
Windows Agent Adapters / Test Windows agent adapters (push) Canceled after 0s
Windows Daemon Adapters / Test Windows daemon adapters (push) Canceled after 0s
Publish Tutti App Runtime / Publish runtime catalog (push) Canceled after 0s
24 lines
840 B
TypeScript
24 lines
840 B
TypeScript
import { describe, expect, it } from "vitest";
|
|
|
|
import { cssSafeSvgDataUrl, svgDataUrlPrefix } from "./cssSafeSvgDataUrl";
|
|
|
|
describe("cssSafeSvgDataUrl", () => {
|
|
it("encodes SVG markup for a quoted CSS url", () => {
|
|
const svg = "<" + 'svg viewBox="0 0 24 24"><path fill="#000" /></svg>';
|
|
const url = cssSafeSvgDataUrl(svg);
|
|
|
|
expect(url).toMatch(/^data:image\/svg\+xml,%3Csvg/);
|
|
expect(url).not.toContain("<" + "svg");
|
|
expect(url).not.toContain('"');
|
|
expect(url).not.toContain("#");
|
|
expect(decodeURIComponent(url.slice(svgDataUrlPrefix.length))).toBe(svg);
|
|
|
|
const style = document.createElement("span").style;
|
|
style.maskImage = `url("${svgDataUrlPrefix}${svg}")`;
|
|
expect(style.maskImage).toBe("");
|
|
|
|
style.maskImage = `url("${url}")`;
|
|
expect(style.maskImage).toBe(`url("${url}")`);
|
|
});
|
|
});
|