This repository has been archived on 2026-10-07. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
omarchy/test/shell.d/monitor-test.sh
T

40 lines
1.4 KiB
Bash

#!/bin/bash
set -euo pipefail
source "$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)/base-test.sh"
run_node_test <<'JS'
const monitor = requireFromRoot('shell/plugins/panels/monitor/Model.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