2026-06-17 23:13:08 +08:00

57 lines
1.5 KiB
Go

package appconfig
import "testing"
func TestNormalizeBannerDisplayScopeAcceptsChineseLabels(t *testing.T) {
cases := map[string]string{
"": "home",
"首页": "home",
"房间内": "room",
"充值页": "recharge",
"我的页": "me",
"ME": "me",
"ROOM": "room",
"bad": "",
}
for input, want := range cases {
if got := NormalizeBannerDisplayScope(input); got != want {
t.Fatalf("scope %q mismatch: got %q want %q", input, got, want)
}
}
}
func TestBannerDisplayScopeListParsesMultiScopeValue(t *testing.T) {
got := bannerDisplayScopeList("room,home,recharge,me")
want := []string{"home", "room", "recharge", "me"}
if len(got) != len(want) {
t.Fatalf("scope count mismatch: got %+v want %+v", got, want)
}
for index := range want {
if got[index] != want[index] {
t.Fatalf("scope %d mismatch: got %+v want %+v", index, got, want)
}
}
}
func TestParseRoomRegionWhitelistSupportsObjectAndArrayPayloads(t *testing.T) {
cases := []string{
`{"user_ids":["325379237278126080","1001","1001","0","bad"]}`,
`["325379237278126080","1001","1001","0","bad"]`,
}
for _, input := range cases {
got, err := parseRoomRegionWhitelist(input)
if err != nil {
t.Fatalf("parse whitelist %s failed: %v", input, err)
}
if _, ok := got[325379237278126080]; !ok {
t.Fatalf("long user id missing: %+v", got)
}
if _, ok := got[1001]; !ok {
t.Fatalf("small user id missing: %+v", got)
}
if _, ok := got[0]; ok {
t.Fatalf("zero user id must be ignored: %+v", got)
}
}
}