Function parsit::test::lexer_test::expect
source · pub fn expect<'a, T>(src: &'a str, tokens: Vec<T>)where
T: Logos<'a, Source = str> + Debug + PartialEq,
T::Extras: Default,
Expand description
ensures the given output is expected
Example
use logos::Logos;
use crate::parsit::test::lexer_test::expect;
#[derive(Logos, Debug, PartialEq)]
pub enum T<'a> {
#[regex(r"[a-zA-Z-]+")]
Word(&'a str),
#[token(",")]
Comma,
#[token(".")]
Dot,
#[token("!")]
Bang,
#[token("?")]
Question,
#[regex(r"[ \t\r\n]+", logos::skip)]
Whitespace,
}
expect::<T>(
"abc, bcs!",
vec![T::Word("abc"), T::Comma, T::Word("bcs"), T::Bang]
)