github.com/pavlo67/common@v0.5.3/common/filelib/path_test.go (about) 1 package filelib 2 3 import "testing" 4 5 func TestJoin(t *testing.T) { 6 tests := []struct { 7 name string 8 basePath string 9 path string 10 want string 11 }{ 12 { 13 name: "", 14 basePath: "/a/b/c", 15 path: "d", 16 want: "/a/b/c/d", 17 }, 18 { 19 name: "", 20 basePath: "/a/b/c", 21 path: "../d", 22 want: "/a/b/d", 23 }, 24 { 25 name: "", 26 basePath: "/a/b/c", 27 path: "/d", 28 want: "/d", 29 }, 30 { 31 name: "", 32 basePath: "/a/b/c", 33 path: "d/", 34 want: "/a/b/c/d", 35 }, 36 { 37 name: "", 38 basePath: "/a/b/c", 39 path: "..", 40 want: "/a/b", 41 }, 42 { 43 name: "", 44 basePath: "/a/b/c", 45 path: "", 46 want: "/a/b/c", 47 }, 48 } 49 for _, tt := range tests { 50 t.Run(tt.name, func(t *testing.T) { 51 if got := Join(tt.basePath, tt.path); got != tt.want { 52 t.Errorf("Join() = %v, want %v", got, tt.want) 53 } 54 }) 55 } 56 }