fix: add test of Buffer.store_to_file_and_clean
This commit is contained in:
		
							parent
							
								
									18a7190545
								
							
						
					
					
						commit
						d201a84ec8
					
				
					 3 changed files with 2240 additions and 0 deletions
				
			
		|  | @ -74,6 +74,32 @@ test "buffer" { | |||
|     try std.testing.expectEqual(doc.len, buffer.root.length()); | ||||
| } | ||||
| 
 | ||||
| test "buffer.store_to_file_and_clean" { | ||||
|     const local = struct { | ||||
|         fn read_file(allocator: std.mem.Allocator, file_path: []const u8) ![]const u8 { | ||||
|             const file = try std.fs.cwd().openFile(file_path, .{ .mode = .read_only }); | ||||
|             defer file.close(); | ||||
|             const stat = try file.stat(); | ||||
|             const buf = try allocator.alloc(u8, @intCast(stat.size)); | ||||
|             errdefer allocator.free(buf); | ||||
|             const read_size = try file.readAll(buf); | ||||
|             try std.testing.expectEqual(read_size, stat.size); | ||||
|             return buf; | ||||
|         } | ||||
|     }; | ||||
| 
 | ||||
|     const buffer = try Buffer.create(a); | ||||
|     defer buffer.deinit(); | ||||
|     try buffer.load_from_file_and_update("test/tests_buffer_input.txt"); | ||||
|     try buffer.store_to_file_and_clean("test/tests_buffer_output.txt"); | ||||
| 
 | ||||
|     const input = try local.read_file(a, "test/tests_buffer_input.txt"); | ||||
|     defer a.free(input); | ||||
|     const output = try local.read_file(a, "test/tests_buffer_output.txt"); | ||||
|     defer a.free(output); | ||||
|     try std.testing.expectEqualStrings(input, output); | ||||
| } | ||||
| 
 | ||||
| fn get_line(buf: *const Buffer, line: usize) ![]const u8 { | ||||
|     var result: std.Io.Writer.Allocating = .init(a); | ||||
|     try buf.root.get_line(line, &result.writer, metrics()); | ||||
|  |  | |||
							
								
								
									
										1107
									
								
								test/tests_buffer_input.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1107
									
								
								test/tests_buffer_input.txt
									
										
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										1107
									
								
								test/tests_buffer_output.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1107
									
								
								test/tests_buffer_output.txt
									
										
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue