From d9176347879d92440ca4af0a8bfe304c6f5bfe0c Mon Sep 17 00:00:00 2001 From: erjemin Date: Thu, 26 Feb 2026 19:10:55 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0,=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=B3=D0=B4=D0=B0=20=D1=82=D0=B8=D1=80=D0=B5=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=D1=85=D0=BE=D0=B4=D0=B8=D1=82=D1=81=D1=8F=20?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=B3=D1=80=D0=B0=D0=BD=D0=B8=D1=86=D1=83=20?= =?UTF-8?q?=D0=B5=D0=B4=D0=B5=D0=BD=D0=B8=D1=86=D1=8B=20=D0=B8=D0=B7=D0=BC?= =?UTF-8?q?=D0=B5=D1=80=D0=B5=D0=BD=D0=B8=D1=8F.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- etpgrf/layout.py | 2 +- tests/test_typograph.py | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/etpgrf/layout.py b/etpgrf/layout.py index f587a22..9032e9a 100644 --- a/etpgrf/layout.py +++ b/etpgrf/layout.py @@ -98,7 +98,7 @@ class LayoutProcessor: units_pattern_part_clean = '|'.join(map(regex.escape, [u.replace('.', '') for u in sorted_units])) # Простые единицы: число + единица - self._post_units_pattern = regex.compile(rf'({self._NUMBER_PATTERN})\s+({units_pattern_part_full})(?!\w)') + self._post_units_pattern = regex.compile(rf'({self._NUMBER_PATTERN}|{sep})\s+({units_pattern_part_full})(?!\w)') # Составные единицы: ищет пару "единица." + "единица" self._complex_unit_pattern = regex.compile(r'\b(' + units_pattern_part_clean + r')\.(\s*)(' + units_pattern_part_clean + r')(?!\w)') diff --git a/tests/test_typograph.py b/tests/test_typograph.py index 65b3be5..b9de3d9 100644 --- a/tests/test_typograph.py +++ b/tests/test_typograph.py @@ -103,6 +103,12 @@ TYPOGRAPHER_HTML_TEST_CASES = [ f'

Текст с{CHAR_NBSP}картинкой image и{CHAR_NBSP}текстом.

'), ('unicode', '

Текст с <br>
А это новая строка.

', f'

Текст с{CHAR_NBSP}<br>
А{CHAR_NBSP}это новая строка.

'), + + # --- Тесты на стыке тегов --- + ('mixed', '

Текст с тире --- после закрытого тега.

', + '

Текст с тире — после закрытого тега.

'), + ('mixed', '

Целых 100 т веса.

', + '

Целых 100 т веса.

'), ] @@ -177,7 +183,7 @@ HTML_STRUCTURE_TEST_CASES = [ ('
Заголовок
', '
Заголовок
'), - # 6. Исправленный тест на защищенные теги с немаскированными HTML внутри + # 6/ Исправленный тест на защищенные теги с немаскированными HTML внутри # (все незакрытые теги будут закрыты через BS, а тег удалены) ('
Заголовок
', '
Заголовок
'),