1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
use std::io;
pub fn find_matches(
content: &str,
pattern: &str,
mut writer: impl std::io::Write,
) -> io::Result<()> {
for line in content.lines() {
if line.contains(pattern) {
writeln!(writer, "{}", line)?;
}
}
Ok(())
}
#[test]
fn find_a_match() {
let mut result = Vec::new();
find_matches("lorem ipsum\ndolor sit amet", "lorem", &mut result);
assert_eq!(result, b"lorem ipsum\n");
}