Skip to content

Commit 84d4ba2

Browse files
committed
Исправления для нового API
1 parent 0009f5a commit 84d4ba2

File tree

6 files changed

+248
-89
lines changed

6 files changed

+248
-89
lines changed

src/core/Классы/ГенераторОтчетаCobertura.os

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
ТаблицаДанныхПоМетодамКлассов = ТаблицаСтатистикиПокрытия.Скопировать();
5555
ТаблицаДанныхПоМетодамКлассов.Свернуть("Пакет, ПутьКФайлу, ИмяКласса, ИмяМетода", "Покрыто, НеПокрыто");
5656

57-
РассчитатьПроцентПокрытияПоТаблице(ТаблицаДанныхПоКлассам, "Пакет, ПутьКФайлу, ИмяКласса, ИмяМетода");
57+
РассчитатьПроцентПокрытияПоТаблице(ТаблицаДанныхПоМетодамКлассов, "Пакет, ПутьКФайлу, ИмяКласса, ИмяМетода");
5858

5959
ЗаписатьДанныеПакетов();
6060

@@ -101,7 +101,7 @@
101101
МассивСтрок = ТаблицаДанныхПоКлассам.НайтиСтроки(Отбор);
102102

103103
Для каждого СтрокаКласса Из МассивСтрок Цикл
104-
104+
105105
// ПроцентПокрытияСтрок = (СтрокаПакета.Покрыто / (СтрокаПакета.Покрыто + СтрокаПакета.НеПокрыто))*100;
106106
ТекущаяЗаписьXML.ЗаписатьНачалоЭлемента("class");
107107
ТекущаяЗаписьXML.ЗаписатьАтрибут("name", СтрокаКласса.ИмяКласса);
@@ -118,7 +118,7 @@
118118

119119
ТекущаяЗаписьXML.ЗаписатьНачалоЭлемента("lines");
120120

121-
ЗаписатьДанныеСтрок(СтрокаКласса.Пакет, СтрокаКласса.ИмяКласса, "$entry");
121+
ЗаписатьДанныеСтрок(СтрокаКласса.Пакет, СтрокаКласса.ИмяКласса);
122122

123123
ТекущаяЗаписьXML.ЗаписатьКонецЭлемента(); // lines
124124

@@ -135,6 +135,9 @@
135135

136136
Для каждого СтрокаМетода Из МассивСтрок Цикл
137137

138+
Если СтрокаМетода.ИмяМетода = "$entry" Тогда
139+
Продолжить;
140+
КонецЕсли;
138141
// ПроцентПокрытияСтрок = (СтрокаПакета.Покрыто / (СтрокаПакета.Покрыто + СтрокаПакета.НеПокрыто))*100;
139142
ТекущаяЗаписьXML.ЗаписатьНачалоЭлемента("method");
140143
ТекущаяЗаписьXML.ЗаписатьАтрибут("name", СтрокаМетода.ИмяМетода);
@@ -155,9 +158,14 @@
155158

156159
КонецПроцедуры
157160

158-
Процедура ЗаписатьДанныеСтрок(Знач ИмяПакета, Знач ИмяКласса, Знач ИмяМетода)
161+
Процедура ЗаписатьДанныеСтрок(Знач ИмяПакета, Знач ИмяКласса, Знач ИмяМетода = Неопределено)
159162

160-
Отбор = Новый Структура("Пакет, ИмяКласса, ИмяМетода", ИмяПакета, ИмяКласса, ИмяМетода);
163+
Отбор = Новый Структура("Пакет, ИмяКласса", ИмяПакета, ИмяКласса);
164+
165+
Если ЗначениеЗаполнено(ИмяМетода) Тогда
166+
Отбор.Вставить("ИмяМетода", ИмяМетода);
167+
КонецЕсли;
168+
161169
МассивСтрок = ТаблицаСтатистикиПокрытия.НайтиСтроки(Отбор);
162170

163171
Для каждого СтрокаМодуля Из МассивСтрок Цикл

