25 lines
465 B
Gleam
25 lines
465 B
Gleam
import gleam/list
|
|
import gleeunit
|
|
|
|
import mpv/control.{type Control}
|
|
import mpv/key.{type Key, Char}
|
|
|
|
pub fn main() -> Nil {
|
|
gleeunit.main()
|
|
}
|
|
|
|
type TestCase {
|
|
TestCase(key: Key, expected: Result(Control, Nil))
|
|
}
|
|
|
|
pub fn control_from_key_test() {
|
|
let test_cases = [
|
|
TestCase(Char(" "), Ok(control.TogglePlayPause)),
|
|
TestCase(Char("q"), Ok(control.Exit)),
|
|
]
|
|
|
|
list.each(test_cases, fn(tc) {
|
|
assert tc.expected == control.from_key(tc.key)
|
|
})
|
|
}
|