Cleanup intent of `toLocalPath` test

This commit is contained in:
Mathias Fredriksson 2022-10-18 11:15:09 +03:00
parent ae4859f1cd
commit bf40a02d09
1 changed files with 25 additions and 33 deletions

View File

@ -3,7 +3,6 @@ package sftp
import ( import (
"bytes" "bytes"
"errors" "errors"
"fmt"
"io" "io"
"os" "os"
"runtime" "runtime"
@ -262,95 +261,88 @@ func Test_toLocalPath(t *testing.T) {
want string want string
}{ }{
{ {
name: "empty path", name: "empty path with no workdir",
args: args{p: ""}, args: args{p: ""},
want: "", want: "",
}, },
{ {
name: "relative path", name: "relative path with no workdir",
args: args{p: "file"}, args: args{p: "file"},
want: "file", want: "file",
}, },
{ {
name: "absolute path", name: "absolute path with no workdir",
args: args{p: "/file"}, args: args{p: "/file"},
want: "/file", want: "/file",
}, },
{ {
name: "empty path", name: "workdir and empty path on Unix",
goos: "linux", goos: "linux",
args: args{workDir: "/home/user", p: ""}, args: args{workDir: cleanPath("/home/user"), p: ""},
want: "/home/user", want: "/home/user",
}, },
{ {
name: "relative path", name: "workdir and relative path on Unix",
goos: "linux", goos: "linux",
args: args{workDir: "/home/user", p: "file"}, args: args{workDir: cleanPath("/home/user"), p: "file"},
want: "/home/user/file", want: "/home/user/file",
}, },
{ {
name: "relative path with .", name: "workdir and relative path with . on Unix",
goos: "linux", goos: "linux",
args: args{workDir: "/home/user", p: "."}, args: args{workDir: cleanPath("/home/user"), p: "."},
want: "/home/user", want: "/home/user",
}, },
{ {
name: "relative path with . and file", name: "workdir and relative path with . and file on Unix",
goos: "linux", goos: "linux",
args: args{workDir: "/home/user", p: "./file"}, args: args{workDir: cleanPath("/home/user"), p: "./file"},
want: "/home/user/file", want: "/home/user/file",
}, },
{ {
name: "absolute path", name: "workdir and absolute path on Unix",
goos: "linux", goos: "linux",
args: args{workDir: "/home/user", p: "/file"}, args: args{workDir: cleanPath("/home/user"), p: "/file"},
want: "/file", want: "/file",
}, },
{ {
name: "empty path", name: "workdir and empty path on Windows",
goos: "windows", goos: "windows",
args: args{workDir: "C:\\Users\\User", p: ""}, args: args{workDir: cleanPath("C:\\Users\\User"), p: ""},
want: "C:\\Users\\User", want: "C:\\Users\\User",
}, },
{ {
name: "relative path", name: "workdir and relative path on Windows",
goos: "windows", goos: "windows",
args: args{workDir: "C:\\Users\\User", p: "file"}, args: args{workDir: cleanPath("C:\\Users\\User"), p: "file"},
want: "C:\\Users\\User\\file", want: "C:\\Users\\User\\file",
}, },
{ {
name: "relative path with .", name: "workdir and relative path with . on Windows",
goos: "windows", goos: "windows",
args: args{workDir: "C:\\Users\\User", p: "."}, args: args{workDir: cleanPath("C:\\Users\\User"), p: "."},
want: "C:\\Users\\User", want: "C:\\Users\\User",
}, },
{ {
name: "relative path with . and file", name: "workdir and relative path with . and file on Windows",
goos: "windows", goos: "windows",
args: args{workDir: "C:\\Users\\User", p: "./file"}, args: args{workDir: cleanPath("C:\\Users\\User"), p: "./file"},
want: "C:\\Users\\User\\file", want: "C:\\Users\\User\\file",
}, },
{ {
name: "absolute path", name: "workdir and absolute path on Windows",
goos: "windows", goos: "windows",
args: args{workDir: "C:\\Users\\User", p: "/C:/file"}, args: args{workDir: cleanPath("C:\\Users\\User"), p: "/C:/file"},
want: "C:\\file", want: "C:\\file",
}, },
} }
for _, tt := range tests { for _, tt := range tests {
var name string t.Run(tt.name, func(t *testing.T) {
if tt.goos == "" {
name = fmt.Sprintf("%s %s", tt.args.workDir, tt.name)
} else {
name = fmt.Sprintf("%s %s %s", tt.goos, tt.args.workDir, tt.name)
}
t.Run(name, func(t *testing.T) {
if tt.goos != "" && runtime.GOOS != tt.goos { if tt.goos != "" && runtime.GOOS != tt.goos {
t.Skipf("Skipping test for %s on %s", tt.goos, runtime.GOOS) t.Skipf("Skipping test for %s on %s", tt.goos, runtime.GOOS)
} }
workDir := cleanPath(tt.args.workDir) assert.Equal(t, tt.want, toLocalPath(tt.args.workDir, tt.args.p), "wrong local path")
assert.Equal(t, tt.want, toLocalPath(workDir, tt.args.p), "wrong local path")
}) })
} }
} }