Add shell plugin model tests
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user