mirror of
https://github.com/Nivanchenko/tokenizer.git
synced 2024-11-21 17:17:13 +02:00
Тест на парсинг ЖР
This commit is contained in:
parent
6cca545c28
commit
4247cce1bb
@ -95,7 +95,7 @@
|
||||
|
||||
`ПарсерСкобки.os`
|
||||
```bsl
|
||||
Перем __Токенайзер;
|
||||
Перем _Токенайзер;
|
||||
Перем ПрошлиЗаголовок;
|
||||
|
||||
Процедура ПриСозданииОбъекта(Токенайзер)
|
||||
|
39
tests/logevent.os
Normal file
39
tests/logevent.os
Normal file
@ -0,0 +1,39 @@
|
||||
#Использовать ".."
|
||||
#Использовать asserts
|
||||
#Использовать "features"
|
||||
|
||||
&Тест
|
||||
Процедура Тест_Токенайзер1() Экспорт
|
||||
|
||||
// Дано
|
||||
Спека = Новый Массив();
|
||||
Спека.Добавить(Новый СпецификацияТокенПробелы(Истина));
|
||||
Спека.Добавить(Новый СпецификацияТокенСимвол("{", "Открыть"));
|
||||
Спека.Добавить(Новый СпецификацияТокенСимвол("}", "Закрыть"));
|
||||
Спека.Добавить(Новый СпецификацияТокенСимвол(",", "Запятая"));
|
||||
Спека.Добавить(Новый СпецификацияТокенРегулярноеВыражение(Новый РегулярноеВыражение("(1CV8LOG)|(\(\w+ \d.\d\))"), "Версия"));
|
||||
Спека.Добавить(Новый СпецификацияТокенРегулярноеВыражение(Новый РегулярноеВыражение("[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}$"), "Гуид"));
|
||||
Спека.Добавить(Новый СпецификацияТокенРегулярноеВыражение(Новый РегулярноеВыражение("[\da-z]+"), "Идентификатор"));
|
||||
Спека.Добавить(Новый СпецификацияТокенСтрока());
|
||||
Спека.Добавить(Новый СпецификацияТокенЧисло());
|
||||
Спека.Добавить(Новый СпецификацияТокенСимвол(Символы.ПС, "ПереносСтроки"));
|
||||
Токенайзер = Новый Токенайзер(Спека);
|
||||
|
||||
ЧтениеТекста = Новый ЧтениеТекста("tests/features/small.lgp");
|
||||
Текст = ЧтениеТекста.Прочитать();
|
||||
ЧтениеТекста.Закрыть();
|
||||
|
||||
// Когда
|
||||
Токенайзер.Инит(Текст);
|
||||
|
||||
Скобарь = Новый ПарсерСкобки(Токенайзер);
|
||||
Результат = Скобарь.Распарсить();
|
||||
|
||||
// Тогда
|
||||
Ожидаем.Что(Результат.Количество()).Равно(2);
|
||||
Ожидаем.Что(Результат[0].Количество()).Равно(19);
|
||||
Ожидаем.Что(Результат[1].Количество()).Равно(19);
|
||||
Ожидаем.Что(Результат[0][2].Количество()).Равно(2);
|
||||
Ожидаем.Что(Результат[1][2].Количество()).Равно(2);
|
||||
|
||||
КонецПроцедуры
|
Loading…
Reference in New Issue
Block a user