mirror of
https://github.com/gin-gonic/gin.git
synced 2025-10-25 03:12:16 +08:00
add test cases for form(own default value)
This commit is contained in:
parent
e9773bfdd0
commit
8027a23db9
@ -27,7 +27,7 @@ type FooBarStruct struct {
|
|||||||
|
|
||||||
type FooDefaultBarStruct struct {
|
type FooDefaultBarStruct struct {
|
||||||
FooStruct
|
FooStruct
|
||||||
Bar string `msgpack:"bar" json:"bar,default=hello" form:"bar" xml:"bar" binding:"required"`
|
Bar string `msgpack:"bar" json:"bar" form:"bar,default=hello" xml:"bar" binding:"required"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestBindingDefault(t *testing.T) {
|
func TestBindingDefault(t *testing.T) {
|
||||||
@ -72,6 +72,18 @@ func TestBindingForm2(t *testing.T) {
|
|||||||
"", "")
|
"", "")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestBindingFormDefaultValue(t *testing.T) {
|
||||||
|
testFormBindingDefaultValue(t, "POST",
|
||||||
|
"/", "/",
|
||||||
|
"foo=bar", "bar2=foo")
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestBindingFormDefaultValue2(t *testing.T) {
|
||||||
|
testFormBindingDefaultValue(t, "GET",
|
||||||
|
"/?foo=bar", "/?bar2=foo",
|
||||||
|
"", "")
|
||||||
|
}
|
||||||
|
|
||||||
func TestBindingQuery(t *testing.T) {
|
func TestBindingQuery(t *testing.T) {
|
||||||
testQueryBinding(t, "POST",
|
testQueryBinding(t, "POST",
|
||||||
"/?foo=bar&bar=foo", "/",
|
"/?foo=bar&bar=foo", "/",
|
||||||
@ -236,6 +248,26 @@ func testFormBinding(t *testing.T, method, path, badPath, body, badBody string)
|
|||||||
assert.Error(t, err)
|
assert.Error(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func testFormBindingDefaultValue(t *testing.T, method, path, badPath, body, badBody string) {
|
||||||
|
b := Form
|
||||||
|
assert.Equal(t, b.Name(), "form")
|
||||||
|
|
||||||
|
obj := FooDefaultBarStruct{}
|
||||||
|
req := requestWithBody(method, path, body)
|
||||||
|
if method == "POST" {
|
||||||
|
req.Header.Add("Content-Type", MIMEPOSTForm)
|
||||||
|
}
|
||||||
|
err := b.Bind(req, &obj)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.Equal(t, obj.Foo, "bar")
|
||||||
|
assert.Equal(t, obj.Bar, "hello")
|
||||||
|
|
||||||
|
obj = FooDefaultBarStruct{}
|
||||||
|
req = requestWithBody(method, badPath, badBody)
|
||||||
|
err = JSON.Bind(req, &obj)
|
||||||
|
assert.Error(t, err)
|
||||||
|
}
|
||||||
|
|
||||||
func testQueryBinding(t *testing.T, method, path, badPath, body, badBody string) {
|
func testQueryBinding(t *testing.T, method, path, badPath, body, badBody string) {
|
||||||
b := Query
|
b := Query
|
||||||
assert.Equal(t, b.Name(), "query")
|
assert.Equal(t, b.Name(), "query")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user