chore: import clean Agent Desk snapshot (1/7)
This commit is contained in:
25
cmd/testdata/seedlang/language.go
vendored
Normal file
25
cmd/testdata/seedlang/language.go
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
package seedlang
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type Language string
|
||||
|
||||
const (
|
||||
Chinese Language = "zh"
|
||||
English Language = "en"
|
||||
)
|
||||
|
||||
func Parse(raw string) (Language, error) {
|
||||
normalized := strings.ToLower(strings.TrimSpace(raw))
|
||||
switch normalized {
|
||||
case "", "zh", "zh-cn", "chinese":
|
||||
return Chinese, nil
|
||||
case "en", "en-us", "english":
|
||||
return English, nil
|
||||
default:
|
||||
return "", fmt.Errorf("unsupported testdata language %q, supported: zh, en", raw)
|
||||
}
|
||||
}
|
||||
31
cmd/testdata/seedlang/language_test.go
vendored
Normal file
31
cmd/testdata/seedlang/language_test.go
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
package seedlang
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestParseDefaultsToChinese(t *testing.T) {
|
||||
lang, err := Parse("")
|
||||
if err != nil {
|
||||
t.Fatalf("Parse empty returned error: %v", err)
|
||||
}
|
||||
if lang != Chinese {
|
||||
t.Fatalf("Parse empty = %q, want %q", lang, Chinese)
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseEnglishAliases(t *testing.T) {
|
||||
for _, raw := range []string{"en", "EN", "english", "English"} {
|
||||
lang, err := Parse(raw)
|
||||
if err != nil {
|
||||
t.Fatalf("Parse(%q) returned error: %v", raw, err)
|
||||
}
|
||||
if lang != English {
|
||||
t.Fatalf("Parse(%q) = %q, want %q", raw, lang, English)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseRejectsUnsupportedLanguage(t *testing.T) {
|
||||
if _, err := Parse("fr"); err == nil {
|
||||
t.Fatal("Parse unsupported language returned nil error")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user