mirror of
https://github.com/bia-technologies/yaxunit.git
synced 2025-02-10 19:41:26 +02:00
Реализовано отображение ошибок через html
This commit is contained in:
parent
2e7348a6a0
commit
f3377cc987
@ -685,7 +685,7 @@
|
||||
Функция КонструкторОбъектаXDTO(ИмяТипа, ПространствоИмен, Фабрика = Неопределено) Экспорт
|
||||
|
||||
Обработка = Обработки.ЮТКонструкторОбъектаXDTO.Создать();
|
||||
Обработка.Инициализировать(ИмяТипа, ПространствоИмен);
|
||||
Обработка.Инициализировать(ИмяТипа, ПространствоИмен, Фабрика);
|
||||
|
||||
Возврат Обработка;
|
||||
|
||||
|
@ -0,0 +1,158 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<style>
|
||||
html {
|
||||
font-family: monospace, sans-serif;
|
||||
font-size: 10pt;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
body {
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
overflow-wrap: anywhere;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: flow-root;
|
||||
}
|
||||
|
||||
.caret {
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width:1.4em;
|
||||
border: 1px solid silver;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.caret::before {
|
||||
display: inline-block;
|
||||
content: '➖';
|
||||
width: 1.4em;
|
||||
vertical-align: middle;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.caret-collapse::before {
|
||||
content: '➕'
|
||||
}
|
||||
|
||||
.hide {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.status {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
margin-right: 0.1em;
|
||||
}
|
||||
|
||||
.status::before {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.success .status::before {
|
||||
content:url("data:image/svg+xml,%3C!-- Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. --%3E%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg id='testPassed'%3E%3Cpath id='Path 2' fill-rule='evenodd' clip-rule='evenodd' d='M6.86976 12.9679L14.6479 5.18974L12.5266 3.06842L6.86976 8.72527L4.04133 5.89685L1.92001 8.01817L6.86976 12.9679Z' fill='%2362B543' fill-opacity='0.7'/%3E%3C/g%3E%3C/svg%3E%0A");
|
||||
}
|
||||
|
||||
.error .status::before {
|
||||
content: url("data:image/svg+xml,%3C!-- Copyright 2000-2021 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. --%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23E05555' fill-opacity='.7' fill-rule='evenodd' d='M8,14.5 C4.41014913,14.5 1.5,11.5898509 1.5,8 C1.5,4.41014913 4.41014913,1.5 8,1.5 C11.5898509,1.5 14.5,4.41014913 14.5,8 C14.5,11.5898509 11.5898509,14.5 8,14.5 Z M7,4 L7,8 L9,8 L9,4 L7,4 Z M7,10 L7,12 L9,12 L9,10 L7,10 Z'/%3E%3C/svg%3E%0A");
|
||||
}
|
||||
|
||||
.failure .status::before {
|
||||
content: url("data:image/svg+xml,%3C!-- Copyright 2000-2021 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. --%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23F4AF3D' fill-opacity='.7' fill-rule='evenodd' d='M9.20446966,8.00000012 L11.7854095,5.41906027 L10.583328,4.2169787 L8.0023881,6.79791856 L5.42144836,4.21697882 L4.2193668,5.41906038 L6.80030654,8.00000012 L4.21936692,10.5809397 L5.42144848,11.7830213 L8.0023881,9.20208168 L10.5833278,11.7830214 L11.7854094,10.5809399 L9.20446966,8.00000012 Z M8.0023881,14.5 C4.41253722,14.5 1.5023881,11.5898509 1.5023881,8 C1.5023881,4.41014913 4.41253722,1.5 8.0023881,1.5 C11.592239,1.5 14.5023881,4.41014913 14.5023881,8 C14.5023881,11.5898509 11.592239,14.5 8.0023881,14.5 Z'/%3E%3C/svg%3E%0A");
|
||||
}
|
||||
|
||||
.line .status::before {
|
||||
content: '-'
|
||||
}
|
||||
|
||||
.line {
|
||||
border-top: 1px solid rgb(230, 230, 230);
|
||||
}
|
||||
|
||||
.row {
|
||||
display: flex;
|
||||
padding-top: 0.5em;
|
||||
cursor: default;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.row-title {
|
||||
display: flex;
|
||||
flex-direction:row;
|
||||
padding-top: 0.5em;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
|
||||
.row-title:hover {
|
||||
background: rgb(230, 230, 230);
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-break: break-word;
|
||||
overflow-wrap: break-word;
|
||||
margin: 0;
|
||||
display: inline;
|
||||
}
|
||||
.main {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.side {
|
||||
color: rgb(96, 96, 96);
|
||||
}
|
||||
.error-line, .note-line, .warn-line {
|
||||
border-left: 4px solid;
|
||||
margin: 2px;
|
||||
padding-left: 4px;
|
||||
}
|
||||
.error-line {
|
||||
border-color: red;
|
||||
}
|
||||
.note-line {
|
||||
border-color: silver;
|
||||
}
|
||||
.warn-line {
|
||||
border-color: orange;
|
||||
}
|
||||
.log-block {
|
||||
display: flex;
|
||||
padding: 0.5em;
|
||||
margin-left: 6em;
|
||||
flex-direction: column;
|
||||
border: 1px solid #e2e2e2;
|
||||
background: #f7f7f7;
|
||||
border-radius: 6px;
|
||||
}
|
||||
.log-title {
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
TREE_CONTENT
|
||||
<script type="text/javascript">
|
||||
function toggleTreeItem(event) {
|
||||
this.parentElement.parentElement.querySelector(".nested").classList.toggle("hide");
|
||||
this.classList.toggle("caret-collapse");
|
||||
}
|
||||
function toggleLog(event) {
|
||||
this.parentElement.querySelector(".nested").classList.toggle("hide");
|
||||
}
|
||||
carets = document.getElementsByClassName("caret");
|
||||
for (i = 0; i < carets.length; i++) {
|
||||
carets[i].addEventListener("click", toggleTreeItem, false);
|
||||
}
|
||||
carets = document.getElementsByClassName("log-title");
|
||||
for (i = 0; i < carets.length; i++) {
|
||||
carets[i].addEventListener("click", toggleLog, false);
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonTemplate xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="79b3b92e-8186-41a2-a4ca-c08cbcf1f1c7">
|
||||
<name>ЮТИнформацияОбОшибке</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Информация об ошибке</value>
|
||||
</synonym>
|
||||
<templateType>TextDocument</templateType>
|
||||
</mdclass:CommonTemplate>
|
@ -49,6 +49,7 @@
|
||||
<commonTemplates>CommonTemplate.ЮТ_СловарьПодражателя_Люди_МужскиеФамилии_ru</commonTemplates>
|
||||
<commonTemplates>CommonTemplate.ЮТRegEx1CAddin</commonTemplates>
|
||||
<commonTemplates>CommonTemplate.ЮТYaxUnitAddIn</commonTemplates>
|
||||
<commonTemplates>CommonTemplate.ЮТИнформацияОбОшибке</commonTemplates>
|
||||
<commonTemplates>CommonTemplate.ЮТОписаниеМетаданных</commonTemplates>
|
||||
<commonModules>CommonModule.Мокито</commonModules>
|
||||
<commonModules>CommonModule.МокитоОбучение</commonModules>
|
||||
|
@ -262,11 +262,9 @@
|
||||
Для Каждого Свойство Из Тип.Свойства Цикл
|
||||
|
||||
Если НеЗаполнено(Свойство, Пакет[Свойство.Имя]) Тогда
|
||||
Продолжить;
|
||||
УстановитьСлучайноеЗначениеСвойства(Пакет, Свойство, Уровень);
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьСлучайноеЗначениеСвойства(Пакет, Свойство, Уровень);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
@ -75,7 +75,7 @@
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ЗапуститьВсеТесты</name>
|
||||
<id>126</id>
|
||||
<id>21</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Все тесты</value>
|
||||
@ -87,7 +87,7 @@
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ЗапуститьВсеТестыРасширеннаяПодсказка</name>
|
||||
<id>127</id>
|
||||
<id>22</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
@ -148,7 +148,7 @@
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ЗамерВремениВыполненияРасширеннаяПодсказка</name>
|
||||
<id>129</id>
|
||||
<id>23</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
@ -889,6 +889,56 @@
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаДанныеОшибок</name>
|
||||
<id>83</id>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ФорматВыводаОшибки</name>
|
||||
<id>26</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>ФорматВыводаОшибки</segments>
|
||||
</dataPath>
|
||||
<handlers>
|
||||
<event>OnChange</event>
|
||||
<name>ФорматВыводаОшибкиПриИзменении</name>
|
||||
</handlers>
|
||||
<extendedTooltip>
|
||||
<name>ФорматВыводаОшибкиРасширеннаяПодсказка</name>
|
||||
<id>24</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ФорматВыводаОшибкиКонтекстноеМеню</name>
|
||||
<id>25</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>RadioButtonField</type>
|
||||
<groupHorizontalAlign>Right</groupHorizontalAlign>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:RadioButtonsFieldExtInfo">
|
||||
<radioButtonsType>Tumbler</radioButtonsType>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:Table">
|
||||
<name>ДеревоТестовОшибки</name>
|
||||
<id>59</id>
|
||||
@ -967,10 +1017,6 @@
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
<autoFill>true</autoFill>
|
||||
</autoCommandBar>
|
||||
<handlers>
|
||||
<event>OnActivateRow</event>
|
||||
<name>ДеревоТестовОшибкиПриАктивизацииСтроки</name>
|
||||
</handlers>
|
||||
<searchStringAddition>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
@ -1129,7 +1175,6 @@
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ДеревоТестовОшибкиСтек</name>
|
||||
<id>75</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
@ -1179,6 +1224,59 @@
|
||||
</borderColor>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ОтображениеОшибки</name>
|
||||
<id>144</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>ОтображениеОшибки</segments>
|
||||
</dataPath>
|
||||
<titleLocation>None</titleLocation>
|
||||
<extendedTooltip>
|
||||
<name>ОтображениеОшибкиРасширеннаяПодсказка</name>
|
||||
<id>146</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ОтображениеОшибкиКонтекстноеМеню</name>
|
||||
<id>145</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
</contextMenu>
|
||||
<type>HTMLDocumentField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:HtmlFieldExtInfo">
|
||||
<width>50</width>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<height>10</height>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<horizontalStretch>true</horizontalStretch>
|
||||
<verticalStretch>true</verticalStretch>
|
||||
<borderColor xsi:type="core:ColorRef">
|
||||
<color>Style.FormBackColor</color>
|
||||
</borderColor>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>РаботаСОшибкой</name>
|
||||
<id>110</id>
|
||||
@ -1370,6 +1468,7 @@
|
||||
<event>OnOpen</event>
|
||||
<name>ПриОткрытии</name>
|
||||
</handlers>
|
||||
<autoSaveDataInSettings>Use</autoSaveDataInSettings>
|
||||
<autoTitle>true</autoTitle>
|
||||
<autoUrl>true</autoUrl>
|
||||
<group>Vertical</group>
|
||||
@ -1664,6 +1763,23 @@
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</columns>
|
||||
<columns>
|
||||
<name>Лог</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Лог</value>
|
||||
</title>
|
||||
<id>129</id>
|
||||
<valueType>
|
||||
<types>ValueList</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</columns>
|
||||
</additionalColumns>
|
||||
</attributes>
|
||||
<attributes>
|
||||
@ -1684,26 +1800,6 @@
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>СтатистикаВыполненияВеса</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Статистика выполнения веса</value>
|
||||
</title>
|
||||
<id>118</id>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>10</length>
|
||||
</stringQualifiers>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ЗагрузитьТестыПриОткрытии</name>
|
||||
<title>
|
||||
@ -1721,6 +1817,46 @@
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ОтображениеОшибки</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Отображение ошибки</value>
|
||||
</title>
|
||||
<id>27</id>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ФорматВыводаОшибки</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Формат вывода ошибки</value>
|
||||
</title>
|
||||
<id>126</id>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
<settingsSavedData xsi:type="form:DataPath">
|
||||
<segments>ФорматВыводаОшибки</segments>
|
||||
</settingsSavedData>
|
||||
<savedData>true</savedData>
|
||||
</attributes>
|
||||
<formCommands>
|
||||
<name>Сравнить</name>
|
||||
<title>
|
||||
|
@ -37,6 +37,10 @@
|
||||
|
||||
Параметры.Свойство("ЗагрузитьТесты", ЗагрузитьТестыПриОткрытии);
|
||||
|
||||
Для Каждого Формат Из ФорматыВыводаОшибки() Цикл
|
||||
Элементы.ФорматВыводаОшибки.СписокВыбора.Добавить(Формат.Ключ, Формат.Ключ);
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@ -49,6 +53,19 @@
|
||||
ЗагрузитьТесты();
|
||||
КонецЕсли;
|
||||
|
||||
ПереключитьВыводОшибки();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовШапкиФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ФорматВыводаОшибкиПриИзменении(Элемент)
|
||||
|
||||
ПереключитьВыводОшибки();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@ -68,17 +85,7 @@
|
||||
Элементы.ДеревоТестовОшибки.ТекущаяСтрока = Данные.Ошибки[0].ПолучитьИдентификатор();
|
||||
КонецЕсли;
|
||||
|
||||
ОбновитьДоступностьСравнения();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовТаблицыФормыДеревоТестовОшибки
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ДеревоТестовОшибкиПриАктивизацииСтроки(Элемент)
|
||||
|
||||
ОтобразитьДанныеОшибки();
|
||||
ОбновитьДоступностьСравнения();
|
||||
|
||||
КонецПроцедуры
|
||||
@ -90,13 +97,14 @@
|
||||
&НаКлиенте
|
||||
Процедура Сравнить(Команда)
|
||||
|
||||
Данные = Элементы.ДеревоТестовОшибки.ТекущиеДанные;
|
||||
Данные = ДанныеТекущейОшибки();
|
||||
|
||||
Если Данные = Неопределено ИЛИ ПустаяСтрока(Данные.ОжидаемоеЗначение) И ПустаяСтрока(Данные.ФактическоеЗначение) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыФормы = Новый Структура("ОжидаемоеЗначение, ФактическоеЗначение", Данные.ОжидаемоеЗначение, Данные.ФактическоеЗначение);
|
||||
|
||||
ОткрытьФорму("Обработка.ЮТЮнитТесты.Форма.Сравнение", ПараметрыФормы, ЭтотОбъект, , , , , РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
|
||||
|
||||
КонецПроцедуры
|
||||
@ -246,11 +254,13 @@
|
||||
&НаКлиентеНаСервереБезКонтекста
|
||||
Процедура ЗаполнитьОшибки(СтрокаДерева, ОписаниеОбъекта)
|
||||
|
||||
СтрокаДерева.Ошибки.Очистить();
|
||||
Для Каждого Ошибка Из ОписаниеОбъекта.Ошибки Цикл
|
||||
|
||||
СтрокаОшибки = СтрокаДерева.Ошибки.Добавить();
|
||||
СтрокаОшибки.Сообщение = Ошибка.Сообщение;
|
||||
СтрокаОшибки.Стек = Ошибка.Стек;
|
||||
СтрокаОшибки.Лог.ЗагрузитьЗначения(Ошибка.Лог);
|
||||
СтрокаОшибки.ОжидаемоеЗначение = ЮТКоллекции.ЗначениеСтруктуры(Ошибка, "ОжидаемоеЗначение");
|
||||
СтрокаОшибки.ФактическоеЗначение = ЮТКоллекции.ЗначениеСтруктуры(Ошибка, "ПроверяемоеЗначение");
|
||||
|
||||
@ -692,14 +702,32 @@
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОбновитьДоступностьСравнения()
|
||||
|
||||
Данные = Элементы.ДеревоТестовОшибки.ТекущиеДанные;
|
||||
Данные = ДанныеТекущейОшибки();;
|
||||
Элементы.Сравнить.Доступность = Данные <> Неопределено И (НЕ ПустаяСтрока(Данные.ОжидаемоеЗначение) ИЛИ НЕ ПустаяСтрока(Данные.ФактическоеЗначение));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Функция ДанныеТекущейОшибки()
|
||||
|
||||
Данные = Элементы.ДеревоТестовОшибки.ТекущиеДанные;
|
||||
|
||||
Если Данные <> Неопределено Или ФорматВыводаОшибки = ФорматыВыводаОшибки().Текст Тогда
|
||||
Возврат Данные;
|
||||
КонецЕсли;
|
||||
|
||||
ДанныеТеста = Элементы.ДеревоТестов.ТекущиеДанные;
|
||||
|
||||
Если ДанныеТеста <> Неопределено И ЗначениеЗаполнено(ДанныеТеста.Ошибки) Тогда
|
||||
Возврат ДанныеТеста.Ошибки[0];
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПослеВодаКоличестваИтерацийЗамера(Результат, ДополнительныеПараметры) Экспорт
|
||||
|
||||
@ -770,4 +798,181 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#Область ВыводОшибки
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПереключитьВыводОшибки()
|
||||
|
||||
Форматы = ФорматыВыводаОшибки();
|
||||
Если НЕ ЗначениеЗаполнено(ФорматВыводаОшибки) Тогда
|
||||
ФорматВыводаОшибки = Форматы.HTML;
|
||||
КонецЕсли;
|
||||
|
||||
Элементы.ДеревоТестовОшибки.Видимость = ФорматВыводаОшибки = Форматы.Текст;
|
||||
Элементы.ДеревоТестовОшибкиСтек.Видимость = ФорматВыводаОшибки = Форматы.Текст;
|
||||
Элементы.ОтображениеОшибки.Видимость = ФорматВыводаОшибки = Форматы.HTML;
|
||||
|
||||
Если ФорматВыводаОшибки = Форматы.HTML Тогда
|
||||
ОтобразитьДанныеОшибки();
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиентеНаСервереБезКонтекста
|
||||
Функция ФорматыВыводаОшибки()
|
||||
|
||||
Форматы = Новый Структура();
|
||||
Форматы.Вставить("Текст", "Текст");
|
||||
Форматы.Вставить("HTML", "HTML");
|
||||
|
||||
Возврат Форматы;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОтобразитьДанныеОшибки();
|
||||
|
||||
ДанныеТеста = Элементы.ДеревоТестов.ТекущиеДанные;
|
||||
Если ДанныеТеста = Неопределено Или НЕ ЗначениеЗаполнено(ДанныеТеста.Ошибки) Тогда
|
||||
Если ЭтоАдресВременногоХранилища(ОтображениеОшибки) Тогда
|
||||
УдалитьИзВременногоХранилища(ОтображениеОшибки);
|
||||
КонецЕсли;
|
||||
ОтображениеОшибки = Неопределено;
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ОтображениеОшибки = ДеревоОшибкиHTML(ОтображениеОшибки, ДанныеТеста.Ошибки);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Функция ДеревоОшибкиHTML(Знач АдресХранилища, Знач Ошибки)
|
||||
|
||||
Если ЭтоАдресВременногоХранилища(АдресХранилища) Тогда
|
||||
УдалитьИзВременногоХранилища(АдресХранилища);
|
||||
КонецЕсли;
|
||||
|
||||
Блоки = Новый Массив();
|
||||
|
||||
Для Каждого Ошибка Из Ошибки Цикл
|
||||
ВывестиДанныеОшибки(Блоки, Ошибка);
|
||||
КонецЦикла;
|
||||
|
||||
ШаблонПредставленияОшибки = ЮТОбщий.Макет("ОбщийМакет.ЮТИнформацияОбОшибке").ПолучитьТекст();
|
||||
ПредставленияОшибки = СтрЗаменить(ШаблонПредставленияОшибки, "TREE_CONTENT", СтрСоединить(Блоки, Символы.ПС));
|
||||
|
||||
Возврат ПолучитьНавигационнуюСсылкуИнформационнойБазы() + "/"+ ПоместитьВоВременноеХранилище(ПредставленияОшибки, Новый УникальныйИдентификатор);
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Процедура ВывестиДанныеОшибки(Блоки, Ошибка)
|
||||
|
||||
Блоки.Добавить(СтрШаблон("<div class='row main message'>
|
||||
|<div class='row-title'>
|
||||
| <span class='caret'></span>
|
||||
| <span class='status'></span>
|
||||
| <pre>%1</pre>
|
||||
|</div>
|
||||
|", ЗаменитьСпецСимволы(Ошибка.Сообщение)));
|
||||
Если ЗначениеЗаполнено(Ошибка.Лог) Или ЗначениеЗаполнено(Ошибка.Стек) Тогда
|
||||
Блоки.Добавить("<div class='nested'>");
|
||||
ВывестиЛог(Блоки, Ошибка.Лог);
|
||||
ВывестиСтек(Блоки, Ошибка.Стек);
|
||||
Блоки.Добавить("</div>");
|
||||
КонецЕсли;
|
||||
Блоки.Добавить("</div>");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Процедура ВывестиЛог(Блоки, Лог)
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Лог) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Блоки.Добавить("<div class='log-block side'>
|
||||
| <span class='log-title'>Лог исполнения</span>
|
||||
| <div class='nested'>");
|
||||
Для Каждого Строка Из Лог Цикл
|
||||
Блоки.Добавить(СтрШаблон(" <pre class='note-line'>%1</pre>", ЗаменитьСпецСимволы(Строка)));
|
||||
КонецЦикла;
|
||||
Блоки.Добавить("</div></div>");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Процедура ВывестиСтек(Блоки, ПредставлениеСтека)
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(ПредставлениеСтека) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Стек = Стек(ПредставлениеСтека);
|
||||
|
||||
Блоки.Добавить(СтрШаблон("<div class='row main %1' style='margin-left:1em'>
|
||||
|<div class='row-title'>
|
||||
| <span class='caret'></span>
|
||||
| <span class='status'></span>
|
||||
| <pre>%2</pre>
|
||||
|</div>
|
||||
|<div class='nested'>
|
||||
|", "failure", ЗаменитьСпецСимволы(Стек.Сообщение)));
|
||||
|
||||
Для Каждого Линия Из Стек.Линии Цикл
|
||||
Блоки.Добавить(СтрШаблон("<div class='row-title side line' style='margin-left:1em'></span><span class='status'></span>
|
||||
|<pre>%1</pre>
|
||||
|</div>
|
||||
|", ЗаменитьСпецСимволы(Линия)));
|
||||
КонецЦикла;
|
||||
|
||||
Блоки.Добавить("</div></div>");
|
||||
|
||||
КонецПроцедуры
|
||||
&НаСервереБезКонтекста
|
||||
Функция ЗаменитьСпецСимволы(Знач Стр)
|
||||
|
||||
Стр = СтрЗаменить(Стр, "&", "&");
|
||||
Стр = СтрЗаменить(Стр, """", """);
|
||||
Стр = СтрЗаменить(Стр, "<", "<");
|
||||
Стр = СтрЗаменить(Стр, ">", ">");
|
||||
Стр = СтрЗаменить(Стр, "‘", "'");
|
||||
|
||||
Возврат СокрЛП(Стр);
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Функция Стек(Стек)
|
||||
|
||||
Разделитель = Символы.ПС;
|
||||
Строки = СтрРазделить(Стек, Разделитель);
|
||||
|
||||
Корень = Новый Структура("Сообщение, Линии", Неопределено, Новый Массив());
|
||||
|
||||
Для Инд = 0 По Строки.ВГраница() Цикл
|
||||
|
||||
Строка = Строки[Инд];
|
||||
Если СтрНачинаетсяС(Строка, "{") И СтрНайти(Строка, ")}") Тогда
|
||||
НомерСтроки = Инд;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
|
||||
Корень.Сообщение = ЮТСтроки.ДобавитьСтроку(Корень.Сообщение, Строка, Разделитель);
|
||||
КонецЦикла;
|
||||
|
||||
Для Инд = НомерСтроки По Строки.ВГраница() Цикл
|
||||
Строка = Строки[Инд];
|
||||
Если СтрНачинаетсяС(Строка, "{") И СтрНайти(Строка, ")}") Тогда
|
||||
Корень.Линии.Добавить(Строка);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Корень;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -457,7 +457,7 @@
|
||||
#Если ВебКлиент Тогда
|
||||
ВызватьИсключение "Сохранение конфигурации из веб-клиента не поддерживается";
|
||||
#Иначе
|
||||
Конфигурация = ЮТФабрикаСлужебный.ПараметрыЗапуска();
|
||||
Конфигурация = ЮТФабрика.ПараметрыЗапуска();
|
||||
Конфигурация.Удалить("ВыполнятьМодульноеТестирование");
|
||||
|
||||
Конфигурация.showReport = ОтобразитьОтчет;
|
||||
|
Loading…
x
Reference in New Issue
Block a user