#!/usr/bin/env node "use strict"; const assert = require("assert"); const fs = require("fs"); const { resolveStages, canonicalStages } = require("./lib/build-stages"); assert.deepEqual(canonicalStages(resolveStages({}, ["compress", "blender", "preview"])), ["blender", "compress", "preview"]); assert.deepEqual(canonicalStages(resolveStages({}, ["all"])), ["blender", "cesium", "compress", "package", "preview"]); assert.deepEqual(canonicalStages(resolveStages({ intermediates: true, blender: true, cesium: true, compress: true, package: true })), ["intermediates", "blender", "cesium", "compress", "package"]); assert.throws(() => resolveStages({}, ["intermediates", "reimport"]), /mutually exclusive/); const buildAreaSource = fs.readFileSync(require("path").join(__dirname, "build-area.js"), "utf8"); assert.match(buildAreaSource, /"--debug-gpu-force-workarounds"/); console.log("Build stage tests passed.");