diff --git a/src/utils.rs b/src/utils.rs index e43f0c4..ebcf2a5 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -25,7 +25,11 @@ pub fn parse_lang(s: &str) -> String { } pub fn fix_annotation_text(text: &str) -> String { - let temp_text = text.replace("
", "\n").replace("\\n", "\n"); + let mut temp_text = text.replace("
", "\n").replace("\\n", "\n"); + + while temp_text.contains(" ") { + temp_text = temp_text.replace(" ", " "); + } let tags = hashset!["a"]; Builder::new() @@ -33,3 +37,19 @@ pub fn fix_annotation_text(text: &str) -> String { .clean(&temp_text) .to_string() } + + +#[cfg(test)] +mod tests { + use crate::utils::fix_annotation_text; + + #[test] + fn test_fix_annotation_text() { + let input = "\n

Этот роман уже стал культовым.\n

Это — одна из самых читаемых книг русскоязычного Интернета, по количеству скачивании соперничающая с «Метро 2033» Глуховского и «Мародером» Беркема аль Атоми.\n

Это — лучшая антиутопия о надвигающейся гражданской войне.\n

Ближайшее будущее. Русофобская политика «оранжевых» разрывает Украину надвое. «Западенцы» при поддержке НАТО пытаются силой усмирить Левобережье. Восточная Малороссия отвечает оккупантам партизанской войной. Наступает беспощадная «эпоха мертворожденных»…\n "; + let expected_result = "\n Этот роман уже стал культовым.\n Это — одна из самых читаемых книг русскоязычного Интернета, по количеству скачивании соперничающая с «Метро 2033» Глуховского и «Мародером» Беркема аль Атоми.\n Это — лучшая антиутопия о надвигающейся гражданской войне.\n Ближайшее будущее. Русофобская политика «оранжевых» разрывает Украину надвое. «Западенцы» при поддержке НАТО пытаются силой усмирить Левобережье. Восточная Малороссия отвечает оккупантам партизанской войной. Наступает беспощадная «эпоха мертворожденных»…\n "; + + let result = fix_annotation_text(input); + + assert_eq!(result, expected_result); + } +}