Struct-filling #14
@@ -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.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",
|
`"{/sv_SE.person}"`: "write sv_SE.person",
|
||||||
"{.person.last}": "write person.last",
|
"{.person.last}": "write person.last",
|
||||||
|
"/sv_SE.person": "write sv_SE.person",
|
||||||
} {
|
} {
|
||||||
if _, err := IsTemplate(arg); err == nil || !strings.Contains(err.Error(), want) {
|
if _, err := IsTemplate(arg); err == nil || !strings.Contains(err.Error(), want) {
|
||||||
t.Errorf("IsTemplate(%q) = %v; want it rejected naming %s", arg, err, 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"`},
|
map[string]string{"a(b/cat": `"1"`},
|
||||||
`folder "a(b" contains "("`,
|
`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.
|
// A repeated arm skews an alternation, which weight is the spelling for.
|
||||||
"repeated alternation arm": {
|
"repeated alternation arm": {
|
||||||
map[string]string{"a": `{"format":"{x|x}","x":"1"}`},
|
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)
|
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) {
|
func TestFakeStructDrawsANestedStructApart(t *testing.T) {
|
||||||
|
|||||||
Reference in New Issue
Block a user