package vote import ( "testing" "github.com/stretchr/testify/assert" "github.com/tamakyi/TamaBox/internal/db" ) // 投票链接是发布者对外分享的内容:语言必须跟着发布者走,否则中文箱主分享出去的 // 投票页会变成站点默认语言,访客看到的语言和内容对不上。 func TestApplyOwnerLocale(t *testing.T) { data := map[string]interface{}{"Lang": "en", "LangCode": "en"} applyOwnerLocale(data, &db.User{Language: "ja"}) assert.Equal(t, "ja", data["Lang"]) assert.Equal(t, "ja", data["LangCode"]) // 发布者没配语言:保留 Contexter 解析出的访客/站点默认值,不要清空 fallback := map[string]interface{}{"Lang": "en", "LangCode": "en"} applyOwnerLocale(fallback, &db.User{Language: ""}) assert.Equal(t, "en", fallback["LangCode"]) }