Tests: fake:"-" leaves an embedded struct unfilled, a leading / is refused naming the path, and a name may not be -

This commit is contained in:
2026-09-15 17:11:10 +02:00
parent e6bd4c5972
commit 7cb6928995
3 changed files with 12 additions and 0 deletions
+1
View File
@@ -181,6 +181,7 @@ func TestIsTemplate(t *testing.T) {
"{/sv_SE.person.last}": "{/sv_SE.person.last} is the path sv_SE.person.last written as a template; write sv_SE.person.last",
`"{/sv_SE.person}"`: "write sv_SE.person",
"{.person.last}": "write person.last",
"/sv_SE.person": "write sv_SE.person",
} {
if _, err := IsTemplate(arg); err == nil || !strings.Contains(err.Error(), want) {
t.Errorf("IsTemplate(%q) = %v; want it rejected naming %s", arg, err, want)
+4
View File
@@ -298,6 +298,10 @@ func TestNewErrors(t *testing.T) {
map[string]string{"a(b/cat": `"1"`},
`folder "a(b" contains "("`,
},
"field name a struct tag reserves": {
map[string]string{"a": `{"format":"{x}","x":"1","-":"2"}`},
`field "-" is reserved`,
},
// A repeated arm skews an alternation, which weight is the spelling for.
"repeated alternation arm": {
map[string]string{"a": `{"format":"{x|x}","x":"1"}`},
+7
View File
@@ -106,6 +106,13 @@ func TestFakeStructFillsEmbeddedFieldsIntoItsRecord(t *testing.T) {
t.Fatalf("%+v, %+v: want the promoted fields one person with the struct's own, the embedded pointer allocated", e, e.StructFamily)
}
}
var skipped struct {
structGiven `fake:"-"`
Email string `fake:"{lowercase(/person.first)}@example.com"`
}
if err := f.FakeStruct(&skipped); err != nil || skipped.First != "" || skipped.Email == "" {
t.Errorf("FakeStruct = %v, %+v; want the embedded struct under fake:\"-\" left unfilled beside the filled field", err, skipped)
}
}
func TestFakeStructDrawsANestedStructApart(t *testing.T) {