v / vlib / os
Raw file | 42 loc (38 sloc) | 1.1 KB | Latest commit hash 017ace6ea
1import os
2
3fn test_tmpdir() {
4 t := os.temp_dir()
5 assert t.len > 0
6 assert os.is_dir(t)
7 tfile := t + os.path_separator + 'tmpfile.txt'
8 os.rm(tfile) or {} // just in case
9 tfile_content := 'this is a temporary file'
10 os.write_file(tfile, tfile_content) or { panic(err) }
11 tfile_content_read := os.read_file(tfile) or { panic(err) }
12 assert tfile_content_read == tfile_content
13 os.rm(tfile) or { panic(err) }
14}
15
16fn test_ensure_folder_is_writable() {
17 tmp := os.temp_dir()
18 os.ensure_folder_is_writable(tmp) or {
19 eprintln('err: ${err}')
20 assert false
21 }
22}
23
24fn test_expand_tilde_to_home() {
25 os.setenv('HOME', '/tmp/home/folder', true)
26 os.setenv('USERPROFILE', '/tmp/home/folder', true)
27 //
28 home_test := os.join_path(os.home_dir(), 'test', 'tilde', 'expansion')
29 home_expansion_test := os.expand_tilde_to_home(os.join_path('~', 'test', 'tilde',
30 'expansion'))
31 assert home_test == home_expansion_test
32 assert os.expand_tilde_to_home('~') == os.home_dir()
33}
34
35fn test_config_dir() {
36 cdir := os.config_dir()!
37 assert cdir.len > 0
38 adir := '${cdir}/test-v-config'
39 os.mkdir_all(adir)!
40 os.rmdir(adir)!
41 assert os.is_dir(cdir)
42}