73 lines
1.9 KiB
JavaScript
73 lines
1.9 KiB
JavaScript
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",
|
|
);
|
|
});
|