package deeplink import "testing" func TestBuildAndParse(t *testing.T) { cases := []struct { name string param string wantKind Kind wantValue string }{ {"game", Game("7c9e6679-7425-40de-944b-e07fc1f90ae7"), KindGame, "7c9e6679-7425-40de-944b-e07fc1f90ae7"}, {"invitation", Invitation("11111111-2222-3333-4444-555555555555"), KindInvitation, "11111111-2222-3333-4444-555555555555"}, {"friend code", FriendCode("123456"), KindFriendCode, "123456"}, {"empty is lobby", "", KindLobby, ""}, {"unknown is lobby", "x-nope", KindLobby, ""}, } for _, tc := range cases { t.Run(tc.name, func(t *testing.T) { gotKind, gotValue := Parse(tc.param) if gotKind != tc.wantKind { t.Errorf("kind = %d, want %d", gotKind, tc.wantKind) } if gotValue != tc.wantValue { t.Errorf("value = %q, want %q", gotValue, tc.wantValue) } }) } } func TestBuildPrefixes(t *testing.T) { if Game("x") != "gx" { t.Errorf("Game = %q, want gx", Game("x")) } if Invitation("x") != "ix" { t.Errorf("Invitation = %q, want ix", Invitation("x")) } if FriendCode("123456") != "f123456" { t.Errorf("FriendCode = %q, want f123456", FriendCode("123456")) } }