From 440871dbf086b45ce75c19d5508431132d4e40f0 Mon Sep 17 00:00:00 2001 From: sfaqer Date: Fri, 21 Nov 2025 14:48:29 +1000 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=20=D1=80=D0=B5=D0=B3=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D0=B8=20=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2?= =?UTF-8?q?=D1=8B=D1=85=20=D0=BD=D0=B0=D0=B1=D0=BE=D1=80=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=B8=D0=B7=20=D1=84=D0=B0=D0=B9=D0=BB=D0=BE=D0=B2=20=D1=81=20?= =?UTF-8?q?=D0=B8=D0=BC=D0=B5=D0=BD=D0=B0=D0=BC=D0=B8=20=D0=BD=D0=B5=20?= =?UTF-8?q?=D1=8F=D0=B2=D0=BB=D1=8F=D1=8E=D1=89=D0=B8=D0=BC=D0=B8=D1=81?= =?UTF-8?q?=D1=8F=20=D0=B2=D0=B0=D0=BB=D0=B8=D0=B4=D0=BD=D1=8B=D0=BC=D0=B8?= =?UTF-8?q?=20=D0=B8=D0=B4=D0=B5=D0=BD=D1=82=D0=B8=D1=84=D0=B8=D0=BA=D0=B0?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=B0=D0=BC=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\262\320\260\320\275\320\270\320\265.os" | 5 +- ...20\260\320\261\320\276\321\200\320\260.os" | 2 +- ...274\320\265\320\275\320\265\320\274_1,.os" | 8 +++ ...20\270\321\202\320\265\320\273\321\214.os" | 50 +++++++++++++++++-- 4 files changed, 59 insertions(+), 6 deletions(-) create mode 100644 "tests/fixtures/1_\320\242\320\265\321\201\321\202-\320\235\320\260\320\261\320\276\321\200.\320\241\320\276+\320\241\321\202\321\200\320\260\320\275\320\275\321\213\320\274^\320\230\320\274\320\265\320\275\320\265\320\274_1,.os" diff --git "a/src/core/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\263\320\276\321\202\320\276\320\262\320\272\320\260\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265.os" "b/src/core/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\263\320\276\321\202\320\276\320\262\320\272\320\260\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265.os" index 91c4632..89ba54f 100644 --- "a/src/core/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\263\320\276\321\202\320\276\320\262\320\272\320\260\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265.os" +++ "b/src/core/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\263\320\276\321\202\320\276\320\262\320\272\320\260\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265.os" @@ -5,6 +5,7 @@ Перем _КаталогиТестов; Перем _ФайлыТестов; Перем _ИскатьВПодкаталогах; +Перем РегулярноеВыражениеИмяКласса; Процедура ПриИнициализацииПоделки(Поделка) Экспорт @@ -24,7 +25,7 @@ Для каждого Тест Из ФайлыТестов Цикл Путь = Тест.ПолноеИмя; - ТестовыйНабор = "oneunit_testcase_" + Тест.ИмяБезРасширения; + ТестовыйНабор = "oneunit_testsuite_" + РегулярноеВыражениеИмяКласса.Заменить(Тест.ИмяБезРасширения, "_"); ДобавитьЗавязь = Ложь; @@ -105,4 +106,6 @@ _ИскатьВПодкаталогах = ИскатьВПодкаталогах; _ФайлыТестов = СтрРазделить(ФайлыТестов, ",", Ложь); + РегулярноеВыражениеИмяКласса = Новый РегулярноеВыражение("((?<=^)[^a-zA-Z_а-яА-ЯёЁ]|[^a-zA-Z0-9_а-яА-ЯёЁ])"); + КонецПроцедуры diff --git "a/src/core/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\235\320\260\320\261\320\276\321\200\320\260.os" "b/src/core/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\235\320\260\320\261\320\276\321\200\320\260.os" index d76086f..77a6377 100644 --- "a/src/core/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\235\320\260\320\261\320\276\321\200\320\260.os" +++ "b/src/core/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\235\320\260\320\261\320\276\321\200\320\260.os" @@ -119,7 +119,7 @@ "Не удалось определить путь к тестовому набору" ); - _Имя = СтрЗаменить(Определение.Имя(), "oneunit_testcase_", ""); + _Имя = СтрЗаменить(Определение.Имя(), "oneunit_testsuite_", ""); _Представление = СтрШаблон( "%1 (%2)", diff --git "a/tests/fixtures/1_\320\242\320\265\321\201\321\202-\320\235\320\260\320\261\320\276\321\200.\320\241\320\276+\320\241\321\202\321\200\320\260\320\275\320\275\321\213\320\274^\320\230\320\274\320\265\320\275\320\265\320\274_1,.os" "b/tests/fixtures/1_\320\242\320\265\321\201\321\202-\320\235\320\260\320\261\320\276\321\200.\320\241\320\276+\320\241\321\202\321\200\320\260\320\275\320\275\321\213\320\274^\320\230\320\274\320\265\320\275\320\265\320\274_1,.os" new file mode 100644 index 0000000..9b3476c --- /dev/null +++ "b/tests/fixtures/1_\320\242\320\265\321\201\321\202-\320\235\320\260\320\261\320\276\321\200.\320\241\320\276+\320\241\321\202\321\200\320\260\320\275\320\275\321\213\320\274^\320\230\320\274\320\265\320\275\320\265\320\274_1,.os" @@ -0,0 +1,8 @@ +&Тест +Процедура Тест() Экспорт +КонецПроцедуры + +&ТестовыйНабор +&Порядок(13) +Процедура ПриСозданииОбъекта() +КонецПроцедуры \ No newline at end of file diff --git "a/tests/\320\236\320\261\320\275\320\260\321\200\321\203\320\266\320\270\321\202\320\265\320\273\321\214.os" "b/tests/\320\236\320\261\320\275\320\260\321\200\321\203\320\266\320\270\321\202\320\265\320\273\321\214.os" index 88cbf8b..4f0be4d 100644 --- "a/tests/\320\236\320\261\320\275\320\260\321\200\321\203\320\266\320\270\321\202\320\265\320\273\321\214.os" +++ "b/tests/\320\236\320\261\320\275\320\260\321\200\321\203\320\266\320\270\321\202\320\265\320\273\321\214.os" @@ -16,7 +16,7 @@ // Тогда - Ожидаем.Что(ТестПлан.Дети().Количество()).Равно(14); + Ожидаем.Что(ТестПлан.Дети().Количество()).Равно(15); #Область НаборБезКонструктора @@ -1118,14 +1118,56 @@ #КонецОбласти +#Область __Тест_Набор_Со_Странным_Именем_1_ + + ИндексНабора = 14; + + ПроверитьТестНабор( + ТестПлан.Дети().Получить(ИндексНабора), + "__Тест_Набор_Со_Странным_Именем_1_", + Списки.ИзЭлементов(), + 0, + 0, + Карты.ИзЭлементов( + "ПередВсеми", Списки.ИзЭлементов(), + "ПередКаждым", Списки.ИзЭлементов(), + "ПослеВсех", Списки.ИзЭлементов(), + "ПослеКаждого", Списки.ИзЭлементов() + ), + , + , + "1_Тест-Набор.Со+Странным^Именем_1," + ); + + Ожидаем.Что(ТестПлан.Дети().Получить(ИндексНабора).Дети()).ИмеетДлину(1); + + ПроверитьТест( + ТестПлан.Дети().Получить(ИндексНабора).Дети().Получить(0), + ТипыОпределенийТестов.Тест, + "Тест", + "Тест", + "__Тест_Набор_Со_Странным_Именем_1_.Тест", + ОбъединитьПути(".", "tests", "fixtures", "1_Тест-Набор.Со+Странным^Именем_1,.os"), + 0, + Списки.ИзЭлементов(), + Списки.ИзЭлементов(), + 0 + ); + +#КонецОбласти + #КонецОбласти КонецПроцедуры Процедура ПроверитьТестНабор(ТестНабор, Имя, Теги, Таймаут, Условия, ЖизненныйЦикл, - ЭтоОдиночка = Ложь, ПроверятьТестНабор = Истина) + ЭтоОдиночка = Ложь, ПроверятьТестНабор = Истина, ИмяФайла = "") + + Если ПустаяСтрока(ИмяФайла) Тогда + ИмяФайла = Имя; + КонецЕсли; - Путь = ОбъединитьПути(".", "tests", "fixtures", Имя + ".os"); + Путь = ОбъединитьПути(".", "tests", "fixtures", ИмяФайла + ".os"); Ожидаем.Что(ТестНабор).ИмеетТип("ОпределениеТестНабора"); @@ -1135,7 +1177,7 @@ Ожидаем.Что(Строка(ТестНабор)).Равно(Имя + " (" + Путь + ")"); Если ПроверятьТестНабор Тогда - Ожидаем.Что(ТестНабор.ТестНабор()).ИмеетТип("oneunit_testcase_" + Имя); + Ожидаем.Что(ТестНабор.ТестНабор()).ИмеетТип("oneunit_testsuite_" + Имя); Иначе Ожидаем.Что(ТестНабор.ТестНабор()).ЭтоНеопределено(); КонецЕсли;