Vendor things
This commit is contained in:
parent
5deceec006
commit
977e3c17e5
19434 changed files with 10682014 additions and 0 deletions
39
third-party/vendor/nom/tests/fnmut.rs
vendored
Normal file
39
third-party/vendor/nom/tests/fnmut.rs
vendored
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
use nom::{
|
||||
bytes::complete::tag,
|
||||
multi::{many0, many0_count},
|
||||
};
|
||||
|
||||
#[test]
|
||||
fn parse() {
|
||||
let mut counter = 0;
|
||||
|
||||
let res = {
|
||||
let mut parser = many0::<_, _, (), _>(|i| {
|
||||
counter += 1;
|
||||
tag("abc")(i)
|
||||
});
|
||||
|
||||
parser("abcabcabcabc").unwrap()
|
||||
};
|
||||
|
||||
println!("res: {:?}", res);
|
||||
assert_eq!(counter, 5);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn accumulate() {
|
||||
let mut v = Vec::new();
|
||||
|
||||
let (_, count) = {
|
||||
let mut parser = many0_count::<_, _, (), _>(|i| {
|
||||
let (i, o) = tag("abc")(i)?;
|
||||
v.push(o);
|
||||
Ok((i, ()))
|
||||
});
|
||||
parser("abcabcabcabc").unwrap()
|
||||
};
|
||||
|
||||
println!("v: {:?}", v);
|
||||
assert_eq!(count, 4);
|
||||
assert_eq!(v.len(), 4);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue