[agent/codex:gpt-5.4-mini] Read ~/spec/code/core/go/i18n/RFC.md fully. Find ONE feature... #90
2 changed files with 33 additions and 2 deletions
5
hooks.go
5
hooks.go
|
|
@ -66,6 +66,11 @@ func OnMissingKey(h MissingKeyHandler) {
|
|||
missingKeyHandler.Store(missingKeyHandlersState{handlers: []MissingKeyHandler{h}})
|
||||
}
|
||||
|
||||
// ClearMissingKeyHandlers removes all registered missing-key handlers.
|
||||
func ClearMissingKeyHandlers() {
|
||||
missingKeyHandler.Store(missingKeyHandlersState{})
|
||||
}
|
||||
|
||||
// AddMissingKeyHandler appends a missing-key handler without replacing any
|
||||
// existing handlers.
|
||||
func AddMissingKeyHandler(h MissingKeyHandler) {
|
||||
|
|
|
|||
|
|
@ -279,14 +279,16 @@ func TestAddMissingKeyHandler_Good(t *testing.T) {
|
|||
require.NoError(t, err)
|
||||
prev := Default()
|
||||
SetDefault(svc)
|
||||
prevHandlers := missingKeyHandlers()
|
||||
t.Cleanup(func() {
|
||||
missingKeyHandler.Store(prevHandlers)
|
||||
SetDefault(prev)
|
||||
})
|
||||
svc.SetMode(ModeCollect)
|
||||
|
||||
OnMissingKey(nil)
|
||||
ClearMissingKeyHandlers()
|
||||
t.Cleanup(func() {
|
||||
OnMissingKey(nil)
|
||||
ClearMissingKeyHandlers()
|
||||
})
|
||||
|
||||
var first, second int
|
||||
|
|
@ -303,6 +305,30 @@ func TestAddMissingKeyHandler_Good(t *testing.T) {
|
|||
assert.Equal(t, 1, second)
|
||||
}
|
||||
|
||||
func TestClearMissingKeyHandlers_Good(t *testing.T) {
|
||||
svc, err := New()
|
||||
require.NoError(t, err)
|
||||
prev := Default()
|
||||
SetDefault(svc)
|
||||
prevHandlers := missingKeyHandlers()
|
||||
t.Cleanup(func() {
|
||||
missingKeyHandler.Store(prevHandlers)
|
||||
SetDefault(prev)
|
||||
})
|
||||
svc.SetMode(ModeCollect)
|
||||
|
||||
var called int
|
||||
AddMissingKeyHandler(func(MissingKey) {
|
||||
called++
|
||||
})
|
||||
|
||||
ClearMissingKeyHandlers()
|
||||
|
||||
_ = T("missing.after.clear")
|
||||
|
||||
assert.Equal(t, 0, called)
|
||||
}
|
||||
|
||||
func TestOnMissingKey_Good_SubjectArgs(t *testing.T) {
|
||||
svc, err := New()
|
||||
require.NoError(t, err)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue