use thiserror::Error;
fn display_content(content: &str) -> String {
if content.is_empty() {
String::new()
} else {
format!(" after {content}")
}
}
#[derive(Debug, Error, PartialEq)]
pub enum JqlParserError {
#[error("Empty input")]
EmptyInputError,
#[error("Unable to parse input {unparsed}{}", display_content(tokens))]
ParsingError {
tokens: String,
unparsed: String,
},
#[error("Truncate operator found as non last element or multiple times in {0}")]
TruncateError(String),
#[error("Unknown error")]
UnknownError,
}
#[cfg(test)]
mod tests {
use super::display_content;
#[test]
fn check_display_content() {
assert_eq!(display_content("some"), " after some");
assert_eq!(display_content(""), "");
}
}