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) } } }