mirror of
https://github.com/gogs/gogs.git
synced 2025-12-22 00:00:07 +01:00
pathutil: check both styles of os.PathSeparator (#7020)
This commit is contained in:
@@ -12,38 +12,69 @@ import (
|
||||
|
||||
func TestClean(t *testing.T) {
|
||||
tests := []struct {
|
||||
path string
|
||||
expVal string
|
||||
path string
|
||||
wantVal string
|
||||
}{
|
||||
{
|
||||
path: "../../../readme.txt",
|
||||
expVal: "readme.txt",
|
||||
path: "../../../readme.txt",
|
||||
wantVal: "readme.txt",
|
||||
},
|
||||
{
|
||||
path: "a/../../../readme.txt",
|
||||
expVal: "readme.txt",
|
||||
path: "a/../../../readme.txt",
|
||||
wantVal: "readme.txt",
|
||||
},
|
||||
{
|
||||
path: "/../a/b/../c/../readme.txt",
|
||||
expVal: "a/readme.txt",
|
||||
path: "/../a/b/../c/../readme.txt",
|
||||
wantVal: "a/readme.txt",
|
||||
},
|
||||
{
|
||||
path: "/a/readme.txt",
|
||||
expVal: "a/readme.txt",
|
||||
path: "/a/readme.txt",
|
||||
wantVal: "a/readme.txt",
|
||||
},
|
||||
{
|
||||
path: "/",
|
||||
expVal: "",
|
||||
path: "/",
|
||||
wantVal: "",
|
||||
},
|
||||
|
||||
{
|
||||
path: "/a/b/c/readme.txt",
|
||||
expVal: "a/b/c/readme.txt",
|
||||
path: "/a/b/c/readme.txt",
|
||||
wantVal: "a/b/c/readme.txt",
|
||||
},
|
||||
|
||||
// Windows-specific
|
||||
{
|
||||
path: `..\..\..\readme.txt`,
|
||||
wantVal: "readme.txt",
|
||||
},
|
||||
{
|
||||
path: `a\..\..\..\readme.txt`,
|
||||
wantVal: "readme.txt",
|
||||
},
|
||||
{
|
||||
path: `\..\a\b\..\c\..\readme.txt`,
|
||||
wantVal: "a/readme.txt",
|
||||
},
|
||||
{
|
||||
path: `\a\readme.txt`,
|
||||
wantVal: "a/readme.txt",
|
||||
},
|
||||
{
|
||||
path: `..\..\..\../README.md`,
|
||||
wantVal: "README.md",
|
||||
},
|
||||
{
|
||||
path: `\`,
|
||||
wantVal: "",
|
||||
},
|
||||
|
||||
{
|
||||
path: `\a\b\c\readme.txt`,
|
||||
wantVal: `a/b/c/readme.txt`,
|
||||
},
|
||||
}
|
||||
for _, test := range tests {
|
||||
t.Run("", func(t *testing.T) {
|
||||
assert.Equal(t, test.expVal, Clean(test.path))
|
||||
t.Run(test.path, func(t *testing.T) {
|
||||
assert.Equal(t, test.wantVal, Clean(test.path))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user