1
0
mirror of https://github.com/bia-technologies/yaxunit.git synced 2025-02-07 19:30:17 +02:00

Правка замечаний

This commit is contained in:
alkoleft 2023-05-14 01:54:56 +03:00
parent f8fe7e0d66
commit b83f273dd2
7 changed files with 107 additions and 69 deletions

View File

@ -22,17 +22,15 @@
//
// Параметры:
// ИмяЗначения - Строка
// ТолькоИзТекущегоКонтекста - Булево - Искать только в текущем контексте (контексте теста, набора или модуля) иначе поиск происходит по всем контекстам
//
// Возвращаемое значение:
// Произвольный - Сохраненное в контексте значение
Функция Значение(ИмяЗначения, ТолькоИзТекущегоКонтекста = Ложь) Экспорт
Функция Значение(ИмяЗначения) Экспорт
Уровень = ЮТКонтекст.КонтекстИсполнения().Уровень;
Уровни = ЮТФабрика.УровниИсполнения();
КонтекстТеста = ЮТКонтекст.КонтекстТеста();
Если Уровень = Уровни.Тест И КонтекстТеста <> Неопределено И КонтекстТеста.Свойство(ИмяЗначения) Тогда
Возврат КонтекстТеста[ИмяЗначения];
@ -40,7 +38,7 @@
КонецЕсли;
КонтекстНабора = ЮТКонтекст.КонтекстНабора();
Если (Уровень = Уровни.НаборТестов ИЛИ (НЕ ТолькоИзТекущегоКонтекста И Уровень = Уровни.Тест))
Если (Уровень = Уровни.НаборТестов ИЛИ Уровень = Уровни.Тест)
И КонтекстНабора <> Неопределено И КонтекстНабора.Свойство(ИмяЗначения) Тогда
Возврат КонтекстНабора[ИмяЗначения];
@ -48,7 +46,7 @@
КонецЕсли;
КонтекстМодуля = ЮТКонтекст.КонтекстМодуля();
Если (Уровень = Уровни.Модуль ИЛИ (НЕ ТолькоИзТекущегоКонтекста И (Уровень = Уровни.Тест ИЛИ Уровень = Уровни.НаборТестов)))
Если (Уровень = Уровни.Модуль ИЛИ Уровень = Уровни.Тест ИЛИ Уровень = Уровни.НаборТестов)
И КонтекстМодуля <> Неопределено И КонтекстМодуля.Свойство(ИмяЗначения) Тогда
Возврат КонтекстМодуля[ИмяЗначения];
@ -72,33 +70,21 @@
Уровень = ЮТКонтекст.КонтекстИсполнения().Уровень;
Уровни = ЮТФабрика.УровниИсполнения();
Если Уровень = Уровни.Тест Тогда
Контекст = ТекущийКонтекст();
Если Контекст = Неопределено Тогда
Контекст = ЮТКонтекст.КонтекстТеста();
Если Контекст = Неопределено Тогда
Если Уровень = Уровни.Тест Тогда
ЮТКонтекст.УстановитьКонтекстТеста();
Контекст = ЮТКонтекст.КонтекстТеста();
КонецЕсли;
ИначеЕсли Уровень = Уровни.НаборТестов Тогда
Контекст = ЮТКонтекст.КонтекстНабора();
Если Контекст = Неопределено Тогда
ИначеЕсли Уровень = Уровни.НаборТестов Тогда
ЮТКонтекст.УстановитьКонтекстНабораТестов();
Контекст = ЮТКонтекст.КонтекстНабора();
КонецЕсли;
ИначеЕсли Уровень = Уровни.Модуль Тогда
Контекст = ЮТКонтекст.КонтекстМодуля();
Если Контекст = Неопределено Тогда
ИначеЕсли Уровень = Уровни.Модуль Тогда
ЮТКонтекст.УстановитьКонтекстМодуля();
Контекст = ЮТКонтекст.КонтекстМодуля();
Иначе
ВызватьИсключение СтрШаблон("Неизвестный уровень исполнения `%1`", Уровень);
КонецЕсли;
Иначе
ВызватьИсключение СтрШаблон("Неизвестный уровень исполнения `%1`", Уровень);
Контекст = ТекущийКонтекст();
КонецЕсли;
@ -106,4 +92,31 @@
КонецПроцедуры
Функция ТекущийКонтекст() Экспорт
Уровень = ЮТКонтекст.КонтекстИсполнения().Уровень;
Уровни = ЮТФабрика.УровниИсполнения();
Если Уровень = Уровни.Тест Тогда
Контекст = ЮТКонтекст.КонтекстТеста();
ИначеЕсли Уровень = Уровни.НаборТестов Тогда
Контекст = ЮТКонтекст.КонтекстНабора();
ИначеЕсли Уровень = Уровни.Модуль Тогда
Контекст = ЮТКонтекст.КонтекстМодуля();
Иначе
Контекст = Неопределено;
КонецЕсли;
Возврат Контекст;
КонецФункции
#КонецОбласти

View File

@ -112,35 +112,8 @@
Функция ОписаниеОбъектМетаданных(Знач Значение, ЗаполнятьРеквизиты = Истина) Экспорт
ТипЗначение = ТипЗнч(Значение);
Если ТипЗначение = Тип("Тип") Тогда
МетаданныеОбъекта = Метаданные.НайтиПоТипу(Значение);
ОписаниеТипа = ОписаниеТипаМетаданных(МетаданныеОбъекта);
ИначеЕсли ТипЗначение = Тип("ОбъектМетаданных") Тогда
МетаданныеОбъекта = Значение;
ОписаниеТипа = ОписаниеТипаМетаданных(МетаданныеОбъекта);
ИначеЕсли ТипЗначение = Тип("Строка") Тогда
ЧастиСтроки = СтрРазделить(Значение, ".");
Если ЧастиСтроки.Количество() = 2 Тогда
ТипыМетаданных = ЮТМетаданные.ТипыМетаданных();
ОписаниеТипа = ТипыМетаданных[ЧастиСтроки[0]];
Если ОписаниеТипа <> Неопределено Тогда
МетаданныеОбъекта = Метаданные[ОписаниеТипа.ИмяКоллекции][ЧастиСтроки[1]];
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если МетаданныеОбъекта = Неопределено ИЛИ ОписаниеТипа = Неопределено Тогда
Сообщение = СтрШаблон("Не удалось получить описание метаданных для `%1` (%2)", Значение, ТипЗначение);
ВызватьИсключение Сообщение;
КонецЕсли;
МетаданныеОбъекта = ОбъектМетаданных(Значение);
ОписаниеТипа = ОписаниеТипаМетаданных(МетаданныеОбъекта);
ОписаниеОбъект = Новый Структура;
ОписаниеОбъект.Вставить("Имя", МетаданныеОбъекта.Имя);
@ -250,6 +223,44 @@
#Область СлужебныеПроцедурыИФункции
Функция ОбъектМетаданных(Значение)
ТипЗначение = ТипЗнч(Значение);
Если ТипЗначение = Тип("Тип") Тогда
ОбъектМетаданных = Метаданные.НайтиПоТипу(Значение);
ИначеЕсли ТипЗначение = Тип("ОбъектМетаданных") Тогда
ОбъектМетаданных = Значение;
ИначеЕсли ТипЗначение = Тип("Строка") Тогда
ЧастиСтроки = СтрРазделить(Значение, ".");
Если ЧастиСтроки.Количество() = 2 Тогда
ТипыМетаданных = ЮТМетаданные.ТипыМетаданных();
ОписаниеТипа = ТипыМетаданных[ЧастиСтроки[0]];
Если ОписаниеТипа <> Неопределено Тогда
ОбъектМетаданных = Метаданные[ОписаниеТипа.ИмяКоллекции][ЧастиСтроки[1]];
КонецЕсли;
КонецЕсли;
Иначе
ОбъектМетаданных = Неопределено;
КонецЕсли;
Если ОбъектМетаданных = Неопределено Тогда
Сообщение = ЮТОбщий.НеподдерживаемыйПараметрМетода("ЮТМетаданныеСервер.ОбъектМетаданных", Значение);
ВызватьИсключение Сообщение;
КонецЕсли;
Возврат ОбъектМетаданных;
КонецФункции
Процедура ДобавитьОписанияРеквизитов(КоллекцияРеквизитов, КоллекцияОписаний, Знач ЭтоКлюч)
Если ТипЗнч(ЭтоКлюч) = Тип("Строка") Тогда

View File

@ -790,6 +790,12 @@
КонецПроцедуры
Функция НеподдерживаемыйПараметрМетода(ИмяМетода, ЗначениеПараметра) Экспорт
Возврат СтрШаблон("Неподдерживаемый параметры метода `%1` `%2`(%3)", ИмяМетода, ЗначениеПараметра, ТипЗнч(ЗначениеПараметра));
КонецФункции
Функция УстановленБезопасныйРежим() Экспорт
Возврат ЮТОбщийВызовСервера.УстановленБезопасныйРежим();

View File

@ -108,7 +108,7 @@
Если ВернутьОбъект Тогда
Возврат Объект;
ИначеЕсли ЭтоСсылочный Тогда
Иначе
Возврат КлючЗаписи;
КонецЕсли;
@ -303,6 +303,11 @@
Менеджер = Менеджер(Описание);
Возврат Менеджер.СоздатьКлючЗаписи(КлючевыеРеквизиты);
Иначе
Сообщение = ЮТОбщий.НеподдерживаемыйПараметрМетода("ЮТТестовыеДанныеВызовСервера.КлючЗаписи", Объект);
ВызватьИсключение Сообщение;
КонецЕсли;
КонецФункции

View File

@ -85,7 +85,8 @@
// см. ЮТТестовыеДанные.НовоеИмяВременногоФайла
Функция НовоеИмяВременногоФайла(Расширение = Неопределено) Экспорт
Результат = ПолучитьИмяВременногоФайла(Расширение);
//@skip-check missing-temporary-file-deletion
Результат = ПолучитьИмяВременногоФайла(Расширение); // BSLLS:MissingTemporaryFileDeletion-off
ДобавитьВременныйФайл(Результат);
Возврат Результат;
@ -205,11 +206,13 @@
Функция Буфер(Ключ)
Буфер = ЮТест.Контекст().Значение(Ключ, Истина);
ТекущийКонтекст = ЮТест.Контекст().ТекущийКонтекст();
Если Буфер = Неопределено Тогда
Если ТекущийКонтекст.Свойство(Ключ) Тогда
Буфер = ТекущийКонтекст[Ключ];
Иначе
Буфер = Новый Массив();
ЮТест.Контекст().УстановитьЗначение(Ключ, Буфер);
ТекущийКонтекст.Вставить(Ключ, Буфер);
КонецЕсли;
Возврат Буфер;

View File

@ -20,7 +20,7 @@
Процедура ИсполняемыеСценарии() Экспорт
КодТовара = ЮТест.Данные().СлучайнаяСтрока(9);
КодТовара = ЮТОбщий.ЧислоВСтроку(ЮТест.Данные().СлучайноеПоложительноеЧисло(999999999));
Период = ТекущаяДата();
ЮТТесты
@ -112,7 +112,7 @@
Процедура ПередТестовымНабором() Экспорт
СоздатьСсылку("Набор", ЮТест.Данные().СлучайнаяСтрока(9));
СоздатьСсылку("Набор");
КонецПроцедуры
@ -132,7 +132,11 @@
КонецПроцедуры
Процедура СоздатьСсылку(ИмяПеременной, Код)
Процедура СоздатьСсылку(ИмяПеременной, Знач Код = Неопределено)
Если Код = Неопределено Тогда
Код = ЮТОбщий.ЧислоВСтроку(ЮТест.Данные().СлучайноеПоложительноеЧисло(999999999));
КонецЕсли;
Ссылка = ЮТест.Данные().КонструкторОбъекта("Справочники.Товары")
.Установить("Наименование", Код)

View File

@ -16,11 +16,7 @@
//
//©///////////////////////////////////////////////////////////////////////////©//
///////////////////////////////////////////////////////////////////
// ПрограммныйИнтерфейс
// Экспортные процедуры и функции для прикладного использования
///////////////////////////////////////////////////////////////////
#Область ПрограммныйИнтерфейс
#Область СлужебныйПрограммныйИнтерфейс
// Проверяет существование ссылки в информационной базе
//
@ -57,7 +53,7 @@
Функция НовыйТовар(Знач Код = Неопределено) Экспорт
Если Код = Неопределено Тогда
Код = ЮТест.Данные().СлучайнаяСтрока(9);
Код = ЮТОбщий.ЧислоВСтроку(ЮТест.Данные().СлучайноеПоложительноеЧисло(999999999));
КонецЕсли;
Возврат ЮТест.Данные().КонструкторОбъекта("Справочники.Товары")