forked from phenom/healer-man
Update Healer Man server
This commit is contained in:
1 parent
6114a2295f
commit
69809f7228
593 files changed
+903643
-40774
No files matched your search
@@ -0,0 +1,43 @@
|
||||
import assert from "node:assert/strict";
|
||||
import test from "node:test";
|
||||
import { updateVisualDescriptors } from "./apply-wow-visual-optimization.mjs";
|
||||
|
||||
test("visual publisher rejects a descriptor URL mismatch before updating any package", () => {
|
||||
const targets = [
|
||||
{ label: "stage pack", packageDefinition: { visual: [{ url: "/assets/game/manastorm/33-shadowfang/visual.glb", checksum: "old-stage" }] } },
|
||||
{ label: "registry", packageDefinition: { visual: [{ url: "/assets/game/other/visual.glb", checksum: "old-registry" }] } },
|
||||
{ label: "import", packageDefinition: { visual: [{ url: "/assets/game/manastorm/33-shadowfang/visual.glb", checksum: "old-import" }] } },
|
||||
{ label: "dungeon pack", packageDefinition: { visual: [{ url: "/assets/game/manastorm/33-shadowfang/visual.glb", checksum: "old-dungeon" }] } },
|
||||
];
|
||||
const before = structuredClone(targets);
|
||||
const descriptor = {
|
||||
url: "/assets/game/manastorm/33-shadowfang/visual.glb",
|
||||
checksum: "new",
|
||||
byteLength: 123,
|
||||
triangleCount: 456,
|
||||
};
|
||||
|
||||
assert.throws(() => updateVisualDescriptors(targets, descriptor), /registry visual URL does not match/u);
|
||||
assert.deepEqual(targets, before, "a mismatch in any of the four targets must prevent partial metadata updates");
|
||||
});
|
||||
|
||||
test("visual publisher updates all prevalidated visual descriptors together", () => {
|
||||
const targets = ["stage pack", "registry", "import", "dungeon pack"].map((label) => ({
|
||||
label,
|
||||
packageDefinition: { visual: [{ url: "/assets/game/manastorm/33-shadowfang/visual.glb", checksum: "old" }] },
|
||||
}));
|
||||
const descriptor = {
|
||||
url: "/assets/game/manastorm/33-shadowfang/visual.glb",
|
||||
checksum: "new",
|
||||
byteLength: 123,
|
||||
triangleCount: 456,
|
||||
};
|
||||
|
||||
updateVisualDescriptors(targets, descriptor);
|
||||
for (const { packageDefinition } of targets) {
|
||||
assert.deepEqual(packageDefinition.visual[0], {
|
||||
...descriptor,
|
||||
compression: "meshopt+ktx2",
|
||||
});
|
||||
}
|
||||
});
|
||||
Reference in new issue
Block a user