[agent/codex:gpt-5.4-mini] Read ~/spec/code/core/go/i18n/RFC.md fully. Find features de... #197
3 changed files with 44 additions and 0 deletions
10
i18n.go
10
i18n.go
|
|
@ -273,6 +273,16 @@ func ClearHandlers() {
|
|||
withDefaultService(func(svc *Service) { svc.ClearHandlers() })
|
||||
}
|
||||
|
||||
// ResetHandlers restores the built-in default handler chain on the default
|
||||
// service.
|
||||
//
|
||||
// Example:
|
||||
//
|
||||
// i18n.ResetHandlers()
|
||||
func ResetHandlers() {
|
||||
withDefaultService(func(svc *Service) { svc.ResetHandlers() })
|
||||
}
|
||||
|
||||
func executeIntentTemplate(tmplStr string, data templateData) string {
|
||||
if tmplStr == "" {
|
||||
return ""
|
||||
|
|
|
|||
27
i18n_test.go
27
i18n_test.go
|
|
@ -401,6 +401,33 @@ func TestClearHandlers_Good(t *testing.T) {
|
|||
assert.Empty(t, svc.Handlers())
|
||||
}
|
||||
|
||||
func TestResetHandlers_Good(t *testing.T) {
|
||||
svc, err := New()
|
||||
require.NoError(t, err)
|
||||
_ = Init()
|
||||
prev := Default()
|
||||
SetDefault(svc)
|
||||
t.Cleanup(func() {
|
||||
SetDefault(prev)
|
||||
})
|
||||
|
||||
ClearHandlers()
|
||||
require.Empty(t, svc.Handlers())
|
||||
|
||||
svc.ResetHandlers()
|
||||
require.Len(t, svc.Handlers(), len(DefaultHandlers()))
|
||||
assert.IsType(t, LabelHandler{}, svc.Handlers()[0])
|
||||
|
||||
ClearHandlers()
|
||||
require.Empty(t, svc.Handlers())
|
||||
|
||||
ResetHandlers()
|
||||
handlers := svc.Handlers()
|
||||
require.Len(t, handlers, len(DefaultHandlers()))
|
||||
assert.IsType(t, LabelHandler{}, handlers[0])
|
||||
assert.Equal(t, "Status:", T("i18n.label.status"))
|
||||
}
|
||||
|
||||
func TestSetHandlers_Good(t *testing.T) {
|
||||
svc, err := New()
|
||||
require.NoError(t, err)
|
||||
|
|
|
|||
|
|
@ -448,6 +448,13 @@ func (s *Service) ClearHandlers() {
|
|||
s.handlers = nil
|
||||
}
|
||||
|
||||
// ResetHandlers restores the built-in default handler chain.
|
||||
func (s *Service) ResetHandlers() {
|
||||
s.mu.Lock()
|
||||
defer s.mu.Unlock()
|
||||
s.handlers = DefaultHandlers()
|
||||
}
|
||||
|
||||
func (s *Service) Handlers() []KeyHandler {
|
||||
s.mu.RLock()
|
||||
defer s.mu.RUnlock()
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue