1 2 3 4 5 6 7 8 9 10 11 12 13 14
pub fn find_matches(content: &str, pattern: &str, mut writer: impl std::io::Write) { for line in content.lines() { if line.contains(pattern) { writeln!(writer, "{}", line).expect("could not write to stdout"); } } } #[test] fn find_a_match() { let mut result = Vec::new(); find_matches("plop this is\nan awesome test\n for the grep functionnality", "test", &mut result); assert_eq!(result, b"an awesome test\n"); }