1extern crate lua_patterns;
2use lua_patterns::errors::PatternError;
3
4fn main() {
5 let bad = [
6 ("bonzo %", "malformed pattern (ends with '%')"),
7 ("bonzo (dog%(", "unfinished capture"),
8 ("alles [%a%[", "malformed pattern (missing ']')"),
9 ("bonzo (dog (cat)", "unfinished capture"),
10 ("frodo %f[%A", "malformed pattern (missing ']')"),
11 ("frodo (1) (2(3)%2)%1", "invalid capture index %2"),
12 ];
13
14 fn error(s: &str) -> PatternError {
15 PatternError::Pattern(s.into())
16 }
17
18 for p in bad.iter() {
19 let res = lua_patterns::LuaPattern::new_try(p.0);
20 if let Err(e) = res {
21 assert_eq!(e, error(p.1));
22 } else {
23 println!("'{}' was fine", p.0);
24 }
25 }
26}