os: fix os.mv edge case and Windows style paths (#6302)
parent
9fbea31f47
commit
51d7d7cfae
|
@ -60,10 +60,12 @@ pub fn file_size(path string) int {
|
|||
pub fn mv(src, dst string) {
|
||||
mut rdst := dst
|
||||
if is_dir(rdst) {
|
||||
rdst = join_path(rdst,file_name(src.trim_right(path_separator)))
|
||||
rdst = join_path(rdst.trim_right(path_separator),file_name(src.trim_right(path_separator)))
|
||||
}
|
||||
$if windows {
|
||||
C._wrename(src.to_wide(), rdst.to_wide())
|
||||
w_src := src.replace('/', '\\')
|
||||
w_dst := rdst.replace('/', '\\')
|
||||
C._wrename(w_src.to_wide(), w_dst.to_wide())
|
||||
} $else {
|
||||
C.rename(charptr(src.str), charptr(rdst.str))
|
||||
}
|
||||
|
|
|
@ -186,13 +186,9 @@ fn test_cp() {
|
|||
os.rm(new_file_name)
|
||||
}
|
||||
|
||||
/*
|
||||
fn test_mv() {
|
||||
work_dir := os.join_path(os.temp_dir(),'v','mv_test')
|
||||
if os.exists(work_dir) {
|
||||
os.rmdir_all(work_dir)
|
||||
}
|
||||
mkdir_all(work_dir)
|
||||
work_dir := os.join_path(os.getwd(),'mv_test')
|
||||
os.mkdir_all(work_dir)
|
||||
// Setup test files
|
||||
tfile1 := os.join_path(work_dir,'file')
|
||||
tfile2 := os.join_path(work_dir,'file.test')
|
||||
|
@ -230,7 +226,6 @@ fn test_mv() {
|
|||
expected = tfile3
|
||||
assert os.exists(expected) && !is_dir(expected) == true
|
||||
}
|
||||
*/
|
||||
|
||||
fn test_cp_r() {
|
||||
// fileX -> dir/fileX
|
||||
|
|
Loading…
Reference in New Issue