diff --git a/serializer.js b/serializer.js index 9046429..08ae751 100644 --- a/serializer.js +++ b/serializer.js @@ -20,6 +20,8 @@ class SerializerField { return Number(this.field.value); } else if(type == "date" || type == "datetime-local" || type == "month" || type == "week") { return new Date(this.field.value); + } else if(type == "checkbox") { + return this.field.checked; } else { return this.field.value; } diff --git a/tests/main.go b/tests/main.go index fbd70e2..7422ff4 100644 --- a/tests/main.go +++ b/tests/main.go @@ -36,14 +36,17 @@ var testData = []*Person{ Language{ Language: "Dutch", SkillLevel: 9.99, + Native: true, }, Language{ Language: "English", SkillLevel: 8.4, + Native: false, }, Language{ - Language: "Marokaans", + Language: "Japanese", SkillLevel: -9000.9, + Native: false, }, }, }, @@ -86,6 +89,7 @@ type Person struct { type Language struct { Language string `json:"language"` SkillLevel float64 `json:"skill_level"` + Native bool `json:"native"` } func getTest(w http.ResponseWriter, r *http.Request, _ httprouter.Params) { @@ -120,6 +124,7 @@ func isEq(p1, p2 Person) { for k := range p1.Languages { assert(p1.Languages[k].Language, p2.Languages[k].Language, "Languages.Language") assert(p1.Languages[k].SkillLevel, p2.Languages[k].SkillLevel, "Languages.SkillLevel") + assert(p1.Languages[k].Native, p2.Languages[k].Native, "Languages.Native") } } diff --git a/tests/templates/test.gohtml b/tests/templates/test.gohtml index 2f9944b..dd15d84 100644 --- a/tests/templates/test.gohtml +++ b/tests/templates/test.gohtml @@ -26,6 +26,7 @@ {{ range $p.Languages }} + {{ end }}