From fb9d7f9072fce8478a14216e09826e7c87b803ed Mon Sep 17 00:00:00 2001 From: erjemin Date: Mon, 22 Sep 2025 10:26:25 +0300 Subject: [PATCH] =?UTF-8?q?add:=20LayoutProcessor=20-=20=D0=BE=D0=B1=D1=80?= =?UTF-8?q?=D0=B0=D0=B1=D0=BE=D1=82=D0=BA=D0=B0=20=D0=B5=D0=B4=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=86=20=D0=B8=D0=B7=D0=BC=D0=B5=D1=80=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20(=D0=BA=D0=B0=D0=B6=D0=B5=D1=82=D1=81=D1=8F=20=D0=B2?= =?UTF-8?q?=D1=81=D0=B5++=20=D0=B8=20=D1=80=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=B0=20=D0=B1=D0=B5=D0=B7=D0=BE=D0=BF?= =?UTF-8?q?=D0=B0=D1=81=D0=BD=D0=BE=D1=81=D1=82=D1=8C=20=D0=BE=D1=82=20CHA?= =?UTF-8?q?R=5FUNIT=5FSEPARATOR)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/test_layout.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/test_layout.py b/tests/test_layout.py index 31839ab..6b8fc78 100644 --- a/tests/test_layout.py +++ b/tests/test_layout.py @@ -3,7 +3,7 @@ import pytest from etpgrf.layout import LayoutProcessor, CHAR_THIN_SP -from etpgrf.config import CHAR_NBSP, CHAR_HELLIP, CHAR_THIN_SP +from etpgrf.config import CHAR_NBSP, CHAR_HELLIP, CHAR_THIN_SP, CHAR_UNIT_SEPARATOR LAYOUT_TEST_CASES = [ # --- Длинное тире (—) для русского языка --- @@ -175,6 +175,10 @@ LAYOUT_OPTIONS_TEST_CASES = [ # Кастомные единицы не должны мешать другим правилам ('ru', "А.С. Пушкин получил 10 бочек селёдки", f"А.{CHAR_THIN_SP}С.{CHAR_NBSP}Пушкин получил 10{CHAR_NBSP}бочек селёдки", {'process_units': ['бочек']}), + + # --- Проверка безопасности --- + # "Вредоносная" единица с сепаратором должна быть проигнорирована, а безопасная - обработана. + ('ru', "10 вредных и 20 полезных", f"10 вредных и 20{CHAR_NBSP}полезных", {'process_units': [f'вредных{CHAR_UNIT_SEPARATOR}', 'полезных']}), ]