use crate::{Pattern, Result, parse::Token};
pub(crate) fn parse_text(_lexer: &mut logos::Lexer<Token>) -> Result<Pattern> {
Ok(Pattern::any_text())
}
#[cfg(test)]
mod tests {
use logos::Logos;
use super::*;
#[test]
fn test_parse_text_any() {
let mut lexer = Token::lexer("text");
assert_eq!(lexer.next(), Some(Ok(Token::Text)));
let result = parse_text(&mut lexer).unwrap();
assert_eq!(result, Pattern::any_text());
assert_eq!(result.to_string(), "text");
}
#[test]
fn test_parse_text_literal() {
let mut lexer = Token::lexer("text");
assert_eq!(lexer.next(), Some(Ok(Token::Text)));
let result = parse_text(&mut lexer).unwrap();
assert_eq!(result, Pattern::any_text());
assert_eq!(result.to_string(), "text");
}
#[test]
fn test_parse_text_literal_with_spaces() {
let mut lexer = Token::lexer("text");
assert_eq!(lexer.next(), Some(Ok(Token::Text)));
let result = parse_text(&mut lexer).unwrap();
assert_eq!(result, Pattern::any_text());
assert_eq!(result.to_string(), "text");
}
#[test]
fn test_parse_text_literal_with_escapes() {
let mut lexer = Token::lexer("text");
assert_eq!(lexer.next(), Some(Ok(Token::Text)));
let result = parse_text(&mut lexer).unwrap();
assert_eq!(result, Pattern::any_text());
assert_eq!(result.to_string(), "text");
}
#[test]
fn test_parse_text_regex() {
let mut lexer = Token::lexer("text");
assert_eq!(lexer.next(), Some(Ok(Token::Text)));
let result = parse_text(&mut lexer).unwrap();
assert_eq!(result, Pattern::any_text());
assert_eq!(result.to_string(), "text");
}
#[test]
fn test_parse_text_regex_with_spaces() {
let mut lexer = Token::lexer("text");
assert_eq!(lexer.next(), Some(Ok(Token::Text)));
let result = parse_text(&mut lexer).unwrap();
assert_eq!(result, Pattern::any_text());
assert_eq!(result.to_string(), "text");
}
}