Files
Das-OS/srcpkgs/das-tools/files/src/cmd/das-welcome/language_test.go
T
dasandClaude Opus 5.5 d1d76c2bef Stage 5: das-update and das-welcome (0.3.0)
das-tools (Go, GTK 3 via gotk3):
- das-update: update window, tray icon when updates are available,
  --cli mode; xbps-install -Su between a snapper pre/post snapshot pair,
  privileged part through pkexec, rollback and reboot hints
- das-welcome: first-login window with install (live), language,
  home folder renaming, updates, settings and help

das-settings 0.3.0: create home folders with translated names.
xdg-user-dirs 0.20 only looks for translations in the first
XDG_DATA_DIRS entry with a locale directory (/usr/local/share/locale).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 18:24:39 +03:00

30 lines
1010 B
Go

package main
import (
"reflect"
"testing"
)
func TestParseLocales(t *testing.T) {
got := parseLocales("C\nC.utf8\nPOSIX\nuk_UA.utf8\nen_US.UTF-8\nde_DE.iso88591\n")
want := []string{"en_US.UTF-8", "uk_UA.UTF-8"}
if !reflect.DeepEqual(got, want) {
t.Errorf("parseLocales = %q, want %q", got, want)
}
}
func TestSetDmrcLanguage(t *testing.T) {
tests := []struct{ in, want string }{
{"", "[Desktop]\nLanguage=en_US.UTF-8\n"},
{"[Desktop]\nSession=xfce\n", "[Desktop]\nSession=xfce\nLanguage=en_US.UTF-8\n"},
{"[Desktop]\nLanguage=uk_UA.UTF-8\nSession=xfce\n", "[Desktop]\nLanguage=en_US.UTF-8\nSession=xfce\n"},
{"[Desktop]\nSession=xfce\n[Other]\nLanguage=x\n", "[Desktop]\nSession=xfce\nLanguage=en_US.UTF-8\n[Other]\nLanguage=x\n"},
{"[Other]\nKey=1\n", "[Other]\nKey=1\n[Desktop]\nLanguage=en_US.UTF-8\n"},
}
for _, tt := range tests {
if got := setDmrcLanguage(tt.in, "en_US.UTF-8"); got != tt.want {
t.Errorf("setDmrcLanguage(%q) =\n%q\nwant\n%q", tt.in, got, tt.want)
}
}
}