mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-06-29 04:01:23 +08:00
- 提交 internal/db 多驱动用户可见错误与状态文案多语言化 - 补齐数据库驱动多语言测试与六语言 catalog - 修复 frontend i18n catalog 的 4 个失效 guard
50 lines
1.5 KiB
Go
50 lines
1.5 KiB
Go
//go:build gonavi_full_drivers || gonavi_tdengine_driver
|
|
|
|
package db
|
|
|
|
import (
|
|
"os"
|
|
"strings"
|
|
"testing"
|
|
|
|
"GoNavi-Wails/shared/i18n"
|
|
)
|
|
|
|
var rawTDengineAllColumnsDatabaseRequiredText = string([]rune{0x83b7, 0x53d6, 0x5168, 0x90e8, 0x5217, 0x4fe1, 0x606f, 0x9700, 0x8981, 0x6307, 0x5b9a, 0x6570, 0x636e, 0x5e93, 0x540d, 0x79f0})
|
|
|
|
func TestTDengineGetAllColumnsDatabaseRequiredUsesCurrentLanguage(t *testing.T) {
|
|
SetBackendLanguage(i18n.LanguageEnUS)
|
|
t.Cleanup(func() {
|
|
SetBackendLanguage(i18n.LanguageZhCN)
|
|
})
|
|
|
|
tdengineDB := &TDengineDB{}
|
|
|
|
_, err := tdengineDB.GetAllColumns(" ")
|
|
if err == nil {
|
|
t.Fatal("expected TDengine GetAllColumns to fail")
|
|
}
|
|
if err.Error() != "Database name is required" {
|
|
t.Fatalf("expected English database-name error, got %q", err.Error())
|
|
}
|
|
if strings.Contains(err.Error(), rawTDengineAllColumnsDatabaseRequiredText) {
|
|
t.Fatalf("expected no raw Chinese database-name text, got %q", err.Error())
|
|
}
|
|
}
|
|
|
|
func TestTDengineGetAllColumnsDatabaseRequiredSourceUsesI18nKey(t *testing.T) {
|
|
sourceBytes, err := os.ReadFile("tdengine_impl.go")
|
|
if err != nil {
|
|
t.Fatalf("read tdengine_impl.go: %v", err)
|
|
}
|
|
source := string(sourceBytes)
|
|
|
|
rawMessage := `fmt.Errorf("` + rawTDengineAllColumnsDatabaseRequiredText + `")`
|
|
if strings.Contains(source, rawMessage) {
|
|
t.Fatalf("tdengine_impl.go still contains raw database-name text %q", rawMessage)
|
|
}
|
|
if !strings.Contains(source, "db.backend.error.database_name_required") {
|
|
t.Fatal("tdengine_impl.go does not reference db.backend.error.database_name_required")
|
|
}
|
|
}
|