[agent/codex:gpt-5.4-mini] Read ~/spec/code/core/go/i18n/RFC.md fully. Find ONE feature... #97

Merged
Virgil merged 1 commit from agent/read---spec-code-core-go-i18n-rfc-md-ful into dev 2026-04-02 03:15:13 +00:00
2 changed files with 39 additions and 0 deletions

View file

@ -104,6 +104,35 @@ func TestRegisterLocales_Good_WithInitializedDefaultService(t *testing.T) {
assert.Equal(t, "loaded immediately", got)
}
func TestSetDefault_Good_LoadsQueuedRegisteredLocales(t *testing.T) {
registeredLocalesMu.Lock()
savedLocales := registeredLocales
savedLoaded := localesLoaded
registeredLocales = nil
localesLoaded = false
registeredLocalesMu.Unlock()
defer func() {
registeredLocalesMu.Lock()
registeredLocales = savedLocales
localesLoaded = savedLoaded
registeredLocalesMu.Unlock()
}()
fs := fstest.MapFS{
"locales/en.json": &fstest.MapFile{
Data: []byte(`{"queued.registration": "loaded via setdefault"}`),
},
}
RegisterLocales(fs, "locales")
svc, err := New()
require.NoError(t, err)
SetDefault(svc)
got := svc.T("queued.registration")
assert.Equal(t, "loaded via setdefault", got)
}
func TestInit_LoadsRegisteredLocales(t *testing.T) {
// Save and restore global service state.
registeredLocalesMu.Lock()

View file

@ -184,6 +184,16 @@ func Default() *Service {
// Passing nil clears the default service.
func SetDefault(s *Service) {
defaultService.Store(s)
if s == nil {
return
}
registeredLocalesMu.Lock()
loaded := localesLoaded
hasRegistrations := len(registeredLocales) > 0
registeredLocalesMu.Unlock()
if !loaded && hasRegistrations {
loadRegisteredLocales(s)
}
}
// AddLoader loads translations from a Loader into the default service.