Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,17 @@

Функция ПрочитатьТекстСкобкоФайлаРегулярками(Знач Текст)

Текст = СтрЗаменить(Текст, """""", "'");
СпецСимвол = Символ(0);
Текст = СтрЗаменить(Текст, """""", СпецСимвол);

РегВыражение = Новый РегулярноеВыражение("[\{]""#"",""([^""]+)[""][\}]");
МассивСовпадений = РегВыражение.НайтиСовпадения(Текст);

Массив = Новый Массив();

Для каждого Совпадение Из МассивСовпадений Цикл
Массив.Добавить(Совпадение.Группы[1].Значение);
Значение = СтрЗаменить(Совпадение.Группы[1].Значение, СпецСимвол, """""");
Массив.Добавить(Значение);
КонецЦикла;

ТаблицаВерсий = СформироватьТаблицуВерсий(Массив);
Expand Down
Binary file added tests/fixtures/report.quoted.mxl.txt
Binary file not shown.
16 changes: 16 additions & 0 deletions tests/ПарсерОтчетаХранилища_test.os
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,27 @@
ИменаТестов = Новый Массив;

ИменаТестов.Добавить("ТестДолжен_ПроверитьЧтениеОтчетаХранилища");
ИменаТестов.Добавить("ТестДолжен_ПроверитьЧтениеОтчетаХранилищаКавычкиВКомментарии");

Возврат ИменаТестов;

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

Процедура ТестДолжен_ПроверитьЧтениеОтчетаХранилищаКавычкиВКомментарии() Экспорт

ПутьКФайлуОтчета = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "report.quoted.mxl.txt");
ПарсерОтчетаХранилища = Новый ПарсерОтчетаХранилища;
ТаблицаВерсийХранилища = ПарсерОтчетаХранилища.ПрочитатьФайлОтчетаХранилища(ПутьКФайлуОтчета);
Ожидаем.Что(ТаблицаВерсийХранилища.Количество(), "Количество версий должно быть равны").Равно(2);
Ожидаем.Что(ТаблицаВерсийХранилища[1].Комментарий).Равно(
"Многострочный комментарий к версии хранилища, содержащий:
|* ""двойные кавычки""
|* 'одинарные кавычки'
|* несколько кавычек подряд: """""" и '''");


КонецПроцедуры // ТестДолжен_ПроверитьЧтениеОтчетаХранилищаКавычкиВКомментарии()

Процедура ТестДолжен_ПроверитьЧтениеОтчетаХранилища() Экспорт

ПутьКФайлуОтчета = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "report.mxl.txt");
Expand Down