Skip to content

Commit 4247cce

Browse files
committed
Тест на парсинг ЖР
1 parent 6cca545 commit 4247cce

File tree

2 files changed

+40
-1
lines changed

2 files changed

+40
-1
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@
9595

9696
`ПарсерСкобки.os`
9797
```bsl
98-
Перем __Токенайзер;
98+
Перем _Токенайзер;
9999
Перем ПрошлиЗаголовок;
100100
101101
Процедура ПриСозданииОбъекта(Токенайзер)

tests/logevent.os

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#Использовать ".."
2+
#Использовать asserts
3+
#Использовать "features"
4+
5+
&Тест
6+
Процедура Тест_Токенайзер1() Экспорт
7+
8+
// Дано
9+
Спека = Новый Массив();
10+
Спека.Добавить(Новый СпецификацияТокенПробелы(Истина));
11+
Спека.Добавить(Новый СпецификацияТокенСимвол("{", "Открыть"));
12+
Спека.Добавить(Новый СпецификацияТокенСимвол("}", "Закрыть"));
13+
Спека.Добавить(Новый СпецификацияТокенСимвол(",", "Запятая"));
14+
Спека.Добавить(Новый СпецификацияТокенРегулярноеВыражение(Новый РегулярноеВыражение("(1CV8LOG)|(\(\w+ \d.\d\))"), "Версия"));
15+
Спека.Добавить(Новый СпецификацияТокенРегулярноеВыражение(Новый РегулярноеВыражение("[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$"), "Гуид"));
16+
Спека.Добавить(Новый СпецификацияТокенРегулярноеВыражение(Новый РегулярноеВыражение("[\da-z]+"), "Идентификатор"));
17+
Спека.Добавить(Новый СпецификацияТокенСтрока());
18+
Спека.Добавить(Новый СпецификацияТокенЧисло());
19+
Спека.Добавить(Новый СпецификацияТокенСимвол(Символы.ПС, "ПереносСтроки"));
20+
Токенайзер = Новый Токенайзер(Спека);
21+
22+
ЧтениеТекста = Новый ЧтениеТекста("tests/features/small.lgp");
23+
Текст = ЧтениеТекста.Прочитать();
24+
ЧтениеТекста.Закрыть();
25+
26+
// Когда
27+
Токенайзер.Инит(Текст);
28+
29+
Скобарь = Новый ПарсерСкобки(Токенайзер);
30+
Результат = Скобарь.Распарсить();
31+
32+
// Тогда
33+
Ожидаем.Что(Результат.Количество()).Равно(2);
34+
Ожидаем.Что(Результат[0].Количество()).Равно(19);
35+
Ожидаем.Что(Результат[1].Количество()).Равно(19);
36+
Ожидаем.Что(Результат[0][2].Количество()).Равно(2);
37+
Ожидаем.Что(Результат[1][2].Количество()).Равно(2);
38+
39+
КонецПроцедуры

0 commit comments

Comments
 (0)