From a0c14ea46faf5139e859629af1eb073e8d24da84 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 1 May 2020 16:38:37 +0300 Subject: [PATCH 1/6] =?UTF-8?q?=D1=83=D1=80=D0=BE=D0=B2=D0=B5=D0=BD=D1=8C?= =?UTF-8?q?=20=D0=BB=D0=BE=D0=B3=D0=B0=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD?= =?UTF-8?q?=D0=B4=D1=8B=20oscript=20=D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B8=D0=B2=D0=B0=D0=B5=D1=82=D1=81=D1=8F=20=D1=87?= =?UTF-8?q?=D0=B5=D1=80=D0=B5=D0=B7=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D0=BD=D1=83=D1=8E=20=D0=BE=D0=BA=D1=80=D1=83=D0=B6=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...232\320\276\320\274\320\260\320\275\320\264.os" | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git "a/features/lib/step_definitions/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264.os" "b/features/lib/step_definitions/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264.os" index d0ba49e..357cb92 100644 --- "a/features/lib/step_definitions/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264.os" +++ "b/features/lib/step_definitions/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264.os" @@ -75,14 +75,22 @@ //я включаю отладку лога с именем "bdd" Процедура ЯВключаюОтладкуЛогаСИменем(Знач ИмяЛога) Экспорт - НужныйЛог = Логирование.ПолучитьЛог(ИмяЛога); - НужныйЛог.УстановитьУровень(УровниЛога.Отладка); + УстановитьУровеньЛогаСИменем(ИмяЛога, УровниЛога.Отладка); КонецПроцедуры //я выключаю отладку лога с именем "bdd" Процедура ЯВыключаюОтладкуЛогаСИменем(Знач ИмяЛога) Экспорт + УстановитьУровеньЛогаСИменем(ИмяЛога, УровниЛога.Информация); +КонецПроцедуры + +Процедура УстановитьУровеньЛогаСИменем(Знач ИмяЛога, УровеньЛога) НужныйЛог = Логирование.ПолучитьЛог(ИмяЛога); - НужныйЛог.УстановитьУровень(УровниЛога.Информация); + НужныйЛог.УстановитьУровень(УровниЛога.Отладка); + УровеньДляСреды = "INFO"; + Если УровеньЛога = УровниЛога.Отладка Тогда + УровеньДляСреды = "DEBUG"; + КонецЕсли; + УстановитьПеременнуюСреды("LOGOS_CONFIG", СтрШаблон("logger.%1=%2", ИмяЛога, УровеньДляСреды)); КонецПроцедуры //Я выполняю команду "git" From 567497fb2e1db60c9ac172d5fc217e1bf7731a5d Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 1 May 2020 17:30:11 +0300 Subject: [PATCH 2/6] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=B2=D0=BD=D0=B5=D1=81=D0=B5=D0=BD=D0=BD=D1=83=D1=8E?= =?UTF-8?q?=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\320\265\320\232\320\276\320\274\320\260\320\275\320\264.os" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/features/lib/step_definitions/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264.os" "b/features/lib/step_definitions/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264.os" index 357cb92..9fe09e7 100644 --- "a/features/lib/step_definitions/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264.os" +++ "b/features/lib/step_definitions/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264.os" @@ -85,7 +85,7 @@ Процедура УстановитьУровеньЛогаСИменем(Знач ИмяЛога, УровеньЛога) НужныйЛог = Логирование.ПолучитьЛог(ИмяЛога); - НужныйЛог.УстановитьУровень(УровниЛога.Отладка); + НужныйЛог.УстановитьУровень(УровеньЛога); УровеньДляСреды = "INFO"; Если УровеньЛога = УровниЛога.Отладка Тогда УровеньДляСреды = "DEBUG"; From a53b9338416d330aa74f8c29e9e2b86e3545b305 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 30 Nov 2020 14:29:04 +0300 Subject: [PATCH 3/6] =?UTF-8?q?=D0=9F=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82?= =?UTF-8?q?=D1=80=D1=8B=20=D0=B2=20=D1=82=D0=B0=D0=B1=D0=BB=D0=B8=D1=86?= =?UTF-8?q?=D0=B0=D1=85=20+=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82?= =?UTF-8?q?=D1=80=D1=8B=20=D0=B4=D1=80=D0=BE=D0=B1=D0=BD=D1=8B=D0=B5=20?= =?UTF-8?q?=D1=87=D0=B8=D1=81=D0=BB=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit исправлена передача параметрах в таблицах closes #115 --- ...265\321\202\321\200\320\276\320\262.feature" | 7 ++++++- ...260\320\275\320\275\321\213\321\205.feature" | 17 ++++++++++++++++- src/gherkin-read.os | 15 ++++++++++----- 3 files changed, 32 insertions(+), 7 deletions(-) diff --git "a/features/core/\320\237\320\265\321\200\320\265\320\264\320\260\321\207\320\260\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.feature" "b/features/core/\320\237\320\265\321\200\320\265\320\264\320\260\321\207\320\260\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.feature" index 7f90080..c89c772 100644 --- "a/features/core/\320\237\320\265\321\200\320\265\320\264\320\260\321\207\320\260\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.feature" +++ "b/features/core/\320\237\320\265\321\200\320\265\320\264\320\260\321\207\320\260\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.feature" @@ -9,6 +9,11 @@ Когда я передаю параметр 5 Тогда я получаю параметр с типом "Число" +Сценарий: Параметр дробное число + + Когда я передаю параметр 5,11 + Тогда я получаю параметр с типом "Число" + Сценарий: Использование параметров Дата с годом из 4-х цифр Когда я передаю параметр 11.02.2010 Тогда я получаю параметр с типом "Дата" @@ -27,7 +32,7 @@ Сценарий: Использование параметров ЧислоВнутриСтроки - Когда я передаю параметр число2 + Когда я передаю параметр "число2" Тогда я получаю параметр с типом "Строка" Сценарий: Использование многострочных строк diff --git "a/features/core/\320\242\320\260\320\261\320\273\320\270\321\206\321\213\320\224\320\260\320\275\320\275\321\213\321\205.feature" "b/features/core/\320\242\320\260\320\261\320\273\320\270\321\206\321\213\320\224\320\260\320\275\320\275\321\213\321\205.feature" index a7d5268..61df159 100644 --- "a/features/core/\320\242\320\260\320\261\320\273\320\270\321\206\321\213\320\224\320\260\320\275\320\275\321\213\321\205.feature" +++ "b/features/core/\320\242\320\260\320\261\320\273\320\270\321\206\321\213\320\224\320\260\320\275\320\275\321\213\321\205.feature" @@ -13,4 +13,19 @@ И у переданной таблицы 2 колонки И у переданной таблицы 2 строки И у 0 строки таблицы заданы значения "Ячейка11" и "Ячейка12" - И у 1 строки таблицы заданы значения "Ячейка21" и "Ячейка22" \ No newline at end of file + И у 1 строки таблицы заданы значения "Ячейка21" и "Ячейка22" + +Сценарий: Разные типы в ячейках таблицы + + Когда я передаю таблицу + | Ячейка11 | 11 | + | Ячейка11 | 01.01.2020 | + | Ячейка21 | 11,12 | + | Ячейка21 | 01.01.20 | + Тогда переданная таблица является типом "ТаблицаЗначений" + И у переданной таблицы 2 колонки + И у переданной таблицы 4 строки + И у 0 строки таблицы заданы значения "Ячейка11" и 11 + И у 1 строки таблицы заданы значения "Ячейка11" и 01.01.2020 + И у 2 строки таблицы заданы значения "Ячейка21" и 11,12 + И у 3 строки таблицы заданы значения "Ячейка21" и 01.01.20 \ No newline at end of file diff --git a/src/gherkin-read.os b/src/gherkin-read.os index 86c544d..d4b6444 100644 --- a/src/gherkin-read.os +++ b/src/gherkin-read.os @@ -716,7 +716,7 @@ ЭтоЧисловойПараметр = ЭтоЧисло(ЗначениеПараметра); ОписаниеПараметра = ?(ЭтоЧисловойПараметр, ВозможныеКлючиПараметров.Число, ВозможныеКлючиПараметров.Строка); Если ЭтоЧисловойПараметр Тогда - ЗначениеПараметра = Число(ЗначениеПараметра); + ЗначениеПараметра = Число(СтрЗаменить(ЗначениеПараметра, ",", ".")); КонецЕсли; Начало = Группа.Индекс; @@ -946,8 +946,13 @@ //пытаемся привести к одному значению, все значения, кроме строки. Например, число, дата НайденныеПараметры = СоздатьТаблицуПараметров(); ВыделитьПростыеЗначенияНеСтроки(ЗначениеПараметра, НайденныеПараметры); - Если НайденныеПараметры.Количество() = 1 Тогда - ЗначениеПараметра = НайденныеПараметры[0].Значение; + Если НайденныеПараметры.Количество() = 1 Тогда + НайденныйПараметр = НайденныеПараметры[0]; + НашлиПараметр = (НайденныйПараметр.Тип = ВозможныеКлючиПараметров.Число И ЭтоЧисло(ЗначениеПараметра)) + Или НайденныйПараметр.Тип = ВозможныеКлючиПараметров.Дата; + Если НашлиПараметр Тогда + ЗначениеПараметра = НайденныйПараметр.Значение; + КонецЕсли; КонецЕсли; Лог.Отладка("номер строки %3, значение из колонки %1 (для подстановки из таблицы) <%2>", @@ -1308,9 +1313,9 @@ Функция СоздатьРегулярныеВыражения() Рез = Новый Структура; - Рез.Вставить("НеЧисло", Новый РегулярноеВыражение("[^\d]+")); + Рез.Вставить("НеЧисло", Новый РегулярноеВыражение("[^\d,]+")); Рез.Вставить("Дата", Новый РегулярноеВыражение("(\d{2}).(\d{2}).(\d{2,4})")); - Рез.Вставить("ЧислоИлиСловоСЧислом", Новый РегулярноеВыражение("([а-яё\w]*\d+[а-яё\w]*)|(-?\d+(,\d)*)+")); //Когда я использую 5 как 5число5 + Рез.Вставить("ЧислоИлиСловоСЧислом", Новый РегулярноеВыражение("(\d+(,\d+){0,1})|(-?\d+(,\d){0,1})+")); //Когда я использую 5 как 5число5 Рез.Вставить("МногострочныйТекст", Новый РегулярноеВыражение("\s*""""""\n\r*((.*\n\r*)+)\s*""""""")); Рез.Вставить("ПараметрДляТаблицы", Новый РегулярноеВыражение("<([^>]+)>")); Рез.Вставить("ПараметрТаблицы", Новый РегулярноеВыражение("\|\s*([^\|]+)\s*")); From 9478344281b8a810d6c35863b9edb66a2de4ee4b Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 30 Nov 2020 16:50:13 +0300 Subject: [PATCH 4/6] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B4=D0=B0?= =?UTF-8?q?=D1=87=D0=B8=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=20=D0=B2=20=D1=82=D0=B0=D0=B1=D0=BB=D0=B8=D1=86?= =?UTF-8?q?=D0=B0=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit новые сценарии из #155 closes #115 --- ...20\260\320\275\320\275\321\213\321\205.os" | 21 ++++++++++ ...0\320\275\320\275\321\213\321\205.feature" | 38 ++++++++++++++++++- src/gherkin-read.os | 26 +++++++------ 3 files changed, 72 insertions(+), 13 deletions(-) diff --git "a/features/core/step_definitions/\320\242\320\260\320\261\320\273\320\270\321\206\321\213\320\224\320\260\320\275\320\275\321\213\321\205.os" "b/features/core/step_definitions/\320\242\320\260\320\261\320\273\320\270\321\206\321\213\320\224\320\260\320\275\320\275\321\213\321\205.os" index c0b7a6b..079b09c 100644 --- "a/features/core/step_definitions/\320\242\320\260\320\261\320\273\320\270\321\206\321\213\320\224\320\260\320\275\320\275\321\213\321\205.os" +++ "b/features/core/step_definitions/\320\242\320\260\320\261\320\273\320\270\321\206\321\213\320\224\320\260\320\275\320\275\321\213\321\205.os" @@ -13,6 +13,8 @@ ВсеШаги.Добавить("УПереданнойТаблицыКолонки"); ВсеШаги.Добавить("УПереданнойТаблицыСтроки"); ВсеШаги.Добавить("УСтрокиТаблицыЗаданыЗначенияИ"); + ВсеШаги.Добавить("ВТаблицеВЯчейкеЗначениеИмеетТип"); + ВсеШаги.Добавить("ВТаблицеВЯчейкеУказаноЗначение"); Возврат ВсеШаги; КонецФункции @@ -59,3 +61,22 @@ Ожидаем.Что(СтрокаТаблицы[0], "СтрокаТаблицы[0]").Равно(ОжидаемоеЗначение0); Ожидаем.Что(СтрокаТаблицы[1], "СтрокаТаблицы[1]").Равно(ОжидаемоеЗначение1); КонецПроцедуры + +//в таблице в ячейке "R:C" значение имеет тип "Дата" +Процедура ВТаблицеВЯчейкеЗначениеИмеетТип(Ячейка, ТипСтрокой) Экспорт + Ожидаем.Что(ЗначениеВЯчейкеТаблицы(Ячейка)).ИмеетТип(ТипСтрокой); +КонецПроцедуры + +//в таблице в ячейке "R:C" указано значение 29.11.2020 +Процедура ВТаблицеВЯчейкеУказаноЗначение(Ячейка, Значение) Экспорт + Ожидаем.Что(ЗначениеВЯчейкеТаблицы(Ячейка)).Равно(Значение); +КонецПроцедуры + +// Вспомогательный метод +Функция ЗначениеВЯчейкеТаблицы(КоординатыЯчейки) + ТаблицаДанных = БДД.ПолучитьИзКонтекста("ТаблицаДанных"); + Координаты = СтрРазделить(КоординатыЯчейки, ":"); + НомерСтроки = Число(Координаты[0]); + НомерКолонки = Число(Координаты[1]); + Возврат ТаблицаДанных[НомерСтроки][НомерКолонки]; +КонецФункции diff --git "a/features/core/\320\242\320\260\320\261\320\273\320\270\321\206\321\213\320\224\320\260\320\275\320\275\321\213\321\205.feature" "b/features/core/\320\242\320\260\320\261\320\273\320\270\321\206\321\213\320\224\320\260\320\275\320\275\321\213\321\205.feature" index 61df159..6e90091 100644 --- "a/features/core/\320\242\320\260\320\261\320\273\320\270\321\206\321\213\320\224\320\260\320\275\320\275\321\213\321\205.feature" +++ "b/features/core/\320\242\320\260\320\261\320\273\320\270\321\206\321\213\320\224\320\260\320\275\320\275\321\213\321\205.feature" @@ -2,7 +2,7 @@ Функционал: Таблицы данных Как Разработчик - Я Хочу чтобы можно было использовать различные форматы данных в фича-файлах + Я Хочу чтобы в ячейках таблицы данных автоматически распознавались различные типы значений Сценарий: Проверяю передачу простой таблицы @@ -28,4 +28,38 @@ И у 0 строки таблицы заданы значения "Ячейка11" и 11 И у 1 строки таблицы заданы значения "Ячейка11" и 01.01.2020 И у 2 строки таблицы заданы значения "Ячейка21" и 11,12 - И у 3 строки таблицы заданы значения "Ячейка21" и 01.01.20 \ No newline at end of file + И у 3 строки таблицы заданы значения "Ячейка21" и 01.01.20 + +Сценарий: Дата в ячейке таблицы + Когда я передаю таблицу + | 29.11.2020 | + + Тогда в таблице в ячейке "0:0" значение имеет тип "Дата" + И в таблице в ячейке "0:0" указано значение 29.11.2020 + + +Сценарий: Числовое значение в ячейке + Когда я передаю таблицу + | 00000001 | + | 1234567890 | + + Тогда в таблице в ячейке "0:0" значение имеет тип "Число" + И в таблице в ячейке "0:0" указано значение 1 + + Тогда в таблице в ячейке "1:0" значение имеет тип "Число" + И в таблице в ячейке "1:0" указано значение 1234567890 + + +Сценарий: Строка с литералом даты в ячейке таблицы + Когда я передаю таблицу + | Строка с датой внутри: 21.11.2020 | + + Тогда в таблице в ячейке "0:0" значение имеет тип "Строка" + и в таблице в ячейке "0:0" указано значение "Строка с датой внутри: 21.11.2020" + +Сценарий: Строка с числовым литералом в ячейке таблицы + Когда я передаю таблицу + | Строка 1 | + + Тогда в таблице в ячейке "0:0" значение имеет тип "Строка" + И в таблице в ячейке "0:0" указано значение "Строка 1" diff --git a/src/gherkin-read.os b/src/gherkin-read.os index d4b6444..adb48b6 100644 --- a/src/gherkin-read.os +++ b/src/gherkin-read.os @@ -694,7 +694,7 @@ Начало = Группа.Индекс; ОписаниеПараметра = ВозможныеКлючиПараметров.Строка; - ДобавитьПараметр(Параметры, ВозможныеКлючиПараметров.Строка, ЗначениеПараметра, Начало); + ДобавитьПараметр(Параметры, ВозможныеКлючиПараметров.Строка, ЗначениеПараметра, Начало, Группа.Длина); НовоеТело = СтрШаблон("%1 %2", СтрПолучитьСтроку(Лев(НовоеТело, Начало), 1), ОписаниеПараметра); Возврат НовоеТело; @@ -720,7 +720,7 @@ КонецЕсли; Начало = Группа.Индекс; - ДобавитьПараметр(Параметры, ОписаниеПараметра, ЗначениеПараметра, Начало); + ДобавитьПараметр(Параметры, ОписаниеПараметра, ЗначениеПараметра, Начало, Группа.Длина); Окончание = Группа.Индекс + Группа.Длина; НовоеТело = Лев(НовоеТело, Начало) + ОписаниеПараметра + Сред(НовоеТело, Окончание + 1); @@ -754,7 +754,7 @@ ЗначениеПараметра = Дата(СтрокаДаты); Начало = Группа.Индекс; - ДобавитьПараметр(Параметры, ОписаниеПараметра, ЗначениеПараметра, Начало); + ДобавитьПараметр(Параметры, ОписаниеПараметра, ЗначениеПараметра, Начало, Группа.Длина); Окончание = Группа.Индекс + Группа.Длина; НовоеТело = Лев(НовоеТело, Начало) + ОписаниеПараметра + Сред(НовоеТело, Окончание + 1); @@ -781,7 +781,7 @@ ОписаниеПараметра = ВозможныеКлючиПараметров.ПараметрДляТаблицы; Начало = Группа.Индекс; - ДобавитьПараметр(Параметры, ОписаниеПараметра, ЗначениеПараметра, Начало); + ДобавитьПараметр(Параметры, ОписаниеПараметра, ЗначениеПараметра, Начало, Группа.Длина); Окончание = Группа.Индекс + Группа.Длина; НовоеТело = Лев(НовоеТело, Начало) + ОписаниеПараметра + Сред(НовоеТело, Окончание + 1); @@ -799,7 +799,7 @@ КонецЕсли; Таблица = ПолучитьТаблицу(ТекстТаблицы); ОписаниеПараметра = ВозможныеКлючиПараметров.Таблица; - Начало = 100000;// чтобы параметр-таблица всегда шел последним в списке параметров + Начало = 100000; // чтобы параметр-таблица всегда шел последним в списке параметров ДобавитьПараметр(Параметры, ОписаниеПараметра, Таблица, Начало); @@ -811,14 +811,16 @@ Рез.Колонки.Добавить("Тип"); Рез.Колонки.Добавить("Значение"); Рез.Колонки.Добавить("Начало"); + Рез.Колонки.Добавить("Длина"); Возврат Рез; КонецФункции // СоздатьТаблицуПараметров() -Функция ДобавитьПараметр(ТабПараметры, Знач Тип, Знач Значение, Знач Начало) +Функция ДобавитьПараметр(ТабПараметры, Знач Тип, Знач Значение, Знач Начало, Знач Длина = 0) НоваяСтрока = ТабПараметры.Добавить(); НоваяСтрока.Тип = Тип; НоваяСтрока.Значение = Значение; НоваяСтрока.Начало = Начало; + НоваяСтрока.Длина = Длина; Возврат НоваяСтрока; КонецФункции @@ -942,21 +944,22 @@ Процедура ЗаполнитьСтрокуТаблицы(Знач МассивЗначений, НоваяСтрока, Знач НомерСтроки) Для к = 0 По МассивЗначений.Количество() - 1 Цикл ЗначениеПараметра = МассивЗначений[к]; + Лог.Отладка("номер строки %3, значение из колонки %1 (до подстановки в таблицу) <%2>", + к, ЗначениеПараметра, НомерСтроки - 1); //пытаемся привести к одному значению, все значения, кроме строки. Например, число, дата НайденныеПараметры = СоздатьТаблицуПараметров(); ВыделитьПростыеЗначенияНеСтроки(ЗначениеПараметра, НайденныеПараметры); Если НайденныеПараметры.Количество() = 1 Тогда НайденныйПараметр = НайденныеПараметры[0]; - НашлиПараметр = (НайденныйПараметр.Тип = ВозможныеКлючиПараметров.Число И ЭтоЧисло(ЗначениеПараметра)) - Или НайденныйПараметр.Тип = ВозможныеКлючиПараметров.Дата; + НашлиПараметр = НайденныйПараметр.Начало = 0 + И НайденныйПараметр.Длина = СтрДлина(ЗначениеПараметра); Если НашлиПараметр Тогда ЗначениеПараметра = НайденныйПараметр.Значение; КонецЕсли; КонецЕсли; - Лог.Отладка("номер строки %3, значение из колонки %1 (для подстановки из таблицы) <%2>", - к, ЗначениеПараметра, НомерСтроки - 1); + Лог.Отладка("значение для подстановки из таблицы <%1>", ЗначениеПараметра); НоваяСтрока[к] = ЗначениеПараметра; КонецЦикла; КонецПроцедуры @@ -1314,7 +1317,8 @@ Функция СоздатьРегулярныеВыражения() Рез = Новый Структура; Рез.Вставить("НеЧисло", Новый РегулярноеВыражение("[^\d,]+")); - Рез.Вставить("Дата", Новый РегулярноеВыражение("(\d{2}).(\d{2}).(\d{2,4})")); + // Даты вида 29.11.2020, 29-11-2020, 29/11/2020, 29.11.20, 29-11-20, 29/11/20, + Рез.Вставить("Дата", Новый РегулярноеВыражение("(\d{2})[\.\-\/](\d{2})[\.\-\/](\d{2,4})")); Рез.Вставить("ЧислоИлиСловоСЧислом", Новый РегулярноеВыражение("(\d+(,\d+){0,1})|(-?\d+(,\d){0,1})+")); //Когда я использую 5 как 5число5 Рез.Вставить("МногострочныйТекст", Новый РегулярноеВыражение("\s*""""""\n\r*((.*\n\r*)+)\s*""""""")); Рез.Вставить("ПараметрДляТаблицы", Новый РегулярноеВыражение("<([^>]+)>")); From 8344b677860d5b59d6dea0c7ac7d41fe7cde6ad1 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 30 Nov 2020 16:58:10 +0300 Subject: [PATCH 5/6] =?UTF-8?q?=D0=B1=D0=B0=D0=B3=20=D0=B4=D0=BB=D1=8F=20h?= =?UTF-8?q?ttps://github.com/artbear/1bdd/issues/141?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\265\321\202\321\200\320\276\320\262.feature" | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git "a/features/core/\320\237\320\265\321\200\320\265\320\264\320\260\321\207\320\260\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.feature" "b/features/core/\320\237\320\265\321\200\320\265\320\264\320\260\321\207\320\260\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.feature" index c89c772..9fc0219 100644 --- "a/features/core/\320\237\320\265\321\200\320\265\320\264\320\260\321\207\320\260\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.feature" +++ "b/features/core/\320\237\320\265\321\200\320\265\320\264\320\260\321\207\320\260\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.feature" @@ -70,3 +70,17 @@ И я в втором параметре получаю значение "Строка1" И я в первом параметре получаю значение с типом "Число" И я в втором параметре получаю значение с типом "Строка" + +Сценарий: Использование строки и числа внутри параметра + + Когда я передаю параметр '"Мой командный файл.cmd" "789"' + Тогда я получаю параметр с типом "Строка" + +# баг https://github.com/artbear/1bdd/issues/141 +# Сценарий: Передачи строки с числом внутри и числа для шага + +# Когда я передаю два параметра разных типов '"Мой командный файл.cmd" "789"' и 0 +# Тогда я в первом параметре получаю значение '"Мой командный файл.cmd" "789"' +# И я в втором параметре получаю значение 0 +# И я в первом параметре получаю значение с типом "Строка" +# И я в втором параметре получаю значение с типом "Число" From c70ef89f394c471ab54588bf819e7187f76055fe Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 30 Nov 2020 18:06:59 +0300 Subject: [PATCH 6/6] =?UTF-8?q?=D1=83=D0=B2=D0=B5=D0=BB=D0=B8=D1=87=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BD=D0=BE=D0=BC=D0=B5=D1=80=20=D0=B2=D0=B5=D1=80?= =?UTF-8?q?=D1=81=D0=B8=D0=B8=20+=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=B7=D0=B0=D0=B2=D0=B8=D1=81=D0=B8=D0=BC=D0=BE=D1=81?= =?UTF-8?q?=D1=82=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packagedef | 12 +++++------- ...\321\202\320\260\320\275\321\202\321\213_1bdd.os" | 2 +- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/packagedef b/packagedef index 3cbe574..1398276 100644 --- a/packagedef +++ b/packagedef @@ -3,13 +3,13 @@ Описание.Имя("1bdd") .Версия(Константы_1bdd.ВерсияПродукта) - .ВерсияСреды("1.0.16") - .ЗависитОт("logos", "1.2.1") + .ВерсияСреды("1.1.0") + .ЗависитОт("logos", "1.3.0") .ЗависитОт("cmdline", "1.0.0") - .ЗависитОт("tempfiles", "0.2.2") + .ЗависитОт("tempfiles", "1.0.0") .ЗависитОт("asserts", "1.3.0") - .ЗависитОт("1commands", "1.3.5") - .ЗависитОт("fs", "1.0.0") + .ЗависитОт("1commands", "1.5.0") + .ЗависитОт("fs", "1.1.0") .ЗависитОт("strings", "0.4.1") .ВключитьФайл("src") .ВключитьФайл("tests") @@ -18,7 +18,5 @@ .ВключитьФайл("readme.md") .ВключитьФайл("LICENSE") .ВключитьФайл("Jenkinsfile") - .ВключитьФайл("appveyor.yml") - .ВключитьФайл("appveyor-runtests.cmd") .ВключитьФайл("lib.config") .ИсполняемыйФайл("src/bdd.os", "1bdd"); \ No newline at end of file diff --git "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\275\321\201\321\202\320\260\320\275\321\202\321\213_1bdd.os" "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\275\321\201\321\202\320\260\320\275\321\202\321\213_1bdd.os" index 6920197..7212ee2 100644 --- "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\275\321\201\321\202\320\260\320\275\321\202\321\213_1bdd.os" +++ "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\275\321\201\321\202\320\260\320\275\321\202\321\213_1bdd.os" @@ -2,4 +2,4 @@ /////////////////////////////////////////////////////////////// -ВерсияПродукта = "1.10.0"; +ВерсияПродукта = "1.11.0";