[agent/codex:gpt-5.4-mini] Read ~/spec/code/core/go/i18n/RFC.md fully. Find ONE feature... #87
2 changed files with 36 additions and 1 deletions
8
hooks.go
8
hooks.go
|
|
@ -66,7 +66,9 @@ func OnMissingKey(h MissingKeyHandler) {
|
|||
missingKeyHandler.Store(missingKeyHandlersState{handlers: []MissingKeyHandler{h}})
|
||||
}
|
||||
|
||||
func appendMissingKeyHandler(h MissingKeyHandler) {
|
||||
// AddMissingKeyHandler appends a missing-key handler without replacing any
|
||||
// existing handlers.
|
||||
func AddMissingKeyHandler(h MissingKeyHandler) {
|
||||
if h == nil {
|
||||
return
|
||||
}
|
||||
|
|
@ -75,6 +77,10 @@ func appendMissingKeyHandler(h MissingKeyHandler) {
|
|||
missingKeyHandler.Store(current)
|
||||
}
|
||||
|
||||
func appendMissingKeyHandler(h MissingKeyHandler) {
|
||||
AddMissingKeyHandler(h)
|
||||
}
|
||||
|
||||
func missingKeyHandlers() missingKeyHandlersState {
|
||||
v := missingKeyHandler.Load()
|
||||
if v == nil {
|
||||
|
|
|
|||
|
|
@ -274,6 +274,35 @@ func TestOnMissingKey_Good(t *testing.T) {
|
|||
assert.Equal(t, "hooks_test.go", filepath.Base(captured.CallerFile))
|
||||
}
|
||||
|
||||
func TestAddMissingKeyHandler_Good(t *testing.T) {
|
||||
svc, err := New()
|
||||
require.NoError(t, err)
|
||||
prev := Default()
|
||||
SetDefault(svc)
|
||||
t.Cleanup(func() {
|
||||
SetDefault(prev)
|
||||
})
|
||||
svc.SetMode(ModeCollect)
|
||||
|
||||
OnMissingKey(nil)
|
||||
t.Cleanup(func() {
|
||||
OnMissingKey(nil)
|
||||
})
|
||||
|
||||
var first, second int
|
||||
AddMissingKeyHandler(func(MissingKey) {
|
||||
first++
|
||||
})
|
||||
AddMissingKeyHandler(func(MissingKey) {
|
||||
second++
|
||||
})
|
||||
|
||||
_ = T("missing.multiple.handlers")
|
||||
|
||||
assert.Equal(t, 1, first)
|
||||
assert.Equal(t, 1, second)
|
||||
}
|
||||
|
||||
func TestOnMissingKey_Good_SubjectArgs(t *testing.T) {
|
||||
svc, err := New()
|
||||
require.NoError(t, err)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue