Macro nom_test_helpers::assert_needs[][src]

macro_rules! assert_needs {
    ($e:expr, ? $(,)? ) => { ... };
    ($e:expr, ?, $($arg:tt)+) => { ... };
    ($e:expr, $i:expr $(,)?) => { ... };
    ($e:expr, $i:expr, $($arg:tt)+) => { ... };
}

This lets the user specify how much input the parser should need

Examples

use nom_test_helpers::assert_needs;
use nom::Needed;

let r: nom::IResult<&[u8], &[u8]> = Err(nom::Err::Incomplete(Needed::Unknown));
assert_needs!(r, ?);
use std::num::NonZeroUsize;
use nom_test_helpers::assert_needs;
use nom::Needed;

let r: nom::IResult<&[u8], &[u8]> = Err(nom::Err::Incomplete(Needed::Size(NonZeroUsize::new(2).unwrap())));
assert_needs!(r, 2usize);