This commit is contained in:
2026-08-04 14:28:26 +02:00
parent 44b2eaf273
commit 6794896ac7
37 changed files with 3263 additions and 195 deletions
+72
View File
@@ -0,0 +1,72 @@
import { test } from "node:test";
import assert from "node:assert/strict";
import { join } from "node:path";
import {
isContentRelevantPath,
isWatcherNoisePath,
} from "../out/indexer/fileScanner.js";
test("isWatcherNoisePath filters .git internals", () => {
assert.equal(
isWatcherNoisePath(join("C:/proj", ".git", "index")),
true,
".git files are noise",
);
assert.equal(
isWatcherNoisePath(join("C:/proj", "data", ".git", "FETCH_HEAD")),
true,
"nested .git directories are noise",
);
assert.equal(
isWatcherNoisePath(join("C:/proj", "Data", "Mod.xml")),
false,
"project XML is not noise",
);
assert.equal(
isWatcherNoisePath(join("C:/proj", ".gitignore")),
false,
".gitignore is a real project file",
);
assert.equal(
isWatcherNoisePath(join("C:/proj", "Data", "UnitCrate.xml.git")),
true,
"editor temp files ending in .git are noise",
);
assert.equal(
isWatcherNoisePath(join("C:/proj", "Data", "UnitCrate.xml.tmp")),
true,
".tmp files are noise",
);
assert.equal(
isWatcherNoisePath(join("C:/proj", "Data", "Mod.xml~")),
true,
"backup files ending in ~ are noise",
);
assert.equal(
isWatcherNoisePath(join("C:/proj", "Data", ".#Mod.xml")),
true,
"lock files starting with .# are noise",
);
});
test("isContentRelevantPath only reacts to XML-ish content", () => {
assert.equal(isContentRelevantPath("a.xml"), true);
assert.equal(isContentRelevantPath("a.w3x"), true);
assert.equal(
isContentRelevantPath("a.manifestxml"),
false,
"there is no .manifestxml source format",
);
assert.equal(
isContentRelevantPath("a.w3d"),
false,
".w3d is binary art, not text XML",
);
assert.equal(isContentRelevantPath("a.dds"), false);
assert.equal(isContentRelevantPath("a.xml.git"), false);
assert.equal(
isContentRelevantPath("a.lua"),
false,
"lua is not indexed yet",
);
});