Files
gonic/server/ctrlsubsonic/params/params_test.go
2020-06-06 18:13:45 +01:00

62 lines
1.9 KiB
Go

package params
import (
"errors"
"testing"
)
func TestParseID(t *testing.T) {
tcases := []struct {
param string
expType IDType
expValue int
expErr error
}{
{param: "al-45", expType: IDTypeAlbum, expValue: 45},
{param: "ar-2", expType: IDTypeArtist, expValue: 2},
{param: "tr-43", expType: IDTypeTrack, expValue: 43},
{param: "xx-1", expErr: ErrIDInvalid},
{param: "al-howdy", expErr: ErrIDNotAnInt},
}
for _, tcase := range tcases {
t.Run(tcase.param, func(t *testing.T) {
act, err := parseID(tcase.param)
if err != nil && !errors.Is(err, tcase.expErr) {
t.Fatalf("expected err %q, got %q", tcase.expErr, err)
}
if act.Value != tcase.expValue {
t.Errorf("expected value %d, got %d", tcase.expValue, act.Value)
}
if act.Type != tcase.expType {
t.Errorf("expected type %v, got %v", tcase.expType, act.Type)
}
})
}
}
// TODO?
func TestGet(t *testing.T) {}
func TestGetFirst(t *testing.T) {}
func TestGetOr(t *testing.T) {}
func TestGetList(t *testing.T) {}
func TestGetFirstList(t *testing.T) {}
func TestGetOrList(t *testing.T) {}
func TestGetInt(t *testing.T) {}
func TestGetFirstInt(t *testing.T) {}
func TestGetOrInt(t *testing.T) {}
func TestGetIntList(t *testing.T) {}
func TestGetFirstIntList(t *testing.T) {}
func TestGetOrIntList(t *testing.T) {}
func TestGetID(t *testing.T) {}
func TestGetFirstID(t *testing.T) {}
func TestGetOrID(t *testing.T) {}
func TestGetIDList(t *testing.T) {}
func TestGetFirstIDList(t *testing.T) {}
func TestGetOrIDList(t *testing.T) {}
func TestGetBool(t *testing.T) {}
func TestGetFirstBool(t *testing.T) {}
func TestGetOrBool(t *testing.T) {}
func TestGetBoolList(t *testing.T) {}
func TestGetFirstBoolList(t *testing.T) {}
func TestGetOrBoolList(t *testing.T) {}