pay/internal/urlutil/shift_path_test.go

37 lines
785 B
Go

package urlutil_test
import (
"testing"
"source.toby3d.me/toby3d/pay/internal/urlutil"
)
func TestShiftPath(t *testing.T) {
t.Parallel()
for name, tc := range map[string]struct {
input, expectHead, expectTail string
}{
"root": {"/", "", "/"},
"file": {"/foo", "foo", "/"},
"dir": {"/foo/", "foo", "/"},
"dir-file": {"/foo/bar", "foo", "/bar"},
"subdir": {"/foo/bar/", "foo", "/bar"},
} {
name, tc := name, tc
t.Run(name, func(t *testing.T) {
t.Parallel()
head, tail := urlutil.ShiftPath(tc.input)
if head != tc.expectHead {
t.Errorf("ShiftPath(%s) = '%s', want '%s'", tc.input, head, tc.expectHead)
}
if tail != tc.expectTail {
t.Errorf("ShiftPath(%s) = '%s', want '%s'", tc.input, tail, tc.expectTail)
}
})
}
}