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
		Add a link
		
	
		Reference in a new issue