src/core/Классы/ГенераторОтчетаПокрытия.os

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,15 @@
125125

126126
КонецФункции
127127

128+
// Возвращает таблицу с данными о статистики покрытия
129+
//
130+
// Возвращаемое значение:
131+
// ТаблицаЗначений - таблица с данными о статистики покрытия
132+
//
133+
Функция ПолучитьТаблицуСтатистикиПокрытия() Экспорт
134+
Возврат ТаблицаСтатистикиПокрытия.Скопировать();
135+
КонецФункции
136+
128137
// Добавляет отчет в формате Clover для генерации
129138
//
130139
// Параметры:
@@ -272,7 +281,7 @@
272281

273282
КонецФункции
274283

275-
Процедура ВыполнитьЗаменуПутей(Знач ПутьКФайлу)
284+
Процедура ВыполнитьЗаменуПутей(ПутьКФайлу)
276285

277286
Для каждого ПутьЗамены Из ПутиЗамены Цикл
278287

@@ -281,10 +290,17 @@
281290

282291
Если СтрНачинаетсяС(ПутьКФайлу, СтрокаПоиска) Тогда
283292

293+
НачальнаяСтрока = ПутьКфайлу;
294+
284295
ПутьКФайлу = СтрЗаменить(ПутьКФайлу, СтрокаПоиска, СтрокаЗамены);
296+
Лог.Отладка("Выполнена замена:
297+
| начальная строка <%1>
298+
| подстрока замены <%2>
299+
| строка замещения <%3>
300+
| результат <%4> ", НачальнаяСтрока, СтрокаПоиска, СтрокаЗамены, ПутьКФайлу);
285301

286302
КонецЕсли;
287-
303+
288304
КонецЦикла;
289305

290306
КонецПроцедуры
@@ -307,8 +323,8 @@
307323
Для каждого ДанныеПокрытияСтроки Из СтрокиМетода Цикл
308324

309325
СтрокаМодуля = ДанныеПокрытияСтроки.Ключ;
310-
КоличествоВызовов = ДанныеФайла.Получить("count");
311-
ВремяВыполнения = ДанныеФайла.Получить("time");
326+
КоличествоВызовов = ДанныеПокрытияСтроки.Значение.Получить("count");
327+
ВремяВыполнения = ДанныеПокрытияСтроки.Значение.Получить("time");
312328

313329
ДобавитьВТаблицуСтатистики(ПутьКфайлу,
314330
ИмяКласса,
@@ -370,7 +386,7 @@
370386

371387
СтрокаЗамены = СтрШаблон("%1%2", ПутьККаталогуИсходников, ПолучитьРазделительПути());
372388

373-
ПутьККаталогуФайла =ОчиститьПутьКФайлуОтПути(ПутьККаталогуФайла, СтрокаЗамены);
389+
ПутьККаталогуФайла = ОчиститьПутьКФайлуОтПути(ПутьККаталогуФайла, СтрокаЗамены);
374390

375391
МассивДанныхПакета = СтрРазделить(ПутьККаталогуФайла, ПолучитьРазделительПути(), Ложь);
376392

@@ -390,7 +406,7 @@
390406
ИмяПакета = СтрСоединить(МассивПутиКПакету, ".");
391407
КонецЕсли;
392408

393-
Возврат ИмяПакета
409+
Возврат ИмяПакета;
394410

395411
КонецФункции
396412

@@ -425,7 +441,7 @@
425441

426442
ГенераторОтчета = Новый ГенераторОтчетаClover(ПутьККаталогуИсходников, ИмяПроекта);
427443

428-
ГенераторОтчета.Сформировать(ДанныеСтатистикиПокрытия, ПутьКФайлуПокрытия);
444+
ГенераторОтчета.Сформировать(ТаблицаСтатистикиПокрытия, ПутьКФайлуПокрытия);
429445

430446
КонецПроцедуры
431447

@@ -441,7 +457,7 @@
441457

442458
ГенераторОтчета = Новый ГенераторОтчетаCobertura(ПутьККаталогуПроекта);
443459

444-
ГенераторОтчета.Сформировать(ДанныеСтатистикиПокрытия, ПутьКФайлуПокрытия);
460+
ГенераторОтчета.Сформировать(ТаблицаСтатистикиПокрытия, ПутьКФайлуПокрытия);
445461

446462
КонецПроцедуры
447463

@@ -457,7 +473,7 @@
457473

458474
ГенераторОтчета = Новый ГенераторОтчетаGenericCoverage();
459475

460-
ГенераторОтчета.Сформировать(ДанныеСтатистикиПокрытия, ПутьКФайлуПокрытия);
476+
ГенераторОтчета.Сформировать(ТаблицаСтатистикиПокрытия, ПутьКФайлуПокрытия);
461477

462478
КонецПроцедуры
463479

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
{
2+
"/fake-path/src/Классы/ТестовыйКласс.os": {
3+
"#path": "/fake-path/src/Классы/ТестовыйКласс.os",
4+
"ПолностьюПокрытаяФункция": {
5+
"18": {
6+
"count": 5,
7+
"time": 0
8+
},
9+
"20": {
10+
"count": 5,
11+
"time": 0
12+
},
13+
"22": {
14+
"count": 5,
15+
"time": 0
16+
},
17+
"24": {
18+
"count": 5,
19+
"time": 0
20+
},
21+
"26": {
22+
"count": 5,
23+
"time": 0
24+
}
25+
},
26+
"ЧастичноПокрытаяФункция": {
27+
"36": {
28+
"count": 0,
29+
"time": 0
30+
},
31+
"38": {
32+
"count": 0,
33+
"time": 0
34+
},
35+
"40": {
36+
"count": 0,
37+
"time": 0
38+
},
39+
"42": {
40+
"count": 12,
41+
"time": 0
42+
}
43+
},
44+
"НепокрытаяФункция": {
45+
"49": {
46+
"count": 0,
47+
"time": 0
48+
},
49+
"51": {
50+
"count": 0,
51+
"time": 0
52+
},
53+
"52": {
54+
"count": 0,
55+
"time": 0
56+
},
57+
"53": {
58+
"count": 0,
59+
"time": 0
60+
},
61+
"54": {
62+
"count": 0,
63+
"time": 0
64+
},
65+
"55": {
66+
"count": 0,
67+
"time": 0
68+
},
69+
"56": {
70+
"count": 0,
71+
"time": 0
72+
},
73+
"57": {
74+
"count": 0,
75+
"time": 0
76+
},
77+
"58": {
78+
"count": 0,
79+
"time": 0
80+
},
81+
"60": {
82+
"count": 0,
83+
"time": 0
84+
},
85+
"62": {
86+
"count": 0,
87+
"time": 0
88+
}
89+
}
90+
}
91+
}

tests/fixtures/fake-coverage.json

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"./fixtures/fake/src/Классы/ТестовыйКласс.os": {
3-
"#path": "./fixtures/fake/src/Классы/ТестовыйКласс.os",
2+
"/fake-path/src/Классы/ТестовыйКласс.os": {
3+
"#path": "/fake-path/src/Классы/ТестовыйКласс.os",
44
"ПолностьюПокрытаяФункция": {
55
"18": {
66
"count": 5,
@@ -23,24 +23,6 @@
2323
"time": 0
2424
}
2525
},
26-
"ЧастичноПокрытаяФункция": {
27-
"36": {
28-
"count": 12,
29-
"time": 0
30-
},
31-
"38": {
32-
"count": 12,
33-
"time": 0
34-
},
35-
"40": {
36-
"count": 0,
37-
"time": 0
38-
},
39-
"42": {
40-
"count": 12,
41-
"time": 0
42-
}
43-
},
4426
"НепокрытаяФункция": {
4527
"49": {
4628
"count": 0,

tests/ГенераторCover_test.os

Lines changed: 0 additions & 55 deletions
This file was deleted.

0 commit comments

Comments
 (0)