From 4416fe68b9f3f6c54042597d6c29d8fabaa6b5b5 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 5 Sep 2018 20:26:22 +0300 Subject: [PATCH 1/6] =?UTF-8?q?=D0=9F=D0=BB=D0=B0=D0=B3=D0=B8=D0=BD=20?= =?UTF-8?q?=D0=A0=D0=B5=D0=B3=D1=83=D0=BB=D1=8F=D1=80=D0=BD=D1=8B=D0=B5?= =?UTF-8?q?=D0=92=D1=8B=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B8?= =?UTF-8?q?=20=D1=84=D0=B8=D1=87=D0=B0=20=D0=B4=D0=BB=D1=8F=20=D0=B5=D0=B3?= =?UTF-8?q?=D0=BE=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B8=20?= =?UTF-8?q?=D0=9D=D0=BE=D0=B2=D1=8B=D0=B9=20=D1=88=D0=B0=D0=B3=20=D0=BF?= =?UTF-8?q?=D0=B5=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D0=BD=D0=B0=D1=8F=20"?= =?UTF-8?q?=D0=9F=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D1=8F=D0=B5=D0=BC=D0=B0?= =?UTF-8?q?=D1=8F=D0=A1=D1=82=D1=80=D0=BE=D0=BA=D0=B0"=20=D1=81=D0=BE?= =?UTF-8?q?=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D1=83=D0=B5?= =?UTF-8?q?=D1=82=20=D1=80=D0=B5=D0=B3=D1=83=D0=BB=D1=8F=D1=80=D0=BD=D0=BE?= =?UTF-8?q?=D0=BC=D1=83=20=D0=B2=D1=8B=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8E=20"\d\d\d"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\266\320\265\320\275\320\270\321\217.xml" | 30 +++ ...0\244\320\276\321\200\320\274\320\260.xml" | 22 ++ .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 88 ++++++++ ...6\320\265\320\275\320\270\321\217.feature" | 12 + ...0\266\320\265\320\275\320\270\321\217.xml" | 30 +++ .../Ext/ObjectModule.bsl" | 15 ++ ...0\244\320\276\321\200\320\274\320\260.xml" | 22 ++ .../Ext/Form.xml" | 13 ++ .../Ext/Form/Module.bsl" | 210 ++++++++++++++++++ 10 files changed, 454 insertions(+) create mode 100644 "features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217.xml" create mode 100644 "features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" create mode 100644 "features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217.feature" create mode 100644 "plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217.xml" create mode 100644 "plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" create mode 100644 "plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" diff --git "a/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217.xml" "b/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217.xml" new file mode 100644 index 000000000..a9ba5d8fa --- /dev/null +++ "b/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217.xml" @@ -0,0 +1,30 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 29d2f52d-0ed1-4254-a6bc-bbc6bc333ab1 + + + 503de865-4645-4496-b5dd-2e4a76236095 + 4d213f80-34d7-4f82-80f0-c17b4f80d887 + + + + Фича_РегулярныеВыражения + + + ru + РегулярныеВыражения + + + + ExternalDataProcessor.Фича_РегулярныеВыражения.Form.Форма + + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..cd892735e --- /dev/null +++ "b/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..fc02585eb --- /dev/null +++ "b/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Фича_РегулярныеВыражения + + true + + + \ No newline at end of file diff --git "a/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..10850052b --- /dev/null +++ "b/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,88 @@ + +#Область Служебные_функции_и_процедуры + +&НаКлиенте +// контекст фреймворка Vanessa-Behavior +Перем Ванесса; + +&НаКлиенте +// Структура, в которой хранится состояние сценария между выполнением шагов. Очищается перед выполнением каждого сценария. +Перем Контекст Экспорт; + +&НаКлиенте +// Структура, в которой можно хранить служебные данные между запусками сценариев. Существует, пока открыта форма Vanessa-Behavior. +Перем КонтекстСохраняемый Экспорт; + +&НаКлиенте +// Функция экспортирует список шагов, которые реализованы в данной внешней обработке. +Функция ПолучитьСписокТестов(КонтекстФреймворкаBDD) Экспорт + Ванесса = КонтекстФреймворкаBDD; + + ВсеТесты = Новый Массив; + + //описание параметров + //Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,Снипет,ИмяПроцедуры,ПредставлениеТеста,ОписаниеШага,ТипШага,Транзакция,Параметр); + + Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ПеременнаяСоответствуетРегулярномуВыражению(Парам01,Парам02)","ПеременнаяСоответствуетРегулярномуВыражению","Тогда переменная ""ПроверяемаяСтрока"" соответствует регулярному выражению ""/d/d/d""","",""); + + Возврат ВсеТесты; +КонецФункции + +&НаСервере +// Служебная функция. +Функция ПолучитьМакетСервер(ИмяМакета) + ОбъектСервер = РеквизитФормыВЗначение("Объект"); + Возврат ОбъектСервер.ПолучитьМакет(ИмяМакета); +КонецФункции + +&НаКлиенте +// Служебная функция для подключения библиотеки создания fixtures. +Функция ПолучитьМакетОбработки(ИмяМакета) Экспорт + Возврат ПолучитьМакетСервер(ИмяМакета); +КонецФункции + +#КонецОбласти + + + +#Область Работа_со_сценариями + +&НаКлиенте +// Процедура выполняется перед началом каждого сценария +Процедура ПередНачаломСценария() Экспорт + +КонецПроцедуры + +&НаКлиенте +// Процедура выполняется перед окончанием каждого сценария +Процедура ПередОкончаниемСценария() Экспорт + +КонецПроцедуры + +#КонецОбласти + + +/////////////////////////////////////////////////// +//Реализация шагов +/////////////////////////////////////////////////// + +&НаКлиенте +//Тогда переменная "ПроверяемаяСтрока" соответствует регулярному выражению "/d/d/d" +//@ПеременнаяСоответствуетРегулярномуВыражению(Парам01,Парам02) +Процедура ПеременнаяСоответствуетРегулярномуВыражению(ИмяПеременной, ШаблонРегулярки) Экспорт + + РегулярныеВыражения = Ванесса.Плагин("РегулярныеВыражения"); + РегулярныеВыражения.Подготовить(ШаблонРегулярки); + + ПроверяемаяСтрока = Контекст[ИмяПеременной]; + + Нашли = РегулярныеВыражения.Совпадает(ПроверяемаяСтрока); + + Ожидаем = Ванесса.Плагин("УтвержденияBDD"); + Ожидаем.Что(Нашли, + СтрШаблон("Ожидали, что проверяемая строка совпадает с шаблоном регулярного выражения, а это не так + |Регулярное выражение %1 + |Проверяемая строка: + |%2", ШаблонРегулярки, ПроверяемаяСтрока)) + .ЭтоИстина(); +КонецПроцедуры diff --git "a/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217.feature" "b/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217.feature" new file mode 100644 index 000000000..90f8b6cb7 --- /dev/null +++ "b/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217.feature" @@ -0,0 +1,12 @@ +# language: ru + +@IgnoreOnWeb + +Функционал: Регулярные выражения + Как Пользователь VB + Я хочу выполнять больше различные проверок, используя регулярные выражения + Чтобы автоматизировать рутинную деятельность разработчика + +Сценарий: Соответствие шаблону + Когда Я запоминаю значение выражения "345" в переменную "ПроверяемаяСтрока" + Тогда переменная "ПроверяемаяСтрока" соответствует регулярному выражению "\d\d\d" diff --git "a/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217.xml" "b/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217.xml" new file mode 100644 index 000000000..e91c9d20f --- /dev/null +++ "b/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217.xml" @@ -0,0 +1,30 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 908d0aaf-e4ec-4668-8d14-3e8075d222fd + + + 85629dd2-6be4-49c6-9a69-13411102aa57 + 3fdd55c8-e92e-4f99-8b28-3ba8957b50ab + + + + РегулярныеВыражения + + + ru + Регулярные выражения + + + + ExternalDataProcessor.РегулярныеВыражения.Form.Форма + + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" "b/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..b572c2872 --- /dev/null +++ "b/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" @@ -0,0 +1,15 @@ +Перем ПутьКФайлуПолный Экспорт;// в эту переменную будет установлен правильный клиентский путь к текущему файлу + +// { Plugin interface +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Результат = Новый Структура; + Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); + Результат.Вставить("Идентификатор", Метаданные().Имя); + Результат.Вставить("Представление", "РегулярныеВыражения"); + + Возврат Новый ФиксированнаяСтруктура(Результат); +КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт +КонецПроцедуры +// } Plugin interface diff --git "a/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..30f4aedce --- /dev/null +++ "b/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..41cf6ed38 --- /dev/null +++ "b/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,13 @@ + +
+ useIfNecessary + + + + + cfg:ExternalDataProcessorObject.РегулярныеВыражения + + true + + + \ No newline at end of file diff --git "a/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..ba745a335 --- /dev/null +++ "b/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,210 @@ +&НаКлиенте +Перем ПутьКФайлуПолный Экспорт;// в эту переменную будет установлен правильный клиентский путь к текущему файлу + +&НаКлиенте +Перем ЭтоLinux; + +&НаКлиенте +Перем РегулярноеВыражение; + +&НаКлиенте +Перем ТестерЛинукс; + +&НаКлиенте +Перем Ожидаем; + +// { Plugin interface +&НаКлиенте +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); +КонецФункции + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + ЭтоLinux = КонтекстЯдраПараметр.ЭтоLinux; + Ожидаем = КонтекстЯдраПараметр.Плагин("УтвержденияBDD"); +КонецПроцедуры + +&НаСервере +Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); +КонецФункции +// } Plugin interface + +// { API + +// Установить шаблон регулярного выражения +// +// Параметры: +// Шаблон - Строка - шаблон регулярного выражения +// +&НаКлиенте +Процедура Подготовить(Знач Шаблон) Экспорт + Если ЭтоLinux Тогда + ПодготовитьШаблонRexExpLinux(Шаблон); + Иначе + Если РегулярноеВыражение = Неопределено Тогда + Попытка + РегулярноеВыражение = Новый COMОбъект("VBScript.RegExp"); + Исключение + ВызватьИсключение "Не удалось создать COMОбъект - VBScript.RegExp"; + КонецПопытки; + КонецЕсли; + + РегулярноеВыражение.Global = Истина; + //для VBScript.RegExp явно указываем что есть начало и конец строки + Шаблон = "^" + Шаблон + "$"; + РегулярноеВыражение.Pattern = Шаблон; + + КонецЕсли; +КонецПроцедуры + +// Проверяет строку на соответствие подготовленному регулярному выражению +// +// Параметры: +// ПроверяемаяСтрока - - +// +// Возвращаемое значение: +// Булево - соответствует или нет +// +&НаКлиенте +Функция Совпадает(Знач ПроверяемаяСтрока) Экспорт + ПроверитьПодготовленность(); + Возврат РегулярноеВыражение.Test(ПроверяемаяСтрока); +КонецФункции + +// Позволяет проверить соответствие строки "ПроверяемаяСтрока" шаблону "Шаблон" +// при этом подстрока "Шаблон" может содержать символы *, который означает "любые символы" +// например СтрокаСоответствуетШаблону("Привет","*вет") +// +// Параметры: +// ПроверяемаяСтрока - Строка - +// Шаблон - Строка - +// +// Возвращаемое значение: +// Булево - соответствует или нет +// +&НаКлиенте +Функция СтрокаСоответствуетШаблону(Знач ПроверяемаяСтрока) Экспорт + //Шаблон = ПодготовитьШаблонКИспользованиюВРегулярке(Шаблон); // TODO добавить вызов ПодготовитьШаблонКИспользованиюВРегулярке в клиентский код + ПроверитьПодготовленность(); + + Если ЭтоLinux Тогда + Возврат ПроверитьСтрокуRexExpLinux(ПроверяемаяСтрока); + Иначе + Если РегулярноеВыражение = Неопределено Тогда + Попытка + РегулярноеВыражение = Новый COMОбъект("VBScript.RegExp"); + Исключение + ВызватьИсключение "Не удалось создать COMОбъект - VBScript.RegExp"; + КонецПопытки; + КонецЕсли; + + РегулярноеВыражение.Global = Истина; + //для VBScript.RegExp явно указываем что есть начало и конец строки + Шаблон = "^" + Шаблон + "$"; + РегулярноеВыражение.Pattern = Шаблон; + + Возврат РегулярноеВыражение.Test(ПроверяемаяСтрока); + + КонецЕсли; +КонецФункции + +// Подготовить шаблон к использованию в регулярке путем экранирования служебных символов +// Важно: Символ * в шаблоне трактуется как выражение .+ (любой символ) +// +// Параметры: +// Шаблон - Строка - строка регулярного выражения без экранирования +// +// Возвращаемое значение: +// Строка - подготовленный шаблон регулярного выражения с добавлением экранирования и заменой * +// +&НаКлиенте +Функция ПодготовитьШаблонКИспользованиюВРегулярке(Знач Шаблон) Экспорт + + // Экранируем все, кроме звездочки. Ее будем трактовать по-своему. + СпецСимволы = Новый Массив; + СпецСимволы.Добавить("\"); + СпецСимволы.Добавить("^"); + СпецСимволы.Добавить("$"); + СпецСимволы.Добавить("("); + СпецСимволы.Добавить(")"); + СпецСимволы.Добавить("<"); + СпецСимволы.Добавить("["); + СпецСимволы.Добавить("]"); + СпецСимволы.Добавить("{"); + СпецСимволы.Добавить("}"); + СпецСимволы.Добавить("|"); + СпецСимволы.Добавить(">"); + СпецСимволы.Добавить("."); + СпецСимволы.Добавить("+"); + СпецСимволы.Добавить("?"); + + Для Каждого СпецСимвол Из СпецСимволы Цикл + Шаблон = СтрЗаменить(Шаблон, СпецСимвол, "\" + СпецСимвол); + КонецЦикла; + + // Трактуем * по-нашему. + Шаблон = СтрЗаменить(Шаблон, "*", ".+"); + + Возврат Шаблон; + +КонецФункции + +// } API + +// { Helpers +&НаСервере +Функция ЭтотОбъектНаСервере() + Возврат РеквизитФормыВЗначение("Объект"); +КонецФункции + +&НаКлиенте +Процедура ПроверитьПодготовленность() + Если ЭтоLinux Тогда + Значение = ТестерЛинукс; + Иначе + Значение = РегулярноеВыражение; + КонецЕсли; + Ожидаем.Что(Значение <> Неопределено, + "Ожидали, что регулярное выражение подготовлено, а это не так") + .ЭтоИстина(); +КонецПроцедуры + +//взято из https://infostart.ru/public/464971/ +&НаКлиенте +Функция ПроверитьСтрокуRexExpLinux(Знач Строка) + + Попытка + ТестерЛинукс.TestItem = Строка; + Возврат Истина + Исключение + Возврат Ложь + КонецПопытки; +КонецФункции + +//взято из https://infostart.ru/public/464971/ +&НаКлиенте +Функция ПодготовитьШаблонRexExpLinux(Знач Шаблон) + Чтение = Новый ЧтениеXML; + Чтение.УстановитьСтроку( + " + | + | + |" + Шаблон + " + | + | + | + | + | + |"); + + Модель = ФабрикаXDTO.ПрочитатьXML(Чтение); + МояФабрикаXDTO = Новый ФабрикаXDTO(Модель); + Пакет = МояФабрикаXDTO.Пакеты.Получить("sample-my-package"); + ТестерЛинукс = МояФабрикаXDTO.Создать(Пакет.Получить("TestObj")); + + Возврат ТестерЛинукс; +КонецФункции + +// } Helpers From aaec20c1929089f5a29ac3a14496483e4f9e16fb Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 5 Sep 2018 22:12:49 +0300 Subject: [PATCH 2/6] =?UTF-8?q?=D0=9D=D0=BE=D0=B2=D1=8B=D0=B5=20=D1=88?= =?UTF-8?q?=D0=B0=D0=B3=D0=B8=20=20=20=20=20=D0=AF=20=D0=B7=D0=B0=D0=BF?= =?UTF-8?q?=D0=BE=D0=BC=D0=B8=D0=BD=D0=B0=D1=8E=20=D1=81=D1=82=D1=80=D0=BE?= =?UTF-8?q?=D0=BA=D1=83=20"=D0=9F=D1=80=D0=B8=D0=B2=D0=B5=D1=82"=20=D0=BA?= =?UTF-8?q?=D0=B0=D0=BA=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D0=BD?= =?UTF-8?q?=D1=83=D1=8E=20"=D0=9F=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D1=8F?= =?UTF-8?q?=D0=B5=D0=BC=D0=B0=D1=8F=D0=A1=D1=82=D1=80=D0=BE=D0=BA=D0=B0"?= =?UTF-8?q?=20=20=20=20=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D0=BD?= =?UTF-8?q?=D0=B0=D1=8F=20"=D0=9F=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D1=8F?= =?UTF-8?q?=D0=B5=D0=BC=D0=B0=D1=8F=D0=A1=D1=82=D1=80=D0=BE=D0=BA=D0=B0"?= =?UTF-8?q?=20=D1=81=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2?= =?UTF-8?q?=D1=83=D0=B5=D1=82=20=D0=BF=D1=80=D0=BE=D1=81=D1=82=D0=BE=D0=BC?= =?UTF-8?q?=D1=83=20=D1=88=D0=B0=D0=B1=D0=BB=D0=BE=D0=BD=D1=83=20"*=D1=80?= =?UTF-8?q?=D0=B8*"=20=20=20=20=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D0=BD=D0=B0=D1=8F=20"=D0=9F=D1=80=D0=BE=D0=B2=D0=B5?= =?UTF-8?q?=D1=80=D1=8F=D0=B5=D0=BC=D0=B0=D1=8F=D0=A1=D1=82=D1=80=D0=BE?= =?UTF-8?q?=D0=BA=D0=B0"=20=D1=81=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82?= =?UTF-8?q?=D1=81=D1=82=D0=B2=D1=83=D0=B5=D1=82=20=D0=BF=D1=80=D0=BE=D1=81?= =?UTF-8?q?=D1=82=D0=BE=D0=BC=D1=83=20=D1=88=D0=B0=D0=B1=D0=BB=D0=BE=D0=BD?= =?UTF-8?q?=D1=83=20"*=D1=80=D0=B8*"=20=20=20=20=20=D0=BF=D0=B5=D1=80?= =?UTF-8?q?=D0=B5=D0=BC=D0=B5=D0=BD=D0=BD=D0=B0=D1=8F=20"=D0=9F=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B5=D1=80=D1=8F=D0=B5=D0=BC=D0=B0=D1=8F=D0=A1?= =?UTF-8?q?=D1=82=D1=80=D0=BE=D0=BA=D0=B0"=20=D0=BD=D0=B5=20=D1=81=D0=BE?= =?UTF-8?q?=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D1=83=D0=B5?= =?UTF-8?q?=D1=82=20=D1=80=D0=B5=D0=B3=D1=83=D0=BB=D1=8F=D1=80=D0=BD=D0=BE?= =?UTF-8?q?=D0=BC=D1=83=20=D0=B2=D1=8B=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8E=20"\d{4}"=20=20=20=20=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D0=BD=D0=B0=D1=8F=20"=D0=9F=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=B5=D1=80=D1=8F=D0=B5=D0=BC=D0=B0=D1=8F=D0=A1=D1=82=D1=80?= =?UTF-8?q?=D0=BE=D0=BA=D0=B0"=20=D0=BD=D0=B5=20=D1=81=D0=BE=D0=BE=D1=82?= =?UTF-8?q?=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D1=83=D0=B5=D1=82=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D1=81=D1=82=D0=BE=D0=BC=D1=83=20=D1=88=D0=B0=D0=B1?= =?UTF-8?q?=D0=BB=D0=BE=D0=BD=D1=83=20"*=D0=94=D1=80=D1=83=D0=B3=D0=BE?= =?UTF-8?q?=D0=B9=D0=A2=D0=B5=D0=BA=D1=81=D1=82*"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 102 ++++++++++++++++-- ...6\320\265\320\275\320\270\321\217.feature" | 12 +++ .../Ext/Form/Module.bsl" | 7 +- 3 files changed, 113 insertions(+), 8 deletions(-) diff --git "a/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 10850052b..8fb0fbadd 100644 --- "a/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -23,7 +23,11 @@ //описание параметров //Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,Снипет,ИмяПроцедуры,ПредставлениеТеста,ОписаниеШага,ТипШага,Транзакция,Параметр); - Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ПеременнаяСоответствуетРегулярномуВыражению(Парам01,Парам02)","ПеременнаяСоответствуетРегулярномуВыражению","Тогда переменная ""ПроверяемаяСтрока"" соответствует регулярному выражению ""/d/d/d""","",""); + Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ПеременнаяСоответствуетРегулярномуВыражению(Парам01,Парам02)","ПеременнаяСоответствуетРегулярномуВыражению","Тогда переменная ""ПроверяемаяСтрока"" соответствует регулярному выражению ""\d\d\d""","",""); + Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ЯЗапоминаюСтрокуКакПеременную(Парам01,Парам02)","ЯЗапоминаюСтрокуКакПеременную","Когда Я запоминаю строку ""Привет"" как переменную ""ПроверяемаяСтрока""","",""); + Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ПеременнаяСоответствуетПростомуШаблону(Парам01,Парам02)","ПеременнаяСоответствуетПростомуШаблону","Тогда переменная ""ПроверяемаяСтрока"" соответствует простому шаблону ""*ри*""","",""); + Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ПеременнаяНеСоответствуетРегулярномуВыражению(Парам01,Парам02)","ПеременнаяНеСоответствуетРегулярномуВыражению","Тогда переменная ""ПроверяемаяСтрока"" не соответствует регулярному выражению ""\d{4}""","",""); + Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ПеременнаяНеСоответствуетПростомуШаблону(Парам01,Парам02)","ПеременнаяНеСоответствуетПростомуШаблону","Тогда переменная ""ПроверяемаяСтрока"" не соответствует простому шаблону ""*ДругойТекст*""","",""); Возврат ВсеТесты; КонецФункции @@ -66,23 +70,107 @@ //Реализация шагов /////////////////////////////////////////////////// +&НаКлиенте +//Когда Я запоминаю строку "Привет" как переменную "ПроверяемаяСтрока" +//@ЯЗапоминаюСтрокуКакПеременную(Парам01,Парам02) +Процедура ЯЗапоминаюСтрокуКакПеременную(ИсходнаяСтрока, ИмяПеременной) Экспорт + Контекст.Вставить(ИмяПеременной, ИсходнаяСтрока); +КонецПроцедуры + &НаКлиенте //Тогда переменная "ПроверяемаяСтрока" соответствует регулярному выражению "/d/d/d" //@ПеременнаяСоответствуетРегулярномуВыражению(Парам01,Парам02) Процедура ПеременнаяСоответствуетРегулярномуВыражению(ИмяПеременной, ШаблонРегулярки) Экспорт - РегулярныеВыражения = Ванесса.Плагин("РегулярныеВыражения"); - РегулярныеВыражения.Подготовить(ШаблонРегулярки); + ПроверяемаяСтрока = ""; - ПроверяемаяСтрока = Контекст[ИмяПеременной]; + Нашли = ПеременнаяСоответствуетРегулярномуВыражениюВнутр(ИмяПеременной, ШаблонРегулярки, ПроверяемаяСтрока); - Нашли = РегулярныеВыражения.Совпадает(ПроверяемаяСтрока); + Ожидаем = Ванесса.Плагин("УтвержденияBDD"); + Ожидаем.Что(Нашли, + СтрШаблон("Ожидали, что проверяемая строка из переменной совпадает с шаблоном регулярного выражения, а это не так + |Регулярное выражение %1 + |Имя переменной %2 + |Проверяемая строка: + |%3", ШаблонРегулярки, ИмяПеременной, ПроверяемаяСтрока)) + .ЭтоИстина(); +КонецПроцедуры + +&НаКлиенте +//Тогда переменная "ПроверяемаяСтрока" не соответствует регулярному выражению "\d{4}" +//@ПеременнаяНеСоответствуетРегулярномуВыражению(Парам01,Парам02) +Процедура ПеременнаяНеСоответствуетРегулярномуВыражению(ИмяПеременной, ШаблонРегулярки) Экспорт + + ПроверяемаяСтрока = ""; + + Нашли = ПеременнаяСоответствуетРегулярномуВыражениюВнутр(ИмяПеременной, ШаблонРегулярки, ПроверяемаяСтрока); Ожидаем = Ванесса.Плагин("УтвержденияBDD"); Ожидаем.Что(Нашли, - СтрШаблон("Ожидали, что проверяемая строка совпадает с шаблоном регулярного выражения, а это не так + СтрШаблон("Ожидали, что проверяемая строка не совпадает с шаблоном регулярного выражения, а она совпадает, что неверно |Регулярное выражение %1 + |Имя переменной %2 + |Проверяемая строка: + |%3", ШаблонРегулярки, ИмяПеременной, ПроверяемаяСтрока)) + .ЭтоЛожь(); +КонецПроцедуры + +&НаКлиенте +//Тогда переменная "ПроверяемаяСтрока" соответствует простому шаблону "*ри*" +//@ПеременнаяСоответствуетПростомуШаблону(Парам01,Парам02) +Процедура ПеременнаяСоответствуетПростомуШаблону(ИмяПеременной, ШаблонРегулярки) Экспорт + + ПроверяемаяСтрока = ""; + Нашли = ПеременнаяСоответствуетПростомуШаблонуВнутр(ИмяПеременной, ШаблонРегулярки, ПроверяемаяСтрока); + + Ожидаем = Ванесса.Плагин("УтвержденияBDD"); + Ожидаем.Что(Нашли, + СтрШаблон("Ожидали, что проверяемая строка совпадает с шаблоном регулярного выражения, а это не так + |Шаблон проверки %1 + |Имя переменной %2 |Проверяемая строка: - |%2", ШаблонРегулярки, ПроверяемаяСтрока)) + |%3", ШаблонРегулярки, ИмяПеременной, ПроверяемаяСтрока)) .ЭтоИстина(); КонецПроцедуры + +&НаКлиенте +//Тогда переменная "ПроверяемаяСтрока" не соответствует простому шаблону "*ДругойТекст*" +//@ПеременнаяНеСоответствуетПростомуШаблону(Парам01,Парам02) +Процедура ПеременнаяНеСоответствуетПростомуШаблону(ИмяПеременной, ШаблонРегулярки) Экспорт + ПроверяемаяСтрока = ""; + Нашли = ПеременнаяСоответствуетПростомуШаблонуВнутр(ИмяПеременной, ШаблонРегулярки, ПроверяемаяСтрока); + + Ожидаем = Ванесса.Плагин("УтвержденияBDD"); + Ожидаем.Что(Нашли, + СтрШаблон("Ожидали, что проверяемая строка не совпадает с простым шаблоном, а она совпадает, что неверно + |Шаблон проверки %1 + |Имя переменной %2 + |Проверяемая строка: + |%3", ШаблонРегулярки, ИмяПеременной, ПроверяемаяСтрока)) + .ЭтоЛожь(); +КонецПроцедуры + +&НаКлиенте +Функция ПеременнаяСоответствуетРегулярномуВыражениюВнутр(ИмяПеременной, ШаблонРегулярки, ПроверяемаяСтрока) + + РегулярныеВыражения = Ванесса.Плагин("РегулярныеВыражения"); + РегулярныеВыражения.Подготовить(ШаблонРегулярки); + + ПроверяемаяСтрока = Контекст[ИмяПеременной]; + + Нашли = РегулярныеВыражения.Совпадает(ПроверяемаяСтрока); + + Возврат Нашли; +КонецФункции + +&НаКлиенте +Функция ПеременнаяСоответствуетПростомуШаблонуВнутр(ИмяПеременной, ШаблонРегулярки, ПроверяемаяСтрока) + + РегулярныеВыражения = Ванесса.Плагин("РегулярныеВыражения"); + + ПроверяемаяСтрока = Контекст[ИмяПеременной]; + + Нашли = РегулярныеВыражения.СтрокаСоответствуетШаблону(ПроверяемаяСтрока, ШаблонРегулярки); + + Возврат Нашли; +КонецФункции diff --git "a/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217.feature" "b/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217.feature" index 90f8b6cb7..bb441771d 100644 --- "a/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217.feature" +++ "b/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217.feature" @@ -10,3 +10,15 @@ Сценарий: Соответствие шаблону Когда Я запоминаю значение выражения "345" в переменную "ПроверяемаяСтрока" Тогда переменная "ПроверяемаяСтрока" соответствует регулярному выражению "\d\d\d" + +Сценарий: Соответствие шаблону "любые символы" + Когда Я запоминаю строку "Привет" как переменную "ПроверяемаяСтрока" + Тогда переменная "ПроверяемаяСтрока" соответствует простому шаблону "*ри*" + +Сценарий: Несовпадение с шаблоном + Когда Я запоминаю значение выражения "345" в переменную "ПроверяемаяСтрока" + Тогда переменная "ПроверяемаяСтрока" не соответствует регулярному выражению "\d{4}" + +Сценарий: Несовпадение с шаблоном "любые символы" + Когда Я запоминаю строку "Привет" как переменную "ПроверяемаяСтрока" + Тогда переменная "ПроверяемаяСтрока" не соответствует простому шаблону "*ДругойТекст*" diff --git "a/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index ba745a335..bed99fce3 100644 --- "a/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -85,7 +85,12 @@ // Булево - соответствует или нет // &НаКлиенте -Функция СтрокаСоответствуетШаблону(Знач ПроверяемаяСтрока) Экспорт +Функция СтрокаСоответствуетШаблону(Знач ПроверяемаяСтрока, Знач Шаблон = "") Экспорт + + Если ЗначениеЗаполнено(Шаблон) Тогда + Шаблон = ПодготовитьШаблонКИспользованиюВРегулярке(Шаблон); + Подготовить(Шаблон); + КонецЕсли; //Шаблон = ПодготовитьШаблонКИспользованиюВРегулярке(Шаблон); // TODO добавить вызов ПодготовитьШаблонКИспользованиюВРегулярке в клиентский код ПроверитьПодготовленность(); From 5649b45a00764d568bb81b57ebe2a6383ca9159b Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 5 Sep 2018 22:21:40 +0300 Subject: [PATCH 3/6] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BB=20=D0=BB?= =?UTF-8?q?=D0=B8=D1=88=D0=BD=D0=B8=D0=B5=20=D0=B4=D0=BE=D0=BF=D1=83=D1=89?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F=20=D0=BF=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B8=20=D1=80=D0=B5=D0=B3=D1=83?= =?UTF-8?q?=D0=BB=D1=8F=D1=80=D0=BA=D0=B8=20=D0=A0=D0=B5=D1=84=D0=B0=D0=BA?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=B8=D0=BD=D0=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...6\320\265\320\275\320\270\321\217.feature" | 6 ++--- .../Ext/Form/Module.bsl" | 23 +++++-------------- 2 files changed, 9 insertions(+), 20 deletions(-) diff --git "a/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217.feature" "b/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217.feature" index bb441771d..fab65344e 100644 --- "a/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217.feature" +++ "b/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217.feature" @@ -4,14 +4,14 @@ Функционал: Регулярные выражения Как Пользователь VB - Я хочу выполнять больше различные проверок, используя регулярные выражения + Я хочу выполнять больше различных проверок, используя регулярные выражения Чтобы автоматизировать рутинную деятельность разработчика Сценарий: Соответствие шаблону Когда Я запоминаю значение выражения "345" в переменную "ПроверяемаяСтрока" Тогда переменная "ПроверяемаяСтрока" соответствует регулярному выражению "\d\d\d" -Сценарий: Соответствие шаблону "любые символы" +Сценарий: Соответствие простому шаблону с использованием маски "*", т.е. "любые символы" Когда Я запоминаю строку "Привет" как переменную "ПроверяемаяСтрока" Тогда переменная "ПроверяемаяСтрока" соответствует простому шаблону "*ри*" @@ -19,6 +19,6 @@ Когда Я запоминаю значение выражения "345" в переменную "ПроверяемаяСтрока" Тогда переменная "ПроверяемаяСтрока" не соответствует регулярному выражению "\d{4}" -Сценарий: Несовпадение с шаблоном "любые символы" +Сценарий: Несовпадение с простым шаблоном с использованием маски "*", т.е. "любые символы" Когда Я запоминаю строку "Привет" как переменную "ПроверяемаяСтрока" Тогда переменная "ПроверяемаяСтрока" не соответствует простому шаблону "*ДругойТекст*" diff --git "a/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index bed99fce3..006d451aa 100644 --- "a/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -52,8 +52,6 @@ КонецЕсли; РегулярноеВыражение.Global = Истина; - //для VBScript.RegExp явно указываем что есть начало и конец строки - Шаблон = "^" + Шаблон + "$"; РегулярноеВыражение.Pattern = Шаблон; КонецЕсли; @@ -89,29 +87,20 @@ Если ЗначениеЗаполнено(Шаблон) Тогда Шаблон = ПодготовитьШаблонКИспользованиюВРегулярке(Шаблон); + Если Не ЭтоLinux Тогда + //для VBScript.RegExp явно указываем что есть начало и конец строки + Шаблон = "^" + Шаблон + "$"; + КонецЕсли; + Подготовить(Шаблон); КонецЕсли; - //Шаблон = ПодготовитьШаблонКИспользованиюВРегулярке(Шаблон); // TODO добавить вызов ПодготовитьШаблонКИспользованиюВРегулярке в клиентский код + ПроверитьПодготовленность(); Если ЭтоLinux Тогда Возврат ПроверитьСтрокуRexExpLinux(ПроверяемаяСтрока); Иначе - Если РегулярноеВыражение = Неопределено Тогда - Попытка - РегулярноеВыражение = Новый COMОбъект("VBScript.RegExp"); - Исключение - ВызватьИсключение "Не удалось создать COMОбъект - VBScript.RegExp"; - КонецПопытки; - КонецЕсли; - - РегулярноеВыражение.Global = Истина; - //для VBScript.RegExp явно указываем что есть начало и конец строки - Шаблон = "^" + Шаблон + "$"; - РегулярноеВыражение.Pattern = Шаблон; - Возврат РегулярноеВыражение.Test(ПроверяемаяСтрока); - КонецЕсли; КонецФункции From 26f0f0b56dbe076e25430e652db030feb8aa5055 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 5 Sep 2018 22:43:26 +0300 Subject: [PATCH 4/6] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=20=D1=88=D0=B0=D0=B3=D0=B8=20=D0=B4=D0=BB=D1=8F=20=D0=9E=D0=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epf/bddRunner/bddRunner/Ext/ObjectModule.bsl | 2 +- .../Ext/Form.bin" | Bin 442810 -> 442814 bytes .../Ext/ObjectModule.bsl" | 155 +++++++++++++++ .../Ext/ObjectModule.bsl" | 177 ++++++++++++++++++ 4 files changed, 333 insertions(+), 1 deletion(-) create mode 100644 "features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" diff --git a/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl b/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl index 9fe6b1081..2431f3273 100644 --- a/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl +++ b/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl @@ -2,7 +2,7 @@ Перем СтатусыРезультатаТестирования Экспорт; Перем ПараметрыОтчетаУФ; Перем ОтчетВРежимеУФ; -Перем ЭтоLinux; +Перем ЭтоLinux Экспорт; Перем Регулярка; Перем РазницаВМилисекундахМеждуЮниксИНачалЭпохи; diff --git "a/epf/bddRunner/bddRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.bin" "b/epf/bddRunner/bddRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.bin" index 919ad5424ba1aff4eb8ba98cb1a8e0c05c2b820f..dbd74390b60d9b687f342adcf85bacfeeb562992 100644 GIT binary patch delta 1632 zcma)6O=w+36z-j=uX!;qKUPspwP}46L*KOXduIk(2?l9Q6HNp~@u!)edlywA-AUXO zB34|O#VwBF%7wTQDP(b_1SwsKm?F3k5sIMTu5{r}M9+PxP*>i28SXILGv_a)mC?`niyNFcDm#6ovq#++wB7cu9Yi@EsZCVmlSdqmgG(t#)2%V2RjgL3!?I539!jDwfCKvl{&~BcXs!vR17xKP{rFC2c5-npyDq0XHRZhGVr5D18;9|OY z28*<{nBA9F7Bc#|S;$b|O6#0*oDC|U_4>>$ly&Z$)Nu0qVjs$3tgr$!sQ|Y3l=uibHE>p_ z(nc;t1ADdp>nVH+I53{)ML|hycm|$8$V$NgSS_e7osT+iwEyB>S8^{Uw@gFtfM?0! zdJ}0*7|b&>LAfZ@UB8=La|XR8kt^uD)|R-S6)A15wW3BzT{LJ`()S;B#?#guK2X0l zhwnvwucQh*SH$E#f*F*O_@E4tAV4o+COP%PI?}V3JIB+xd5D~x$8Vv&1b9YqOG076 z92^wiSPZez!FWgIWMDPqJfEd}DWk{oK`WGp7jbIWtvh44KmECg#3lw^bifcNx>YJfAG!N7F0I zkfM!*>YZi$0s`FN;P7zSSoz*YmwV4lZ}dOjpXOHZ%;?bb1(>8x=U4C#=;X;ur&lqo h{jlz-Pp@_^`a^u?u1f}NKw(LEg~)0B<96rQ-ait+$Pxem delta 1601 zcma)6O=w+36!y-oF$sC5p@PsTd2KI++Bb3j?)*Tor4kL#JV_S{wjh~br9#z>NZkYi z76obHf}=a#=*C4Q!j)2r;--jM>B@i<6uRq1cUth|J&L;W&SjXH%bYpq`@VC|&F#hO z+l$wpN4-zpI``_Kr_lrBwK^Lg}k+g$Z;_+9RN0X{>st+ht~Wu z|7q35f8Ja#A8)=nIP8RNdwHQ_ z!{U*=u~v}J^;&_zkOV@t!-6=CMMx4m9cmniHbGM>t@C5U77X`_Zuc*aio^NZqf?9d z+x6nTPQhIUoA%-eeSE26F8Ji5$6QOul*k-5&ITNWgx@5ATCoKzGiai#FewHS3}{b5 zSI!95iCPd>h!kQ-k&YAbrF{DqBJEeV&`(9a{sUrFC(DDo=!hIYvoe= z*O{^pQYGq?PZ0+rIb7v{I0=HIa8jfgIhX$!_4A$8lC|HhmT#jf5$$|!CJYB97RkA`_>IC*20u??e$PAgVB`z=lRBOkfTwcgqXUge{ zXssd@3fHoRJfhGSj0u1(C~m#bb);mHN8rK~6XhHUEO{2OrVbE6xnc{Bunb(#XnjqM z7`x!>1wSqaooHJcmbp{#_iODy{&QG{lU?W?KqJwEqxtG;xtza#uADE9cjPN zrRsua-{-sC$eJCM1fE|Rl`nS^u)R4dUqs6T+M9)j4TFjO&OOx6!bbVy"); + СпецСимволы.Добавить("."); + СпецСимволы.Добавить("+"); + СпецСимволы.Добавить("?"); + + Для Каждого СпецСимвол Из СпецСимволы Цикл + Шаблон = СтрЗаменить(Шаблон, СпецСимвол, "\" + СпецСимвол); + КонецЦикла; + + // Трактуем * по-нашему. + Шаблон = СтрЗаменить(Шаблон, "*", ".+"); + + Возврат Шаблон; + +КонецФункции + +// } API + +// { Helpers + +Процедура ПроверитьПодготовленность() + Если ЭтоLinux Тогда + Значение = ТестерЛинукс; + Иначе + Значение = РегулярноеВыражение; + КонецЕсли; + Ожидаем().Что(Значение <> Неопределено, + "Ожидали, что регулярное выражение подготовлено, а это не так") + .ЭтоИстина(); +КонецПроцедуры + +//взято из https://infostart.ru/public/464971/ +Функция ПроверитьСтрокуRexExpLinux(Знач Строка) + + Попытка + ТестерЛинукс.TestItem = Строка; + Возврат Истина + Исключение + Возврат Ложь + КонецПопытки; +КонецФункции + +//взято из https://infostart.ru/public/464971/ +Функция ПодготовитьШаблонRexExpLinux(Знач Шаблон) + Чтение = Новый ЧтениеXML; + Чтение.УстановитьСтроку( + " + | + | + |" + Шаблон + " + | + | + | + | + | + |"); + + Модель = ФабрикаXDTO.ПрочитатьXML(Чтение); + МояФабрикаXDTO = Новый ФабрикаXDTO(Модель); + Пакет = МояФабрикаXDTO.Пакеты.Получить("sample-my-package"); + ТестерЛинукс = МояФабрикаXDTO.Создать(Пакет.Получить("TestObj")); + + Возврат ТестерЛинукс; +КонецФункции + +Функция Ожидаем() + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Возврат Ожидаем; +КонецФункции + +// } Helpers From a4b31669574b9f9c2965493fd5bfed7141d2e5f6 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 5 Sep 2018 22:43:51 +0300 Subject: [PATCH 5/6] =?UTF-8?q?=D0=A3=D1=82=D0=BE=D1=87=D0=BD=D0=B8=D0=BB?= =?UTF-8?q?=20=D1=81=D0=B8=D0=BD=D0=BE=D0=BD=D0=B8=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...321\200\320\260\320\266\320\265\320\275\320\270\321\217.xml" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217.xml" "b/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217.xml" index a9ba5d8fa..e2f3e6ea9 100644 --- "a/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217.xml" +++ "b/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\244\320\270\321\207\320\260_\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217.xml" @@ -16,7 +16,7 @@ ru - РегулярныеВыражения + Фича_РегулярныеВыражения From 86d97c4594cb366191b6a63a3383c54e8fbc4a8c Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 5 Sep 2018 22:49:41 +0300 Subject: [PATCH 6/6] =?UTF-8?q?=D0=98=D0=B7=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=D1=81=D1=8F=20=D0=BE=D1=82=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D0=BD=D0=BE=D0=B9=20=D1=84=D0=BE=D1=80=D0=BC=D0=B0?= =?UTF-8?q?=20=D0=AD=D1=82=D0=BELinux,=20=D1=82=D0=B5=D0=BF=D0=B5=D1=80?= =?UTF-8?q?=D1=8C=20=D0=BE=D0=BD=D0=B0=20=D0=BD=D0=B0=D1=85=D0=BE=D0=B4?= =?UTF-8?q?=D0=B8=D1=82=D1=81=D1=8F=20=D0=B2=20=D0=BC=D0=BE=D0=B4=D1=83?= =?UTF-8?q?=D0=BB=D0=B5=20=D0=BE=D0=B1=D1=8A=D0=B5=D0=BA=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git "a/epf/bddRunner/bddRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/bddRunner/bddRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index d4ff68291..a1a37a306 100644 --- "a/epf/bddRunner/bddRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/bddRunner/bddRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -3,8 +3,7 @@ Перем ОбъектКонтекстСохраняемый Экспорт; Перем ЭтоУФ; -Перем ЭтоLinux; - + Перем ВыполнятьСценарииАсинхронно; Перем МассивСценариевДляВыполнения;