refactor: add basic Buffer.root.get_from_pos test
This commit is contained in:
parent
a0e7d2623f
commit
f0c8e35277
1 changed files with 27 additions and 0 deletions
|
@ -330,3 +330,30 @@ test "insert_chars" {
|
|||
try std.testing.expectEqual(line, 1);
|
||||
try std.testing.expectEqual(col, 1);
|
||||
}
|
||||
|
||||
test "get_from_pos" {
|
||||
var eol_mode: Buffer.EolMode = .lf;
|
||||
const buffer = try get_big_doc(&eol_mode);
|
||||
defer buffer.deinit();
|
||||
|
||||
const lines = buffer.root.lines();
|
||||
try std.testing.expectEqual(lines, 10002);
|
||||
|
||||
const line0 = try get_line(buffer, 0);
|
||||
defer a.free(line0);
|
||||
const line1 = try get_line(buffer, 1);
|
||||
defer a.free(line1);
|
||||
|
||||
var result_buf: [1024]u8 = undefined;
|
||||
const result1 = buffer.root.get_from_pos(.{ .row = 0, .col = 0 }, &result_buf, metrics());
|
||||
try std.testing.expectEqualDeep(result1[0..line0.len], line0);
|
||||
|
||||
const result2 = buffer.root.get_from_pos(.{ .row = 1, .col = 5 }, &result_buf, metrics());
|
||||
try std.testing.expectEqualDeep(result2[0..line1.len - 5], line1[5..]);
|
||||
|
||||
_, _, const root = try buffer.root.insert_chars(1, 3, " ", buffer.allocator, metrics());
|
||||
buffer.update(root);
|
||||
|
||||
const result3 = buffer.root.get_from_pos(.{ .row = 1, .col = 5 }, &result_buf, metrics());
|
||||
try std.testing.expectEqualDeep(result3[0..line1.len - 4], line1[4..]);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue