mirror of
				https://github.com/bia-technologies/yaxunit.git
				synced 2025-10-31 00:07:47 +02:00 
			
		
		
		
	| @@ -19,6 +19,7 @@ | ||||
| #Область ПрограммныйИнтерфейс | ||||
|  | ||||
| // Возвращает внешнюю компоненту, реализующую паузу | ||||
| // Предоставляет метод `Ожидать`, `Sleep` | ||||
| //  | ||||
| // Возвращаемое значение: | ||||
| //  ВнешнийОбъект | ||||
| @@ -28,6 +29,17 @@ | ||||
| 	 | ||||
| КонецФункции | ||||
|  | ||||
| // Возвращает внешнюю компоненту, реализующую вывод в консоль | ||||
| // Предоставляет метод `Напечатать`, `Print` | ||||
| //  | ||||
| // Возвращаемое значение: | ||||
| //  ВнешнийОбъект | ||||
| Функция Консоль() Экспорт | ||||
| 	 | ||||
| 	Возврат СоздатьКомпоненту(ОписаниеКомпонентыПауза()); | ||||
| 	 | ||||
| КонецФункции | ||||
|  | ||||
| #КонецОбласти | ||||
|  | ||||
| #Область СлужебныйПрограммныйИнтерфейс | ||||
| @@ -74,7 +86,7 @@ | ||||
| //  см. ОписаниеКомпоненты | ||||
| Функция ОписаниеКомпонентыПауза() Экспорт | ||||
| 	 | ||||
| 	Возврат ОписаниеКомпоненты("ОбщийМакет.ЮТYaxUnitAddIn", "YaxUnitAddin", "Sleep"); | ||||
| 	Возврат ОписаниеКомпоненты("ОбщийМакет.ЮТYaxUnitAddIn", "YaxUnitAddin", "Common"); | ||||
| 	 | ||||
| КонецФункции | ||||
|  | ||||
|   | ||||
| @@ -62,12 +62,12 @@ | ||||
| 	 | ||||
| #Если Клиент Тогда | ||||
| 	Контекст = Контекст(); | ||||
| 	Если Контекст = Неопределено ИЛИ НЕ Контекст.Включено ИЛИ Контекст.ДоступенНаСервере Тогда | ||||
| 	Если Контекст = Неопределено ИЛИ НЕ Контекст.Включено ИЛИ Контекст.ФайлЛогаДоступенНаСервере Тогда | ||||
| 		Возврат; | ||||
| 	КонецЕсли; | ||||
| 	 | ||||
| 	Сообщения = ЮТЛогированиеВызовСервера.НакопленныеСообщенияЛогирования(Истина); | ||||
| 	ЗаписатьСообщения(Контекст.ФайлЛога, Сообщения); | ||||
| 	ЗаписатьСообщения(Контекст, Сообщения); | ||||
| #Иначе | ||||
| 	ВызватьИсключение "Метод вывода серверных сообщений в лог должен вызываться с клиента"; | ||||
| #КонецЕсли | ||||
| @@ -86,13 +86,16 @@ | ||||
| //  ПараметрыЗапуска - см. ЮТФабрика.ПараметрыЗапуска | ||||
| Процедура Инициализация(ПараметрыЗапуска) Экспорт | ||||
| 	 | ||||
| 	ДанныеКонтекста = НовыйДанныеКонтекста(); | ||||
| 	ДанныеКонтекста.ФайлЛога = ПараметрыЗапуска.logging.file; | ||||
| 	УровниЛога = УровниЛога(); | ||||
| 	 | ||||
| 	Если ПараметрыЗапуска.logging.enable = Неопределено Тогда | ||||
| 		ДанныеКонтекста.Включено = ЗначениеЗаполнено(ДанныеКонтекста.ФайлЛога); | ||||
| 	Иначе | ||||
| 		ДанныеКонтекста.Включено = ПараметрыЗапуска.logging.enable; | ||||
| 	ДанныеКонтекста = НовыйДанныеКонтекста(); | ||||
| 	ДанныеКонтекста.ФайлЛога = ЮТОбщий.ЗначениеСтруктуры(ПараметрыЗапуска.logging, "file"); | ||||
| 	ДанныеКонтекста.ВыводВКонсоль = ЮТОбщий.ЗначениеСтруктуры(ПараметрыЗапуска.logging, "console", Ложь); | ||||
| 	ДанныеКонтекста.Включено = ЮТОбщий.ЗначениеСтруктуры(ПараметрыЗапуска.logging, "enable", Неопределено); | ||||
| 	УровеньЛога = ЮТОбщий.ЗначениеСтруктуры(ПараметрыЗапуска.logging, "level", УровниЛога.Отладка); | ||||
| 	 | ||||
| 	Если ДанныеКонтекста.Включено = Неопределено Тогда | ||||
| 		ДанныеКонтекста.Включено = ДанныеКонтекста.ВыводВКонсоль ИЛИ ЗначениеЗаполнено(ДанныеКонтекста.ФайлЛога); | ||||
| 	КонецЕсли; | ||||
| 	 | ||||
| 	Если НЕ ДанныеКонтекста.Включено Тогда | ||||
| @@ -100,24 +103,23 @@ | ||||
| 		Возврат; | ||||
| 	КонецЕсли; | ||||
| 	 | ||||
| 	УровниЛога = УровниЛога(); | ||||
| 	 | ||||
| 	Если СтрСравнить(ПараметрыЗапуска.logging.level, УровниЛога.Ошибка) = 0 Тогда | ||||
| 	Если СтрСравнить(УровеньЛога, УровниЛога.Ошибка) = 0 Тогда | ||||
| 		ДанныеКонтекста.УровеньЛога = 2; | ||||
| 	ИначеЕсли СтрСравнить(ПараметрыЗапуска.logging.level, УровниЛога.Информация) = 0 Тогда | ||||
| 	ИначеЕсли СтрСравнить(УровеньЛога, УровниЛога.Информация) = 0 Тогда | ||||
| 		ДанныеКонтекста.УровеньЛога = 1; | ||||
| 	Иначе | ||||
| 		ДанныеКонтекста.УровеньЛога = 0; | ||||
| 	КонецЕсли; | ||||
| 	 | ||||
| 	ЗначениеПроверки = Строка(Новый УникальныйИдентификатор()); | ||||
| 	ЗаписатьСообщения(ДанныеКонтекста.ФайлЛога, ЮТОбщий.ЗначениеВМассиве(ЗначениеПроверки), Ложь); | ||||
| 	ДанныеКонтекста.ДоступенНаСервере = ЮТЛогированиеВызовСервера.ФайлЛогаДоступенНаСервере(ДанныеКонтекста.ФайлЛога, ЗначениеПроверки); | ||||
| 	ЗаписатьСообщения(ДанныеКонтекста, ЮТОбщий.ЗначениеВМассиве(ЗначениеПроверки), Ложь); | ||||
| 	 | ||||
| 	ДанныеКонтекста.ФайлЛогаДоступенНаСервере = ЮТЛогированиеВызовСервера.ФайлЛогаДоступенНаСервере(ДанныеКонтекста.ФайлЛога, ЗначениеПроверки); | ||||
| 	 | ||||
| 	ЮТКонтекст.УстановитьЗначениеКонтекста(ИмяКонтекстаЛогирования(), ДанныеКонтекста, Истина); | ||||
| 	 | ||||
| 	Разделитель = "------------------------------------------------------"; | ||||
| 	ЗаписатьСообщения(ДанныеКонтекста.ФайлЛога, ЮТОбщий.ЗначениеВМассиве(Разделитель), Ложь); | ||||
| 	ЗаписатьСообщения(ДанныеКонтекста, ЮТОбщий.ЗначениеВМассиве(Разделитель), Ложь); | ||||
| 	Информация("Старт"); | ||||
| 	 | ||||
| КонецПроцедуры | ||||
| @@ -284,7 +286,8 @@ | ||||
| //  Структура - Новый данные контекста: | ||||
| // * Включено - Булево - Логирование включено | ||||
| // * ФайлЛога - Неопределено - Файл вывода лога | ||||
| // * ДоступенНаСервере - Булево - Файл лога доступен на сервере | ||||
| // * ВыводВКонсоль- Булево - Вывод лога в консоль | ||||
| // * ФайлЛогаДоступенНаСервере - Булево - Файл лога доступен на сервере | ||||
| // * НакопленныеЗаписи - Массив из Строка - Буфер для серверных сообщений | ||||
| // * ОбщееКоличествоТестов - Число | ||||
| // * КоличествоВыполненныхТестов - Число | ||||
| @@ -294,7 +297,8 @@ | ||||
| 	ДанныеКонтекста = Новый Структура(); | ||||
| 	ДанныеКонтекста.Вставить("Включено", Ложь); | ||||
| 	ДанныеКонтекста.Вставить("ФайлЛога", Неопределено); | ||||
| 	ДанныеКонтекста.Вставить("ДоступенНаСервере", Ложь); | ||||
| 	ДанныеКонтекста.Вставить("ВыводВКонсоль", Ложь); | ||||
| 	ДанныеКонтекста.Вставить("ФайлЛогаДоступенНаСервере", Ложь); | ||||
| 	ДанныеКонтекста.Вставить("НакопленныеЗаписи", Новый Массив()); | ||||
| 	ДанныеКонтекста.Вставить("ОбщееКоличествоТестов", 0); | ||||
| 	ДанныеКонтекста.Вставить("КоличествоВыполненныхТестов", 0); | ||||
| @@ -336,10 +340,10 @@ | ||||
| #КонецЕсли | ||||
| 	Текст = СтрШаблон("%1 [%2][%3]: %4", ЮТОбщий.ПредставлениеУниверсальнойДата(), КонтекстИсполнения, УровеньЛога, Сообщение); | ||||
| #Если Клиент Тогда | ||||
| 	ЗаписатьСообщения(Контекст.ФайлЛога, ЮТОбщий.ЗначениеВМассиве(Текст)); | ||||
| 	ЗаписатьСообщения(Контекст, ЮТОбщий.ЗначениеВМассиве(Текст)); | ||||
| #Иначе | ||||
| 	Если Контекст.ДоступенНаСервере Тогда | ||||
| 		ЗаписатьСообщения(Контекст.ФайлЛога, ЮТОбщий.ЗначениеВМассиве(Текст)); | ||||
| 	Если Контекст.ФайлЛогаДоступенНаСервере Тогда | ||||
| 		ЗаписатьСообщения(Контекст, ЮТОбщий.ЗначениеВМассиве(Текст)); | ||||
| 	Иначе | ||||
| 		Контекст.НакопленныеЗаписи.Добавить(Текст); | ||||
| 	КонецЕсли; | ||||
| @@ -347,11 +351,30 @@ | ||||
| 	 | ||||
| КонецПроцедуры | ||||
|  | ||||
| Процедура ЗаписатьСообщения(ФайлЛога, Сообщения, Дописывать = Истина) | ||||
| Процедура ЗаписатьСообщения(Контекст, Сообщения, Дописывать = Истина) | ||||
| 	 | ||||
| #Если ВебКлиент Тогда | ||||
| 	ВызватьИсключение "Метод записи лога не доступен в web-клиенте"; | ||||
| #Иначе | ||||
| 	 | ||||
| 	Если Контекст.ВыводВКонсоль Тогда | ||||
| 		ЗаписатьЛогВКонсоль(Сообщения); | ||||
| 	КонецЕсли; | ||||
| 	 | ||||
| 	Если ЗначениеЗаполнено(Контекст.ФайлЛога) Тогда | ||||
| 		ЗаписатьЛогВФайл(Контекст.ФайлЛога, Сообщения, Дописывать); | ||||
| 	КонецЕсли; | ||||
| 	 | ||||
| #КонецЕсли | ||||
|  | ||||
| КонецПроцедуры | ||||
|  | ||||
| Процедура ЗаписатьЛогВФайл(ФайлЛога, Сообщения, Дописывать = Истина) | ||||
| 	 | ||||
| #Если ВебКлиент Тогда | ||||
| 	ВызватьИсключение "Метод записи лога не доступен в web-клиенте"; | ||||
| #Иначе | ||||
| 	 | ||||
| 	Запись = Новый ЗаписьТекста(ФайлЛога, КодировкаТекста.UTF8, , Дописывать); | ||||
| 	 | ||||
| 	Для Каждого Сообщение Из Сообщения Цикл | ||||
| @@ -363,6 +386,24 @@ | ||||
|  | ||||
| КонецПроцедуры | ||||
|  | ||||
| Процедура ЗаписатьЛогВКонсоль(Сообщения) | ||||
| 	 | ||||
| #Если ВебКлиент Тогда | ||||
| 	ВызватьИсключение "Метод записи лога не доступен в web-клиенте"; | ||||
| #Иначе | ||||
| 	 | ||||
| 	Попытка | ||||
| 		Консоль = ЮТКомпоненты.Консоль(); | ||||
| 		 | ||||
| 		Для Каждого Сообщение Из Сообщения Цикл | ||||
| 			Консоль.Напечатать(Сообщение); | ||||
| 		КонецЦикла; | ||||
| 	Исключение | ||||
| 	КонецПопытки; | ||||
| #КонецЕсли | ||||
|  | ||||
| КонецПроцедуры | ||||
|  | ||||
| Функция Прогресс() | ||||
| 	 | ||||
| 	Контекст = Контекст(); | ||||
|   | ||||
| @@ -30,6 +30,8 @@ | ||||
| 		 | ||||
| 		Чтение = Новый ЧтениеТекста(ИмяФайла); | ||||
| 		Строка = Чтение.ПрочитатьСтроку(); | ||||
| 		Чтение.Закрыть(); | ||||
| 		 | ||||
| 		Возврат Строка = ЗначениеПроверки; | ||||
| 		 | ||||
| 	Исключение | ||||
|   | ||||
										
											Binary file not shown.
										
									
								
							| @@ -26,6 +26,7 @@ | ||||
| 		.ДобавитьТест("СформироватьСтрокуСимволов") | ||||
| 		.ДобавитьТест("ДанныеСовпадают") | ||||
| 		.ДобавитьТест("Пауза") | ||||
| 		.ДобавитьТест("СообщитьВКонсоль") | ||||
| 	; | ||||
| 	 | ||||
| КонецПроцедуры | ||||
| @@ -43,6 +44,12 @@ | ||||
| 	 | ||||
| КонецПроцедуры | ||||
|  | ||||
| Процедура СообщитьВКонсоль() Экспорт | ||||
| 	 | ||||
| 	ЮТКомпоненты.Консоль().Напечатать(ТекущаяДата()); | ||||
| 	 | ||||
| КонецПроцедуры | ||||
|  | ||||
| Процедура ДобавитьСтроку() Экспорт | ||||
| 	 | ||||
| 	Варианты = ЮТест.Варианты("Исходная, Дополнение, Разделитель, Результат") | ||||
|   | ||||
		Reference in New Issue
	
	Block a user