os: fix trailing slash in dir() (#7283)

pull/7286/head
yuyi 2020-12-12 17:59:43 +08:00 committed by GitHub
parent d785e22a6e
commit 095327134e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 4 deletions

View File

@ -651,12 +651,9 @@ pub fn dir(path string) string {
if path == '' {
return '.'
}
mut pos := path.last_index(path_separator) or {
pos := path.last_index(path_separator) or {
return '.'
}
if path.ends_with(path_separator) {
pos--
}
return path[..pos]
}

View File

@ -440,8 +440,10 @@ fn test_join() {
fn test_dir() {
$if windows {
assert os.dir('C:\\a\\b\\c') == 'C:\\a\\b'
assert os.dir('C:\\a\\b\\') == 'C:\\a\\b'
} $else {
assert os.dir('/var/tmp/foo') == '/var/tmp'
assert os.dir('/var/tmp/') == '/var/tmp'
}
assert os.dir('os') == '.'
}