parser: test: add some tests
This commit is contained in:
parent
c7002aef34
commit
3a7df31b08
1 changed files with 33 additions and 0 deletions
|
|
@ -54,3 +54,36 @@ pub fn match_pattern(
|
||||||
|
|
||||||
Ok(Matches { items: matches, pattern: String::from(pattern) })
|
Ok(Matches { items: matches, pattern: String::from(pattern) })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_get_file_name_from_path() {
|
||||||
|
let path = "/path/to/file.txt";
|
||||||
|
let file_name = get_file_name_from_path(path);
|
||||||
|
assert_eq!(file_name, "file.txt");
|
||||||
|
|
||||||
|
let path = "file.txt";
|
||||||
|
let file_name = get_file_name_from_path(path);
|
||||||
|
assert_eq!(file_name, "file.txt");
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn matches_lines_and_tracks_line_numbers() {
|
||||||
|
let input: Vec<std::io::Result<String>> =
|
||||||
|
vec![Ok("hola".into()), Ok("no".into()), Ok("hola again".into())];
|
||||||
|
|
||||||
|
let result = match_pattern(input.into_iter(), r"^hola", "/tmp/test.txt").unwrap();
|
||||||
|
|
||||||
|
assert_eq!(result.items.len(), 2);
|
||||||
|
|
||||||
|
assert_eq!(result.items[0].text, "hola");
|
||||||
|
assert_eq!(result.items[0].line_number, 1);
|
||||||
|
assert_eq!(result.items[0].file_name, "test.txt");
|
||||||
|
|
||||||
|
assert_eq!(result.items[1].text, "hola again");
|
||||||
|
assert_eq!(result.items[1].line_number, 3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue