From 487d897450ba407866b9e36d87000f8f45c145ce Mon Sep 17 00:00:00 2001 From: Virgil Date: Thu, 2 Apr 2026 07:46:10 +0000 Subject: [PATCH] refactor(i18n): sort available language output Co-Authored-By: Virgil --- service.go | 1 + service_test.go | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/service.go b/service.go index 31c6978..f53b38e 100644 --- a/service.go +++ b/service.go @@ -289,6 +289,7 @@ func (s *Service) AvailableLanguages() []string { for i, tag := range s.availableLangs { langs[i] = tag.String() } + slices.Sort(langs) return langs } diff --git a/service_test.go b/service_test.go index c36d2a5..add6cb0 100644 --- a/service_test.go +++ b/service_test.go @@ -6,6 +6,7 @@ import ( "time" "dappco.re/go/core" + "slices" ) type messageBaseFallbackLoader struct{} @@ -77,6 +78,17 @@ func TestNewService(t *testing.T) { } } +func TestServiceAvailableLanguagesSorted(t *testing.T) { + svc, err := NewWithLoader(messageBaseFallbackLoader{}) + if err != nil { + t.Fatalf("NewWithLoader() failed: %v", err) + } + + if got, want := svc.AvailableLanguages(), []string{"en", "en-GB", "fr"}; !slices.Equal(got, want) { + t.Fatalf("AvailableLanguages() = %v, want %v", got, want) + } +} + func TestServiceT(t *testing.T) { svc, err := New() if err != nil { -- 2.45.3