feat: базовая структура проекта; docs: грамматика формы бэкуса-наура
This commit is contained in:
51
tests/test_positions.rs
Normal file
51
tests/test_positions.rs
Normal file
@@ -0,0 +1,51 @@
|
||||
//! Тесты для отслеживания позиций токенов.
|
||||
|
||||
// TODO: Добавить тесты для отслеживания позиций
|
||||
// - Тест позиции первого токена
|
||||
// - Тест позиции после пробелов
|
||||
// - Тест позиции после новой строки
|
||||
// - Тест позиции в многострочном коде
|
||||
// - Тест позиции в комментариях
|
||||
// - Тест позиции ошибок
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
// use tverd_plus_tokenizer::*;
|
||||
|
||||
#[test]
|
||||
fn test_first_token_position() {
|
||||
// TODO: Тест позиции первого токена
|
||||
// Проверить, что первый токен имеет позицию (1, 1)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_position_after_whitespace() {
|
||||
// TODO: Тест позиции после пробелов
|
||||
// Пример: " @var" - проверить позицию @var
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_position_after_newline() {
|
||||
// TODO: Тест позиции после новой строки
|
||||
// Пример: "\n@var" - проверить, что @var на строке 2
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_multiline_positions() {
|
||||
// TODO: Тест позиций в многострочном коде
|
||||
// Пример: "Ъ+\n @var\n :метка"
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_comment_positions() {
|
||||
// TODO: Тест позиций комментариев
|
||||
// Проверить, что комментарии имеют корректные позиции
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_error_positions() {
|
||||
// TODO: Тест позиций ошибок
|
||||
// Проверить, что ошибки содержат корректные позиции
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user