19 lines
493 B
Rust
19 lines
493 B
Rust
use anyhow::Result;
|
|
|
|
pub fn find_matches(content: &str, pattern: &str, mut writer: impl std::io::Write) -> Result<()> {
|
|
for line in content.lines() {
|
|
if line.contains(pattern) {
|
|
writeln!(writer, "{}", line)?;
|
|
}
|
|
}
|
|
Ok(())
|
|
}
|
|
|
|
#[test]
|
|
fn find_a_match() -> Result<(), Box<dyn std::error::Error>> {
|
|
let mut result = Vec::new();
|
|
find_matches("lorem ipsum\ndolar sit amet", "lorem", &mut result)?;
|
|
assert_eq!(result, b"lorem ipsum\n");
|
|
Ok(())
|
|
}
|