Files
StarPilot/openpilot/starpilot/galaxy/tests/test_speed_source_preference.mjs
T
2026-10-26 20:38:11 -04:00

15 lines
1.1 KiB
JavaScript

import assert from "node:assert/strict"
import { validDocument } from "../web/js/onroad-layout.js"
const metadata = { profiles: Object.fromEntries(["large", "compact"].map(name => [name, {
bounds: {x:0,y:0,width:100,height:100}, widgets:{}, reservedZones:[]
}])) }
const document = { version:11, palette:{cardFill:"#000000A6",cardBorder:"#C4CDD0B4",text:"#FFFFFFFF"},
layouts:{large:{},compact:{}},widgetColors:{large:{},compact:{}},roadColors:{large:{},compact:{}} }
assert.equal(validDocument(document, metadata), true)
for (const flag of [true, false]) assert.equal(validDocument({...document,speedSources:flag},metadata),true)
for (const flag of [1, 0, null, "true", {}, []]) assert.equal(validDocument({...document,speedSources:flag},metadata),false)
for (const malformed of [null,undefined,[],1,"layout",{}]) assert.equal(validDocument(malformed,metadata),false)
assert.equal(validDocument({...document,unexpected:true},metadata),false)
assert.equal(validDocument({...document,layouts:null},metadata),false)
console.log("PASS speed source preference: absent/booleans/invalid flags/null/undefined/malformed documents")