From 9af04b96a475777d2e177b2a55d5b4f7705244aa Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Sun, 30 Sep 2018 21:05:44 +0200 Subject: Fill in `action_parses_map_with_multiple_modifiers()` Make this test do something, validating that it parses multiple modifier prefixes in a special key. --- src/parser.rs | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/src/parser.rs b/src/parser.rs index a7a565b..51e15d8 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -631,7 +631,36 @@ mod tests { } #[test] fn action_parses_map_with_multiple_modifiers() { - // "onetwothree" + let text = ""; + + let expected = Action::Map(vec![ + KeyboardKeyWithModifiers::new( + KeyboardKey::Character(Character::new('g')), + Some(vec![ + Flag::Control, + Flag::Alt, + ]), + ), + KeyboardKeyWithModifiers::new( + KeyboardKey::Character(Character::new('s')), + Some(vec![ + Flag::Meta, + Flag::Shift, + ]), + ), + KeyboardKeyWithModifiers::new( + KeyboardKey::KeyCode(KeyCode::new(autopilot::key::KeyCode::Home)), + Some(vec![ + Flag::Meta, + Flag::Alt, + Flag::Control, + Flag::Shift, + ]), + ), + ]); + let result = action_map().easy_parse(text).map(|t| t.0); + + assert_eq!(result, Ok(expected)); } #[test] -- cgit v1.2.3