Add shell plugin model tests

This commit is contained in:
David Heinemeier Hansson committed 2026-05-25 14:18:39 +02:00
1 parent 4277f5346b
commit 829c1fa4f7
61 files changed
+3236 -1168

No files matched your search

+39
View File
@@ -0,0 +1,39 @@
#!/bin/bash
set -euo pipefail
source "$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)/base-test.sh"
run_node_test <<'JS'
const monitor = requireFromRoot('shell/plugins/monitor/MonitorModel.js')
assertEqual(monitor.clampBrightness(0), 1, 'monitor clamps minimum brightness')
assertEqual(monitor.clampBrightness(101), 100, 'monitor clamps maximum brightness')
assertEqual(monitor.clampBrightness(42.4), 42, 'monitor rounds brightness')
assertEqual(monitor.clampBrightness('nope'), 1, 'monitor rejects invalid brightness')
assertEqual(monitor.normalizeScale('1.250'), '1.25', 'monitor normalizes fractional scale')
assertEqual(monitor.normalizeScale('nope'), '', 'monitor rejects invalid scale')
assertEqual(monitor.brightnessName(96), 'Sun blast', 'monitor names very bright displays')
assertEqual(monitor.brightnessName(12), 'Candlelit', 'monitor names dim displays')
assertDeepEqual(
monitor.parseDisplays(JSON.stringify([
{ name: 'eDP-1', enabled: true },
{ name: 'HDMI-A-1', enabled: false },
{ name: 'DP-1', enabled: true }
])),
{
displays: [
{ name: 'eDP-1', enabled: true },
{ name: 'HDMI-A-1', enabled: false },
{ name: 'DP-1', enabled: true }
],
enabledDisplayCount: 2
},
'monitor parses display state'
)
assertDeepEqual(monitor.parseDisplays('{'), { displays: [], enabledDisplayCount: 0 }, 'monitor handles invalid display JSON')
JS