Optional
This commit is contained in:
13
src/lib.rs
13
src/lib.rs
@@ -74,4 +74,17 @@ mod tests {
|
||||
let output = parser.parse("aaaaaaaabcd").unwrap();
|
||||
assert_eq! {((10, 'b'), "cd"), output};
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_optional() {
|
||||
let parser = sequence(
|
||||
optional(literal("alpha")),
|
||||
sequence(repeated(literal(" ")), literal("beta")),
|
||||
);
|
||||
|
||||
let output1 = parser.parse(" beta").unwrap();
|
||||
assert_eq!(output1.0 .0, None);
|
||||
let output2 = parser.parse("alpha beta").unwrap();
|
||||
assert_eq!(output2.0 .0, Some("alpha"));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user