mirror of
https://github.com/bia-technologies/yaxunit.git
synced 2024-12-03 08:45:31 +02:00
perf: Оптимизация запуска выделенных тестов из формы
This commit is contained in:
parent
84a09ddc2b
commit
017937b14d
@ -143,13 +143,13 @@
|
||||
ТипИсточника = ТипЗнч(Источник);
|
||||
|
||||
Если ЮТТипыДанныхСлужебный.ЭтоСтруктура(ТипИсточника) Тогда
|
||||
Приемник = СкопироватьСтруктуру(Источник);
|
||||
Приемник = СкопироватьСтруктуру(Источник, Истина);
|
||||
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоСоответствие(ТипИсточника) Тогда
|
||||
Приемник = СкопироватьСоответствие(Источник);
|
||||
Приемник = СкопироватьСоответствие(Источник, Истина);
|
||||
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоМассива(ТипИсточника) Тогда
|
||||
Приемник = СкопироватьМассив(Источник);
|
||||
Приемник = СкопироватьМассив(Источник, Истина);
|
||||
ИначеЕсли ТипИсточника = Тип("СписокЗначений") Тогда
|
||||
Приемник = СкопироватьСписокЗначений(Источник);
|
||||
Приемник = СкопироватьСписокЗначений(Источник, Истина);
|
||||
Иначе
|
||||
|
||||
СкопироватьПрисвоением = Истина;
|
||||
@ -177,15 +177,15 @@
|
||||
//
|
||||
// Параметры:
|
||||
// Источник - Структура, ФиксированнаяСтруктура - копируемая структура
|
||||
//
|
||||
// Рекурсивно - Булево - Создание "глубокой" копии, с копирование вложенных элементов
|
||||
// Возвращаемое значение:
|
||||
// Структура - копия исходной структуры.
|
||||
Функция СкопироватьСтруктуру(Источник) Экспорт
|
||||
Функция СкопироватьСтруктуру(Источник, Рекурсивно = Истина) Экспорт
|
||||
|
||||
Результат = Новый Структура;
|
||||
|
||||
Для Каждого КлючИЗначение Из Источник Цикл
|
||||
Результат.Вставить(КлючИЗначение.Ключ, СкопироватьРекурсивно(КлючИЗначение.Значение));
|
||||
Результат.Вставить(КлючИЗначение.Ключ, ?(Рекурсивно, СкопироватьРекурсивно(КлючИЗначение.Значение), КлючИЗначение.Значение));
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
@ -197,19 +197,24 @@
|
||||
// Параметры:
|
||||
// Источник - Соответствие из Произвольный
|
||||
// - ФиксированноеСоответствие из Произвольный
|
||||
// Рекурсивно - Булево - Создание "глубокой" копии, с копирование вложенных элементов
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из Произвольный - копия исходного соответствия.
|
||||
//
|
||||
Функция СкопироватьСоответствие(Источник) Экспорт
|
||||
Функция СкопироватьСоответствие(Источник, Рекурсивно = Истина) Экспорт
|
||||
|
||||
Результат = Новый Соответствие;
|
||||
|
||||
Для Каждого КлючИЗначение Из Источник Цикл
|
||||
|
||||
НовыйКлюч = СкопироватьРекурсивно(КлючИЗначение.Ключ);
|
||||
НовоеЗначение = СкопироватьРекурсивно(КлючИЗначение.Значение);
|
||||
Результат.Вставить(НовыйКлюч, НовоеЗначение);
|
||||
Если Рекурсивно Тогда
|
||||
НовыйКлюч = СкопироватьРекурсивно(КлючИЗначение.Ключ);
|
||||
НовоеЗначение = СкопироватьРекурсивно(КлючИЗначение.Значение);
|
||||
Результат.Вставить(НовыйКлюч, НовоеЗначение);
|
||||
Иначе
|
||||
Результат.Вставить(КлючИЗначение.Ключ, КлючИЗначение.Значение);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
@ -222,10 +227,11 @@
|
||||
// Параметры:
|
||||
// Источник - Массив Из Произвольный
|
||||
// - ФиксированныйМассив из Произвольный
|
||||
// Рекурсивно - Булево - Создание "глубокой" копии, с копирование вложенных элементов
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Массив Из Произвольный - копия исходного массива.
|
||||
Функция СкопироватьМассив(Источник) Экспорт
|
||||
Функция СкопироватьМассив(Источник, Рекурсивно = Истина) Экспорт
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Источник) Тогда
|
||||
Возврат Новый Массив;
|
||||
@ -235,7 +241,7 @@
|
||||
Результат = Новый Массив(Размер);
|
||||
|
||||
Для Инд = 0 По Размер - 1 Цикл
|
||||
Результат[Инд] = СкопироватьРекурсивно(Источник[Инд]);
|
||||
Результат[Инд] = ?(Рекурсивно, СкопироватьРекурсивно(Источник[Инд]), Источник[Инд]);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
@ -246,18 +252,19 @@
|
||||
//
|
||||
// Параметры:
|
||||
// Источник - СписокЗначений Из Произвольный
|
||||
// Рекурсивно - Булево - Создание "глубокой" копии, с копирование вложенных элементов
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// СписокЗначений Из Произвольный
|
||||
//
|
||||
Функция СкопироватьСписокЗначений(Источник) Экспорт
|
||||
Функция СкопироватьСписокЗначений(Источник, Рекурсивно = Истина) Экспорт
|
||||
|
||||
Результат = Новый СписокЗначений;
|
||||
|
||||
Для Каждого ЭлементСписка Из Источник Цикл
|
||||
|
||||
НовоеЗначение = СкопироватьРекурсивно(ЭлементСписка.Значение);
|
||||
Результат.Добавить(НовоеЗначение, ЭлементСписка.Представление, ЭлементСписка.Пометка, ЭлементСписка.Картинка);
|
||||
Значение = ?(Рекурсивно, СкопироватьРекурсивно(ЭлементСписка.Значение), ЭлементСписка.Значение);
|
||||
Результат.Добавить(Значение, ЭлементСписка.Представление, ЭлементСписка.Пометка, ЭлементСписка.Картинка);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
|
@ -633,7 +633,7 @@
|
||||
КонецЦикла;
|
||||
|
||||
Если ТестыКЗапуску.Количество() Тогда
|
||||
ЗапускаемыйНабор = ЮТКоллекции.СкопироватьСтруктуру(Набор);
|
||||
ЗапускаемыйНабор = ЮТКоллекции.СкопироватьСтруктуру(Набор, Ложь);
|
||||
ЗапускаемыйНабор.Тесты = ТестыКЗапуску;
|
||||
НаборыКЗапуску.Добавить(ЗапускаемыйНабор);
|
||||
КонецЕсли;
|
||||
@ -642,7 +642,7 @@
|
||||
|
||||
Если НаборыКЗапуску.Количество() Тогда
|
||||
|
||||
ЗапускаемыйМодуль = ЮТКоллекции.СкопироватьСтруктуру(Модуль);
|
||||
ЗапускаемыйМодуль = ЮТКоллекции.СкопироватьСтруктуру(Модуль, Ложь);
|
||||
ЗапускаемыйМодуль.НаборыТестов = НаборыКЗапуску;
|
||||
МодулиКЗапуску.Добавить(ЗапускаемыйМодуль);
|
||||
|
||||
@ -674,7 +674,7 @@
|
||||
КонецЦикла;
|
||||
|
||||
Если ТестыКЗапуску.Количество() Тогда
|
||||
ЗапускаемыйНабор = ЮТКоллекции.СкопироватьСтруктуру(Набор);
|
||||
ЗапускаемыйНабор = ЮТКоллекции.СкопироватьСтруктуру(Набор, Ложь);
|
||||
ЗапускаемыйНабор.Тесты = ТестыКЗапуску;
|
||||
НаборыКЗапуску.Добавить(ЗапускаемыйНабор);
|
||||
КонецЕсли;
|
||||
@ -683,7 +683,7 @@
|
||||
|
||||
Если НаборыКЗапуску.Количество() Тогда
|
||||
|
||||
ЗапускаемыйМодуль = ЮТКоллекции.СкопироватьСтруктуру(Модуль);
|
||||
ЗапускаемыйМодуль = ЮТКоллекции.СкопироватьСтруктуру(Модуль, Ложь);
|
||||
ЗапускаемыйМодуль.НаборыТестов = НаборыКЗапуску;
|
||||
МодулиКЗапуску.Добавить(ЗапускаемыйМодуль);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user