Files
arthur-os/test/shell.d/osd-test.sh
T

42 lines
1.0 KiB
Bash

#!/bin/bash
set -euo pipefail
source "$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)/base-test.sh"
run_node_test <<'JS'
const osd = requireFromRoot('shell/plugins/osd/OsdModel.js')
assertEqual(osd.iconFor('', 0), osd.iconFor('muted', 50), 'osd falls back to muted icon at zero percent')
assertEqual(osd.iconFor('volume-high', 1), osd.iconFor('', 100), 'osd maps high volume aliases')
assertEqual(osd.iconFor('custom-symbol', 50), 'custom-symbol', 'osd preserves unknown explicit icons')
assertDeepEqual(
osd.stateForShow('volume', '', '75', '100', '', '800'),
{
iconKey: 'volume',
maxValue: 100,
hasProgress: true,
value: 75,
message: '75%',
icon: osd.iconFor('volume', 75),
duration: 800
},
'osd builds progress state'
)
assertDeepEqual(
osd.stateForShow('media-pause', 'Paused', '', '100', '', 'nope'),
{
iconKey: 'media-pause',
maxValue: 100,
hasProgress: false,
value: 0,
message: 'Paused',
icon: osd.iconFor('media-pause', -1),
duration: 1200
},
'osd builds message state'
)
JS