Files
tamabox/route/vote/locale_test.go
T
2026-10-19 16:46:42 +08:00

26 lines
821 B
Go

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"])
}