From 11aa283fd4b819c095269ee5fa8e7d54428ae5fa Mon Sep 17 00:00:00 2001 From: Bulat Kurbanov Date: Fri, 17 Mar 2023 18:58:14 +0100 Subject: [PATCH] Update fix_annotation_text --- src/utils.rs | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/src/utils.rs b/src/utils.rs index ebcf2a5..1fa3c3b 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -25,7 +25,10 @@ pub fn parse_lang(s: &str) -> String { } pub fn fix_annotation_text(text: &str) -> String { - let mut temp_text = text.replace("
", "\n").replace("\\n", "\n"); + let mut temp_text = text + .replace("
", "\n") + .replace("\\n", "\n") + .replace("\\\"", "\""); while temp_text.contains(" ") { temp_text = temp_text.replace(" ", " "); @@ -44,7 +47,37 @@ mod tests { use crate::utils::fix_annotation_text; #[test] - fn test_fix_annotation_text() { + fn test_fix_annnotation_text_remove_extra_spaces() { + let input = " "; + let expected_result = " "; + + let result = fix_annotation_text(input); + + assert_eq!(result, expected_result); + } + + #[test] + fn test_fix_annotation_text_replace_br() { + let input = "a
b"; + let expected_result = "a\nb"; + + let result = fix_annotation_text(input); + + assert_eq!(result, expected_result); + } + + #[test] + fn test_fix_annotation_text_extra_slashes() { + let input = "a \\n b \\\""; + let expected_result = "a \n b \""; + + let result = fix_annotation_text(input); + + assert_eq!(result, expected_result); + } + + #[test] + fn test_fix_annotation_text_large() { let input = "\n

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

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

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

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