Files
MyGoNavi/internal/db/iris_i18n_test.go
Syngnat 88b427c41a 🔥 remove(go-test): 删除后端读取源码文本断言的测试函数
- 移除 99 个仅读取同包 .go 源码做字符串包含断言的测试函数,共 3746 行
- 判据为函数内出现 os.ReadFile 读取 .go 文件且剥离字符串字面量后不调用任何生产代码
- 保留 2 个同时调用生产接口的测试函数,清理 45 个文件中失去引用的 import
- go build、go vet 通过,测试失败集合由 40 项减至 39 项且无新增,减少项为已长期失败的墓碑用例
2026-07-26 21:37:22 +08:00

57 lines
1.4 KiB
Go

//go:build gonavi_full_drivers || gonavi_iris_driver
package db
import (
"strings"
"testing"
"GoNavi-Wails/shared/i18n"
)
var rawIRISTableNameRequiredText = string([]rune{0x8868, 0x540d, 0x4e0d, 0x80fd, 0x4e3a, 0x7a7a})
func TestIRISTableRefErrorsUseCurrentLanguage(t *testing.T) {
SetBackendLanguage(i18n.LanguageEnUS)
t.Cleanup(func() {
SetBackendLanguage(i18n.LanguageZhCN)
})
tests := []struct {
name string
raw string
}{
{name: "empty table", raw: " "},
{name: "empty qualified table", raw: `"APP". `},
}
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
_, err := parseIRISTableRef("USER", tc.raw)
if err == nil {
t.Fatal("expected IRIS table reference parsing to fail")
}
if err.Error() != "Table name is required" {
t.Fatalf("expected English table-name-required error, got %q", err.Error())
}
if strings.Contains(err.Error(), rawIRISTableNameRequiredText) {
t.Fatalf("expected no raw Chinese table-name-required text, got %q", err.Error())
}
})
}
}
func TestIRISTableNameRequiredCatalogKeysExist(t *testing.T) {
catalogs, err := i18n.LoadCatalogs()
if err != nil {
t.Fatalf("LoadCatalogs() error = %v", err)
}
for _, language := range i18n.SupportedLanguages() {
catalog := catalogs[language]
if strings.TrimSpace(catalog["db.backend.error.table_name_required"]) == "" {
t.Fatalf("%s catalog missing IRIS table-name-required key", language)
}
}
}