mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-08-10 00:33:28 +08:00
- 移除 99 个仅读取同包 .go 源码做字符串包含断言的测试函数,共 3746 行 - 判据为函数内出现 os.ReadFile 读取 .go 文件且剥离字符串字面量后不调用任何生产代码 - 保留 2 个同时调用生产接口的测试函数,清理 45 个文件中失去引用的 import - go build、go vet 通过,测试失败集合由 40 项减至 39 项且无新增,减少项为已长期失败的墓碑用例
68 lines
1.4 KiB
Go
68 lines
1.4 KiB
Go
package db
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
"GoNavi-Wails/shared/i18n"
|
|
)
|
|
|
|
var rawPostgresTableNameRequiredText = string([]rune{0x8868, 0x540d, 0x4e0d, 0x80fd, 0x4e3a, 0x7a7a})
|
|
|
|
func TestPostgresMetadataErrorsUseCurrentLanguage(t *testing.T) {
|
|
SetBackendLanguage(i18n.LanguageEnUS)
|
|
t.Cleanup(func() {
|
|
SetBackendLanguage(i18n.LanguageZhCN)
|
|
})
|
|
|
|
postgres := &PostgresDB{}
|
|
tests := []struct {
|
|
name string
|
|
call func() error
|
|
}{
|
|
{
|
|
name: "columns table name required",
|
|
call: func() error {
|
|
_, err := postgres.GetColumns("", " ")
|
|
return err
|
|
},
|
|
},
|
|
{
|
|
name: "indexes table name required",
|
|
call: func() error {
|
|
_, err := postgres.GetIndexes("", " ")
|
|
return err
|
|
},
|
|
},
|
|
{
|
|
name: "foreign keys table name required",
|
|
call: func() error {
|
|
_, err := postgres.GetForeignKeys("", " ")
|
|
return err
|
|
},
|
|
},
|
|
{
|
|
name: "triggers table name required",
|
|
call: func() error {
|
|
_, err := postgres.GetTriggers("", " ")
|
|
return err
|
|
},
|
|
},
|
|
}
|
|
|
|
for _, tc := range tests {
|
|
t.Run(tc.name, func(t *testing.T) {
|
|
err := tc.call()
|
|
if err == nil {
|
|
t.Fatal("expected PostgreSQL metadata call 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(), rawPostgresTableNameRequiredText) {
|
|
t.Fatalf("expected no raw Chinese PostgreSQL metadata text, got %q", err.Error())
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|