import assert from "node:assert/strict"; import test from "node:test"; import { isSvgSource, isVectorImageNode } from "../src/ui/lib/vectorImage.ts"; const imageNode = { id: "node-1", type: "image", title: "image.png", x: 0, y: 0, width: 100, height: 100, content: "/uploads/image.png" }; test("recognizes uploaded and CAD-derived SVG image nodes", () => { assert.equal(isVectorImageNode({ ...imageNode, title: "drawing (DWG).svg" }), true); assert.equal(isVectorImageNode({ ...imageNode, content: "/uploads/plan.svg?version=2" }), true); assert.equal(isVectorImageNode({ ...imageNode, content: "data:image/svg+xml,%3Csvg/%3E" }), true); assert.equal(isVectorImageNode({ ...imageNode, layerRole: "vectorized-image" }), true); assert.equal(isVectorImageNode(imageNode), false); }); test("recognizes encoded SVG paths without treating raster paths as vector", () => { assert.equal(isSvgSource("https://assets.example.com/%E5%9B%BE%E7%BA%B8.svg#preview"), true); assert.equal(isSvgSource("https://assets.example.com/image.png?format=svg"), false); });