aboutsummaryrefslogtreecommitdiff
path: root/v_windows/v/vlib/io/os_file_reader_test.v
blob: 1ed3a1f7f47cca71e9e52f74140995bd6029a66e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import os
import io

fn read_file(file string, cap int) []string {
	mut lines := []string{}
	mut f := os.open(file) or { panic(err) }
	defer {
		f.close()
	}
	mut r := io.new_buffered_reader(reader: f, cap: cap)
	for {
		l := r.read_line() or { break }
		lines << l
		// println('Line: $l')
	}
	assert lines.len > 0
	assert r.end_of_stream == true
	println('------------------------------------------------ cap: ${cap:6}; read: ${lines.len:3} lines')
	return lines
}

fn test_file_reader() {
	for cap := 1; cap <= 10000; cap += 256 {
		lines := read_file(@FILE, cap)
		assert lines.last() == '// my last line'
	}
}

// my last line