44 lines
2.0 KiB
Bash
44 lines
2.0 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.cleanScale(3, 1280, 800), '3.2', 'monitor matches clean VM scale')
|
|
assertEqual(monitor.cleanScale(1.25, 1280, 800), '1.25', 'monitor preserves an already clean scale')
|
|
assertEqual(monitor.cleanScale(1.25, 6016, 3384), '1.33', 'monitor matches clean physical display scale')
|
|
assertEqual(monitor.cleanScale(1.6, 0, 800), '', 'monitor rejects a missing display mode')
|
|
|
|
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, focused: false, width: 1920, height: 1080 },
|
|
{ name: 'HDMI-A-1', enabled: false, focused: false, width: 0, height: 0 },
|
|
{ name: 'DP-1', enabled: true, focused: true, width: 1280, height: 800 }
|
|
])),
|
|
{
|
|
displays: [
|
|
{ name: 'eDP-1', enabled: true, focused: false, width: 1920, height: 1080 },
|
|
{ name: 'HDMI-A-1', enabled: false, focused: false, width: 0, height: 0 },
|
|
{ name: 'DP-1', enabled: true, focused: true, width: 1280, height: 800 }
|
|
],
|
|
enabledDisplayCount: 2
|
|
},
|
|
'monitor parses display state'
|
|
)
|
|
|
|
assertDeepEqual(monitor.parseDisplays('{'), { displays: [], enabledDisplayCount: 0 }, 'monitor handles invalid display JSON')
|
|
JS
|