Files
moteva/frontend/tests/vectorImage.test.mjs
T

29 lines
1.1 KiB
JavaScript
Raw Normal View History

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);
});