diff --git a/scripts/format-scope.json b/scripts/format-scope.json index d851aebc7..f6afb7c88 100644 --- a/scripts/format-scope.json +++ b/scripts/format-scope.json @@ -327,6 +327,7 @@ "src/layers/aircraft/render/navara.js", "src/layers/flights/renderer.test.mjs", "src/layers/military/renderer.test.mjs", + "src/layers/military/policy.test.mjs", "src/testSupport/aircraftRecordingRenderer.mjs", "src/layers/aircraft/render/cesium.test.mjs", "src/layers/aircraft/render/cesium.js", diff --git a/src/layers/military/policy.test.mjs b/src/layers/military/policy.test.mjs new file mode 100644 index 000000000..7a33930ee --- /dev/null +++ b/src/layers/military/policy.test.mjs @@ -0,0 +1,31 @@ +import test from 'node:test'; +import assert from 'node:assert/strict'; +import * as Cesium from 'cesium'; +import { + AMBER_TRANSPARENT, + MIL_ICON_COLOR, + TRACKED_ICON_COLOR, + TRACKED_BILLBOARD_SCALE_BY_DISTANCE, +} from './policy.js'; + +const fields = (color) => [color.red, color.green, color.blue, color.alpha]; + +test('the military colours equal the Cesium.Color constants they replace', () => { + const amber = Cesium.Color.fromCssColorString('#FFB800'); + assert.deepEqual(fields(MIL_ICON_COLOR), fields(amber)); + assert.deepEqual( + fields(TRACKED_ICON_COLOR), + fields(Cesium.Color.fromCssColorString('#FFD166')), + ); + assert.deepEqual(fields(AMBER_TRANSPARENT), fields(amber.withAlpha(0))); + for (const constant of [ + MIL_ICON_COLOR, + TRACKED_ICON_COLOR, + AMBER_TRANSPARENT, + ]) + assert.ok(Object.isFrozen(constant)); + assert.deepEqual( + { ...TRACKED_BILLBOARD_SCALE_BY_DISTANCE }, + { near: 1000, nearValue: 3, far: 8000000, farValue: 0.5 }, + ); +});