25 lines
798 B
TypeScript
25 lines
798 B
TypeScript
import fs from "node:fs";
|
|
import path from "node:path";
|
|
|
|
function assert(condition: unknown, message: string) {
|
|
if (!condition) throw new Error(message);
|
|
}
|
|
|
|
export function runTests() {
|
|
const projectRoot = process.cwd();
|
|
const hookPath = path.join(projectRoot, "hooks", "useLeafletMap.ts");
|
|
const source = fs.readFileSync(hookPath, "utf8");
|
|
|
|
assert(
|
|
source.includes("bindMarkerTouchSelect") &&
|
|
source.includes('"touchend"') &&
|
|
source.includes('"pointerup"'),
|
|
"Leaflet city markers must bind touch/pointer selection events for mobile taps",
|
|
);
|
|
assert(
|
|
source.includes("L.DomEvent.stopPropagation") &&
|
|
source.includes("L.DomEvent.preventDefault"),
|
|
"mobile marker tap handling must stop map click propagation and prevent browser touch defaults",
|
|
);
|
|
}
|