mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
szip: fix extracting dot folders (#13387)
This commit is contained in:
@ -4,15 +4,19 @@ import os
|
||||
const (
|
||||
test_out_zip = 'v_test_zip.zip'
|
||||
test_path = 'zip files'
|
||||
test_path2 = '.zip folder'
|
||||
fname1 = 'file_1.txt'
|
||||
fpath1 = os.join_path(test_path, fname1)
|
||||
fname2 = 'file_2.txt'
|
||||
fpath2 = os.join_path(test_path, fname2)
|
||||
fname3 = '.New Text Document.txt'
|
||||
fpath3 = os.join_path(test_path2, fname3)
|
||||
)
|
||||
|
||||
fn cleanup() {
|
||||
os.chdir(os.temp_dir()) or {}
|
||||
os.rmdir_all(test_path) or {}
|
||||
os.rmdir_all(test_path2) or {}
|
||||
os.rm(test_out_zip) or {}
|
||||
}
|
||||
|
||||
@ -26,28 +30,35 @@ fn testsuite_end() ? {
|
||||
|
||||
fn test_szip_create_temp_files() ? {
|
||||
os.mkdir(test_path) ?
|
||||
os.mkdir(test_path2) ?
|
||||
os.write_file(fpath1, 'file one') ?
|
||||
os.write_file(fpath2, 'file two') ?
|
||||
os.write_file(fpath3, 'file three') ?
|
||||
assert os.exists(fpath1)
|
||||
assert os.exists(fpath2)
|
||||
assert os.exists(fpath3)
|
||||
}
|
||||
|
||||
fn test_zipping_files() ? {
|
||||
files := (os.ls(test_path) ?).map(os.join_path(test_path, it))
|
||||
mut files := (os.ls(test_path) ?).map(os.join_path(test_path, it))
|
||||
files << (os.ls(test_path2) ?).map(os.join_path(test_path2, it))
|
||||
szip.zip_files(files, test_out_zip) ?
|
||||
assert os.exists(test_out_zip)
|
||||
os.rm(fpath1) ?
|
||||
os.rm(fpath2) ?
|
||||
os.rm(fpath3) ?
|
||||
}
|
||||
|
||||
fn test_extract_zipped_files() ? {
|
||||
os.rm(fpath1) ?
|
||||
os.rm(fpath2) ?
|
||||
szip.extract_zip_to_dir(test_out_zip, test_path) ?
|
||||
szip.extract_zip_to_dir(test_out_zip, test_path2) ?
|
||||
assert os.exists(fpath1)
|
||||
assert os.exists(fpath2)
|
||||
assert os.exists(fpath3)
|
||||
assert (os.read_file(fpath1) ?) == 'file one'
|
||||
assert (os.read_file(fpath2) ?) == 'file two'
|
||||
os.rmdir_all(test_path) ?
|
||||
os.rm(test_out_zip) or {}
|
||||
assert (os.read_file(fpath3) ?) == 'file three'
|
||||
cleanup()
|
||||
}
|
||||
|
||||
fn test_reading_zipping_files() ? {
|
||||
@ -57,9 +68,10 @@ fn test_reading_zipping_files() ? {
|
||||
file_name_list << 'file_${i:02}.txt'
|
||||
}
|
||||
|
||||
os.chdir(os.temp_dir()) or {}
|
||||
os.rmdir_all(test_path) or {}
|
||||
cleanup()
|
||||
os.mkdir(test_path) ?
|
||||
os.mkdir(test_path2) ?
|
||||
os.write_file(fpath3, 'file three') ?
|
||||
for c, f_name in file_name_list {
|
||||
tmp_path := os.join_path(test_path, f_name)
|
||||
os.write_file(tmp_path, 'file ${c:02}') ?
|
||||
|
Reference in New Issue
Block a user