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:
@@ -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)
|
||||
|
||||
@@ -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"}`},
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user