[agent/codex:gpt-5.4-mini] Read ~/spec/code/core/go/i18n/RFC.md fully. Find features de... #190
2 changed files with 37 additions and 2 deletions
|
|
@ -328,10 +328,11 @@ func loadGrammarNumber(fullKey string, v map[string]any, grammar *GrammarData) b
|
|||
}
|
||||
|
||||
func isVerbFormObject(m map[string]any) bool {
|
||||
_, hasBase := m["base"]
|
||||
_, hasPast := m["past"]
|
||||
_, hasGerund := m["gerund"]
|
||||
return (hasBase || hasPast || hasGerund) && !isPluralObject(m)
|
||||
// Verb objects are identified by their inflected forms. A bare "base"
|
||||
// field is metadata, not enough to claim the object is a verb table.
|
||||
return (hasPast || hasGerund) && !isPluralObject(m)
|
||||
}
|
||||
|
||||
func isNounFormObject(m map[string]any) bool {
|
||||
|
|
|
|||
|
|
@ -328,6 +328,40 @@ func TestFlattenWithGrammar(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestFlattenWithGrammar_DetectsSchemaObjectsOutsideGrammarPaths(t *testing.T) {
|
||||
messages := make(map[string]Message)
|
||||
grammar := &GrammarData{
|
||||
Verbs: make(map[string]VerbForms),
|
||||
Words: make(map[string]string),
|
||||
}
|
||||
|
||||
raw := map[string]any{
|
||||
"lexicon": map[string]any{
|
||||
"base_only": map[string]any{
|
||||
"base": "base",
|
||||
},
|
||||
},
|
||||
"phrases": map[string]any{
|
||||
"draft": map[string]any{
|
||||
"past": "drafted",
|
||||
"gerund": "drafting",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
flattenWithGrammar("", raw, messages, grammar)
|
||||
|
||||
if _, ok := grammar.Verbs["draft"]; !ok {
|
||||
t.Fatal("verb schema object outside gram.verb.* was not extracted")
|
||||
}
|
||||
if _, ok := messages["phrases.draft"]; ok {
|
||||
t.Fatal("verb schema object should not be flattened into messages")
|
||||
}
|
||||
if _, ok := grammar.Verbs["base_only"]; ok {
|
||||
t.Fatal("base-only object should not be detected as a verb table")
|
||||
}
|
||||
}
|
||||
|
||||
func TestMergeGrammarData(t *testing.T) {
|
||||
const lang = "zz"
|
||||
original := GetGrammarData(lang)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue