Stabilize the tray icon and locale handling on Windows while aligning provider and alias management panels with the refreshed desktop branding.
48 lines
1.2 KiB
Go
48 lines
1.2 KiB
Go
//go:build desktop_wails
|
|
|
|
package desktop
|
|
|
|
import "testing"
|
|
|
|
func TestTrayLanguageHonorsExplicitPreference(t *testing.T) {
|
|
original := systemTrayLanguage
|
|
systemTrayLanguage = func() string { return "en-US" }
|
|
t.Cleanup(func() { systemTrayLanguage = original })
|
|
|
|
t.Setenv("LC_ALL", "")
|
|
t.Setenv("LANG", "")
|
|
t.Setenv("LANGUAGE", "")
|
|
|
|
if got := trayLanguage("zh-CN"); got != "zh-CN" {
|
|
t.Fatalf("trayLanguage(zh-CN) = %q, want zh-CN", got)
|
|
}
|
|
}
|
|
|
|
func TestTrayLanguageUsesSystemLanguageBeforeEnv(t *testing.T) {
|
|
original := systemTrayLanguage
|
|
systemTrayLanguage = func() string { return "zh-CN" }
|
|
t.Cleanup(func() { systemTrayLanguage = original })
|
|
|
|
t.Setenv("LC_ALL", "en_US.UTF-8")
|
|
t.Setenv("LANG", "")
|
|
t.Setenv("LANGUAGE", "")
|
|
|
|
if got := trayLanguage("system"); got != "zh-CN" {
|
|
t.Fatalf("trayLanguage(system) = %q, want zh-CN", got)
|
|
}
|
|
}
|
|
|
|
func TestTrayLanguageFallsBackToEnv(t *testing.T) {
|
|
original := systemTrayLanguage
|
|
systemTrayLanguage = func() string { return "" }
|
|
t.Cleanup(func() { systemTrayLanguage = original })
|
|
|
|
t.Setenv("LC_ALL", "")
|
|
t.Setenv("LANG", "zh_CN.UTF-8")
|
|
t.Setenv("LANGUAGE", "")
|
|
|
|
if got := trayLanguage("system"); got != "zh-CN" {
|
|
t.Fatalf("trayLanguage(system) = %q, want zh-CN", got)
|
|
}
|
|
}
|