use super::{ExtractedToken, ParseError, Parser, Token};
#[inline]
pub fn check_step<'r, 't>(
parser: &mut Parser<'r, 't>,
token: Token,
) -> Result<&'r ExtractedToken<'t>, ParseError> {
let current = parser.current();
assert_eq!(current.token, token, "Opening token isn't {}", token.name());
parser.step()?;
Ok(current)
}
#[test]
#[should_panic]
fn check_step_fail() {
use crate::data::PageInfo;
use crate::layout::Layout;
use crate::settings::{WikitextMode, WikitextSettings};
let page_info = PageInfo::dummy();
let settings = WikitextSettings::from_mode(WikitextMode::Page, Layout::Wikidot);
let tokenization = crate::tokenize("**Apple** banana");
let mut parser = Parser::new(&tokenization, &page_info, &settings);
let _ = check_step(&mut parser, Token::Italics);
}