add support arrays on mapping (#1797)

* add support arrays on mapping

* not allow default value on array mapping
This commit is contained in:
Dmitry Kutakov
2019-03-14 08:34:56 +03:00
committed by 田欧
parent cab0749b4f
commit 483f828bce
2 changed files with 48 additions and 3 deletions
+28
View File
@@ -1430,3 +1430,31 @@ func TestBindingTimeDuration(t *testing.T) {
err = Form.Bind(req, &s)
assert.Error(t, err)
}
func TestBindingArray(t *testing.T) {
var s struct {
Nums [2]int `form:"nums,default=4"`
}
// default
req := formPostRequest("", "")
err := Form.Bind(req, &s)
assert.Error(t, err)
assert.Equal(t, [2]int{0, 0}, s.Nums)
// ok
req = formPostRequest("", "nums=3&nums=8")
err = Form.Bind(req, &s)
assert.NoError(t, err)
assert.Equal(t, [2]int{3, 8}, s.Nums)
// not enough vals
req = formPostRequest("", "nums=3")
err = Form.Bind(req, &s)
assert.Error(t, err)
// error
req = formPostRequest("", "nums=3&nums=wrong")
err = Form.Bind(req, &s)
assert.Error(t, err)
}