1mod ascii;
2mod string_result;
3
4use std::io::Read;
6
7pub trait AsciiStrings {
8 fn iter_ascii_strings(self, min_length: usize) -> impl Iterator<Item = String>;
9}
10
11impl<T> AsciiStrings for T
12where
13 T: Read, {
15 fn iter_ascii_strings(self, min_length: usize) -> impl Iterator<Item = String> {
16 ascii::AsciiIterator::new(self, min_length)
17 }
18}
19
20#[cfg(test)]
21mod tests {
22 use super::*;
23 use std::io::Cursor;
24
25 #[test]
26 fn test_ascii_strings() {
27 let data = b"hello\0world";
28 let reader = Cursor::new(data);
29 let strings: Vec<String> = reader.iter_ascii_strings(4).collect();
30 assert_eq!(strings, vec!["hello", "world"]);
31 }
32}