v2 / vlib / io / os_file_reader_test.v
29 lines · 26 sloc · 634 bytes · 2332ecff4811b8c97dfda8e825170e9397962519
Raw
1import os
2import io
3
4fn read_file(file string, cap int) []string {
5 mut lines := []string{}
6 mut f := os.open(file) or { panic(err) }
7 defer {
8 f.close()
9 }
10 mut r := io.new_buffered_reader(reader: f, cap: cap)
11 for {
12 l := r.read_line() or { break }
13 lines << l
14 // println('Line: ${l}')
15 }
16 assert lines.len > 0
17 assert r.end_of_stream == true
18 println('------------------------------------------------ cap: ${cap:6}; read: ${lines.len:3} lines')
19 return lines
20}
21
22fn test_file_reader() {
23 for cap := 1; cap <= 10000; cap += 256 {
24 lines := read_file(@FILE, cap)
25 assert lines.last() == '// my last line'
26 }
27}
28
29// my last line
30