Skip to content

Commit b81f14a

Browse files
committed
Merge branch 'release/v1.3.0'
2 parents b7f1c6a + ca4a8de commit b81f14a

File tree

3 files changed

+47
-25
lines changed

3 files changed

+47
-25
lines changed

packagedef

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22
Описание.Имя("asserts")
3-
.Версия("1.2.0")
3+
.Версия("1.3.0")
44
.ВерсияСреды("1.0.21")
55
.ВключитьФайл("src")
66
.ВключитьФайл("tests")

src/bdd-asserts.os

+42-22
Original file line numberDiff line numberDiff line change
@@ -374,36 +374,56 @@
374374
КонецПроцедуры
375375

376376
Функция МногострочнаяСтрокаСодержитПодстрокуБезУчетаНачальныхКонечныхПробеловВПодстроках(Знач Строка, Знач Подстрока, СообщениеОшибки = "")
377-
ПерваяСтрока = СокрЛП(СтрПолучитьСтроку(Подстрока, 1));
378-
НашлиПервуюСтроку = Ложь;
379-
Для Счетчик = 1 По СтрЧислоСтрок(Строка) Цикл
380-
ОчереднаяСтрока = СокрЛП(СтрПолучитьСтроку(Строка, Счетчик));
381-
НашлиПервуюСтроку = Найти(ОчереднаяСтрока, ПерваяСтрока) <> 0;
382-
Если НашлиПервуюСтроку Тогда
383-
Прервать;
377+
СтартоваяПозиция = 1;
378+
Пока Истина Цикл // ищем первый совпадающий блок во всей строке
379+
ПерваяСтрока = СокрЛП(СтрПолучитьСтроку(Подстрока, 1));
380+
// Сообщить("СтартоваяПозиция + <" + СтартоваяПозиция + ">");
381+
// Сообщить("ПерваяСтрока + <" + ПерваяСтрока + ">");
382+
НашлиПервуюСтроку = Ложь;
383+
Для Счетчик = СтартоваяПозиция По СтрЧислоСтрок(Строка) Цикл
384+
ОчереднаяСтрока = СокрЛП(СтрПолучитьСтроку(Строка, Счетчик));
385+
// Сообщить("ОчереднаяСтрока + <" + ОчереднаяСтрока + ">");
386+
387+
НашлиПервуюСтроку = Найти(ОчереднаяСтрока, ПерваяСтрока) <> 0;
388+
Если НашлиПервуюСтроку Тогда
389+
Прервать;
390+
КонецЕсли;
391+
КонецЦикла;
392+
Если Не НашлиПервуюСтроку Тогда
393+
СообщениеОшибки = СтрШаблон("Не нашли первую же подстроку <%1>", ПерваяСтрока);
394+
Возврат Ложь;
384395
КонецЕсли;
385-
КонецЦикла;
386-
Если Не НашлиПервуюСтроку Тогда
387-
СообщениеОшибки = СтрШаблон("Не нашли первую же подстроку <%1>", ПерваяСтрока);
388-
Возврат Ложь;
389-
КонецЕсли;
390396

391-
СчетчикЧтоИщем = 2;
392-
Для Счетчик = Счетчик+1 По СтрЧислоСтрок(Строка) Цикл
393-
ОчереднаяСтрока = СокрЛП(СтрПолучитьСтроку(Строка, Счетчик));
394-
ЧтоИщем = СокрЛП(СтрПолучитьСтроку(Подстрока, СчетчикЧтоИщем));
395-
Поз = Найти(ОчереднаяСтрока, ЧтоИщем);
396-
Если Поз = 0 Тогда
397-
СообщениеОшибки = СтрШаблон("Не нашли подстроку № %1 <%2>", СчетчикЧтоИщем, ЧтоИщем);
398-
Возврат Ложь;
399-
Иначе
397+
Нашли = Истина;
398+
СчетчикЧтоИщем = 1;//2;
399+
Для Счетчик = Счетчик+1 По СтрЧислоСтрок(Строка) Цикл
400400
СчетчикЧтоИщем = СчетчикЧтоИщем + 1;
401401
Если СчетчикЧтоИщем > СтрЧислоСтрок(Подстрока) Тогда
402402
Возврат Истина;
403403
КонецЕсли;
404+
ОчереднаяСтрока = СокрЛП(СтрПолучитьСтроку(Строка, Счетчик));
405+
// Сообщить(" ОчереднаяСтрока + <" + ОчереднаяСтрока + ">");
406+
ЧтоИщем = СокрЛП(СтрПолучитьСтроку(Подстрока, СчетчикЧтоИщем));
407+
// Сообщить(" ЧтоИщем + <" + ЧтоИщем + ">");
408+
Если ПустаяСтрока(ОчереднаяСтрока) Тогда
409+
Если Не ПустаяСтрока(ЧтоИщем) Тогда
410+
СчетчикЧтоИщем = СчетчикЧтоИщем + 1;
411+
КонецЕсли;
412+
Продолжить;
413+
КонецЕсли;
414+
Поз = Найти(ОчереднаяСтрока, ЧтоИщем);
415+
Если Поз = 0 Тогда
416+
СообщениеОшибки = СтрШаблон("Не нашли подстроку № %1 <%2>", СчетчикЧтоИщем, ЧтоИщем);
417+
Нашли = Ложь;
418+
Прервать;
419+
КонецЕсли;
420+
КонецЦикла;
421+
Если Нашли Или СчетчикЧтоИщем > СтрЧислоСтрок(Подстрока) Тогда
422+
Возврат Истина;
404423
КонецЕсли;
424+
СтартоваяПозиция = Счетчик;
405425
КонецЦикла;
406-
Возврат СчетчикЧтоИщем > СтрЧислоСтрок(Подстрока);
426+
Возврат Ложь;
407427
КонецФункции
408428

409429
Функция ПредставлениеЗначения()

tests/bdd-assertions-tests.os

+4-2
Original file line numberDiff line numberDiff line change
@@ -276,13 +276,15 @@
276276
КонецПроцедуры
277277

278278
Процедура ТестДолжен_Проверить_ЧтоВыбрасываетсяИсключение() Экспорт
279+
// ОжидаемыйТекстИсключения = "Недостаточно фактических параметров";
280+
ОжидаемыйТекстИсключения = "Значение не может быть неопределенным";
279281
Контекст = Новый Структура;
280-
Ожидаем.Что(Контекст).Метод("Вставить").ВыбрасываетИсключение("Недостаточно фактических параметров");
282+
Ожидаем.Что(Контекст).Метод("Вставить").ВыбрасываетИсключение(ОжидаемыйТекстИсключения);
281283

282284
Массив = Новый Массив;
283285
Массив.Добавить("Ключ");
284286
Массив.Добавить("Значение");
285287

286-
Ожидаем.Что(Контекст).Метод("Вставить", Массив).Не_().ВыбрасываетИсключение("Недостаточно фактических параметров");
288+
Ожидаем.Что(Контекст).Метод("Вставить", Массив).Не_().ВыбрасываетИсключение(ОжидаемыйТекстИсключения);
287289

288290
КонецПроцедуры

0 commit comments

Comments
 (0)