17 lines
1.0 KiB
JavaScript
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");
|