diff options
Diffstat (limited to 'internal/pathutil/pathutil_test.go')
-rw-r--r-- | internal/pathutil/pathutil_test.go | 63 |
1 files changed, 47 insertions, 16 deletions
diff --git a/internal/pathutil/pathutil_test.go b/internal/pathutil/pathutil_test.go index eb8cc176..d20e537a 100644 --- a/internal/pathutil/pathutil_test.go +++ b/internal/pathutil/pathutil_test.go @@ -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)) }) } } |