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>
30 lines
1010 B
Go
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)
|
|
}
|
|
}
|
|
}
|