Prepare for utf-8 offsets

This commit is contained in:
Aleksey Kladov 2021-02-12 21:24:10 +03:00
parent cc49502ab4
commit 2cb4ac9eb4
7 changed files with 30 additions and 30 deletions

View file

@ -4,23 +4,23 @@ use super::*;
fn test_line_index() {
let text = "hello\nworld";
let index = LineIndex::new(text);
assert_eq!(index.line_col(0.into()), LineCol { line: 0, col_utf16: 0 });
assert_eq!(index.line_col(1.into()), LineCol { line: 0, col_utf16: 1 });
assert_eq!(index.line_col(5.into()), LineCol { line: 0, col_utf16: 5 });
assert_eq!(index.line_col(6.into()), LineCol { line: 1, col_utf16: 0 });
assert_eq!(index.line_col(7.into()), LineCol { line: 1, col_utf16: 1 });
assert_eq!(index.line_col(8.into()), LineCol { line: 1, col_utf16: 2 });
assert_eq!(index.line_col(10.into()), LineCol { line: 1, col_utf16: 4 });
assert_eq!(index.line_col(11.into()), LineCol { line: 1, col_utf16: 5 });
assert_eq!(index.line_col(12.into()), LineCol { line: 1, col_utf16: 6 });
assert_eq!(index.line_col(0.into()), LineColUtf16 { line: 0, col: 0 });
assert_eq!(index.line_col(1.into()), LineColUtf16 { line: 0, col: 1 });
assert_eq!(index.line_col(5.into()), LineColUtf16 { line: 0, col: 5 });
assert_eq!(index.line_col(6.into()), LineColUtf16 { line: 1, col: 0 });
assert_eq!(index.line_col(7.into()), LineColUtf16 { line: 1, col: 1 });
assert_eq!(index.line_col(8.into()), LineColUtf16 { line: 1, col: 2 });
assert_eq!(index.line_col(10.into()), LineColUtf16 { line: 1, col: 4 });
assert_eq!(index.line_col(11.into()), LineColUtf16 { line: 1, col: 5 });
assert_eq!(index.line_col(12.into()), LineColUtf16 { line: 1, col: 6 });
let text = "\nhello\nworld";
let index = LineIndex::new(text);
assert_eq!(index.line_col(0.into()), LineCol { line: 0, col_utf16: 0 });
assert_eq!(index.line_col(1.into()), LineCol { line: 1, col_utf16: 0 });
assert_eq!(index.line_col(2.into()), LineCol { line: 1, col_utf16: 1 });
assert_eq!(index.line_col(6.into()), LineCol { line: 1, col_utf16: 5 });
assert_eq!(index.line_col(7.into()), LineCol { line: 2, col_utf16: 0 });
assert_eq!(index.line_col(0.into()), LineColUtf16 { line: 0, col: 0 });
assert_eq!(index.line_col(1.into()), LineColUtf16 { line: 1, col: 0 });
assert_eq!(index.line_col(2.into()), LineColUtf16 { line: 1, col: 1 });
assert_eq!(index.line_col(6.into()), LineColUtf16 { line: 1, col: 5 });
assert_eq!(index.line_col(7.into()), LineColUtf16 { line: 2, col: 0 });
}
#[test]