use std::io::BufRead;
pub fn find_matches<R: BufRead>(content: R, pattern: &str, mut writer: impl std::io::Write) {
for line in content.lines() {
match line {
Ok(text) => {
if text.contains(pattern) {
writeln!(writer, "{}", text).expect("couldn't write");
}
}
Err(error) => { panic!(error) }
}
}
}
#[test]
fn find_a_match() {
let mut result = Vec::new();
find_matches("lorem ipsum\ndolor sit amet".as_bytes(), "lorem", &mut result);
assert_eq!(result, b"lorem ipsum\n");
}