44 lines
1.6 KiB
JavaScript
44 lines
1.6 KiB
JavaScript
import assert from "node:assert/strict";
|
|
import { buildFindings, createFileRecord } from "../scripts/core/finding-engine.js";
|
|
import { createFileLocator } from "../scripts/core/path-utils.js";
|
|
|
|
const files = [
|
|
createFileRecord(createFileLocator("data", "modules/example/icons/token/Ork1_Token.webp"), 1234),
|
|
createFileRecord(createFileLocator("data", "modules/example/storage/unused.webp"), 3456)
|
|
];
|
|
|
|
const references = [
|
|
{
|
|
sourceType: "world-document",
|
|
sourceScope: { ownerType: "world", ownerId: "demo-world", systemId: "demo-system", subtype: "actors" },
|
|
sourceLabel: "Actor demo",
|
|
rawValue: "modules/example/icons/token/Ork*_Token.webp",
|
|
normalized: {
|
|
...createFileLocator("data", "modules/example/icons/token/Ork*_Token.webp"),
|
|
targetKind: "wildcard"
|
|
}
|
|
}
|
|
];
|
|
|
|
const findings = buildFindings({ files, references });
|
|
|
|
assert.equal(
|
|
findings.some(finding => finding.kind === "broken-reference" && finding.target.locator === "data:modules/example/icons/token/Ork*_Token.webp"),
|
|
false,
|
|
"matching wildcard references must not be reported as broken"
|
|
);
|
|
|
|
assert.equal(
|
|
findings.some(finding => finding.kind === "orphan-file" && finding.target.locator === "data:modules/example/icons/token/Ork1_Token.webp"),
|
|
false,
|
|
"files matched by a wildcard reference must not be reported as orphaned"
|
|
);
|
|
|
|
assert.equal(
|
|
findings.some(finding => finding.kind === "orphan-file" && finding.target.locator === "data:modules/example/storage/unused.webp"),
|
|
true,
|
|
"unmatched package storage files should still be reported as orphaned"
|
|
);
|
|
|
|
console.log("wildcard-reference-test: ok");
|