aboutsummaryrefslogtreecommitdiffstats
path: root/src/parser.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser.rs')
-rw-r--r--src/parser.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/parser.rs b/src/parser.rs
index 027c309..4bad78b 100644
--- a/src/parser.rs
+++ b/src/parser.rs
@@ -1550,4 +1550,30 @@ not-a-kind <play> <Nop>
],
}));
}
+
+ #[test]
+ fn map_group_shows_error_in_middle_of_line() {
+ let text = "map <up> <Up>
+map <not-a-button> <Nop>
+";
+ let result = map_group().easy_parse(State::new(text)).map(|t| t.0);
+
+ assert_eq!(result, Err(easy::Errors {
+ position: SourcePosition {
+ line: 2,
+ column: 5,
+ },
+ errors: vec![
+ easy::Error::Unexpected('n'.into()),
+ easy::Error::Expected("map".into()),
+ easy::Error::Expected("cmd".into()),
+ easy::Error::Expected("mode".into()),
+ easy::Error::Expected("lf newline".into()),
+ easy::Error::Expected("whitespace".into()),
+ easy::Error::Expected("tab".into()),
+ easy::Error::Expected('#'.into()),
+ easy::Error::Expected("end of input".into()),
+ ],
+ }));
+ }
}