diff --git a/src/desc_parser.rs b/src/desc_parser.rs index b4172b0..0b50520 100644 --- a/src/desc_parser.rs +++ b/src/desc_parser.rs @@ -22,7 +22,8 @@ fn get_filtered_chars(s: &str) -> Vec { } fn find_first_russian(chars: &Vec) -> Option { - let russian_chars: HashSet = ('а'..='я').collect(); + let russian_chars: HashSet = + ('а'..='я').chain(std::iter::once('ё')).collect(); chars.iter().enumerate() .find(|(_, c)| russian_chars.contains(&c.to_lowercase().next().unwrap())) .map(|(i, _)| i) @@ -59,6 +60,11 @@ mod test_first_russian { fn mixed_case() { assert_eq!(find_first_russian(&to_char_array("Test ПРИВЕТ привет")), Some(5)); } + + #[test] + fn starts_with_io() { + assert_eq!(find_first_russian(&to_char_array("ёлка")), Some(0)); + } } #[cfg(test)]