Files
osmWorkflow/scripts/test-road-compiler-cli.js

17 lines
1.0 KiB
JavaScript

#!/usr/bin/env node
"use strict";
const assert = require("assert/strict");
const { parseCompletionMarker } = require("./lib/road-compiler-cli");
const input = { areaId: "fixture", outDir: "/tmp/fixture/native-road" };
const marker = `NATIVE_ROAD_COMPILE_DONE ${JSON.stringify({ areaId: input.areaId, output: input.outDir, roads: 1, endpoints: 2, diagnostics: 0 })}`;
assert.equal(parseCompletionMarker(marker, input).areaId, input.areaId);
assert.throws(() => parseCompletionMarker("compiler output", input), /exactly one/);
assert.throws(() => parseCompletionMarker(`${marker}\n${marker}`, input), /exactly one/);
assert.throws(() => parseCompletionMarker("NATIVE_ROAD_COMPILE_DONE {", input), /Invalid/);
assert.throws(() => parseCompletionMarker("NATIVE_ROAD_COMPILE_DONE {\"areaId\":\"other\",\"output\":\"/tmp/fixture/native-road\"}", input), /areaId mismatch/);
assert.throws(() => parseCompletionMarker("NATIVE_ROAD_COMPILE_DONE {\"areaId\":\"fixture\",\"output\":\"/tmp/other\"}", input), /output mismatch/);
console.log("road compiler CLI tests passed");