26 lines
821 B
Go
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"])
|
|
}
|