diff --git a/etpgrf/unbreakables.py b/etpgrf/unbreakables.py index 2bd8b0e..e64fcf4 100644 --- a/etpgrf/unbreakables.py +++ b/etpgrf/unbreakables.py @@ -19,7 +19,7 @@ from etpgrf.defaults import etpgrf_settings _RU_UNBREAKABLE_WORDS = frozenset([ # Предлоги (только короткие... длинные, типа `ввиду`, `ввиду` и т.п., могут быть "висячими") 'в', 'без', 'до', 'из', 'к', 'на', 'по', 'о', 'от', 'перед', 'при', 'через', 'с', 'у', 'за', 'над', - 'об', 'под', 'про', 'для', 'ко', 'со', 'без', 'то', 'во', 'из-за', 'из-под', 'как' + 'об', 'под', 'про', 'для', 'ко', 'со', 'без', 'то', 'во', 'из-за', 'из-под', 'как', # Союзы (без сложных, тип `как будто`, `как если бы`, `за то` и т.п.) 'и', 'а', 'но', 'да', 'как', # Частицы @@ -32,7 +32,7 @@ _RU_UNBREAKABLE_WORDS = frozenset([ # Постпозитивные частицы, которые приклеиваются к ПРЕДЫДУЩЕМУ слову _RU_POSTPOSITIVE_PARTICLES = frozenset([ - 'ли', 'ль', 'же', 'ж', 'бы', 'б' + 'ли', 'ль', 'же', 'ж', 'бы', 'б', ]) # Для дореформенной орфографии можно добавить специфичные слова, если нужно diff --git a/tests/test_typograph.py b/tests/test_typograph.py index 749d0bd..99a0e37 100644 --- a/tests/test_typograph.py +++ b/tests/test_typograph.py @@ -32,7 +32,7 @@ TYPOGRAPHER_HTML_TEST_CASES = [ ('mnemonic', '
Союз и слово и еще один союз а текст.
', 'Союз и слово и еще один союз а текст.
'), ('mnemonic', 'Союз а слово а еще один союз а текст.
', - 'Союз а слово а еще один союз а текст.
'), + 'Союз а слово а еще один союз а текст.
'), diff --git a/tests/test_unbreakables.py b/tests/test_unbreakables.py index d2bd833..1ba9655 100644 --- a/tests/test_unbreakables.py +++ b/tests/test_unbreakables.py @@ -8,7 +8,7 @@ from etpgrf.config import CHAR_NBSP, CHAR_THIN_SP RUSSIAN_PREPOSITIONS_TO_TEST = [ # Предлоги (только короткие... длинные, типа `ввиду`, `ввиду` и т.п., могут быть "висячими") 'в', 'без', 'до', 'из', 'к', 'на', 'по', 'о', 'от', 'перед', 'при', 'через', 'с', 'у', 'за', 'над', - 'об', 'под', 'про', 'для', 'ко', 'со', 'без', 'то', 'во', 'из-за', 'из-под', 'как' + 'об', 'под', 'про', 'для', 'ко', 'со', 'без', 'то', 'во', 'из-за', 'из-под', 'как', # Союзы (без сложных, тип `как будто`, `как если бы`, `за то` и т.п.) 'и', 'а', 'но', 'да', 'как', # Частицы @@ -94,6 +94,10 @@ def test_russian_postpositive_particle(word): # Тесты для проверки особых случаев в Unbreakables UNBREAKABLES_SPECIAL_TEST_CASES = [ ('ru', "до н.э.", f"до{CHAR_NBSP}н.э."), + ('ru', "слово и тогда", f"слово и{CHAR_NBSP}тогда"), + ('ru', "слово а тогда", f"слово а{CHAR_NBSP}тогда"), + ('ru', "Проверка и тестирование.", f"Проверка и{CHAR_NBSP}тестирование."), + ]