MCPcopy
hub / github.com/gin-gonic/gin / TestContextPostFormMultipart

Function TestContextPostFormMultipart

context_test.go:916–1006  ·  context_test.go::TestContextPostFormMultipart
(t *testing.T)

Source from the content-addressed store, hash-verified

914}
915
916func TestContextPostFormMultipart(t *testing.T) {
917 c, _ := CreateTestContext(httptest.NewRecorder())
918 c.Request = createMultipartRequest()
919
920 var obj struct {
921 Foo string `form:"foo"`
922 Bar string `form:"bar"`
923 BarAsInt int `form:"bar"`
924 Array []string `form:"array"`
925 ID string `form:"id"`
926 TimeLocal time.Time `form:"time_local" time_format:"02/01/2006 15:04"`
927 TimeUTC time.Time `form:"time_utc" time_format:"02/01/2006 15:04" time_utc:"1"`
928 TimeLocation time.Time `form:"time_location" time_format:"02/01/2006 15:04" time_location:"Asia/Tokyo"`
929 BlankTime time.Time `form:"blank_time" time_format:"02/01/2006 15:04"`
930 }
931 require.NoError(t, c.Bind(&obj))
932 assert.Equal(t, "bar", obj.Foo)
933 assert.Equal(t, "10", obj.Bar)
934 assert.Equal(t, 10, obj.BarAsInt)
935 assert.Equal(t, []string{"first", "second"}, obj.Array)
936 assert.Empty(t, obj.ID)
937 assert.Equal(t, "31/12/2016 14:55", obj.TimeLocal.Format("02/01/2006 15:04"))
938 assert.Equal(t, time.Local, obj.TimeLocal.Location())
939 assert.Equal(t, "31/12/2016 14:55", obj.TimeUTC.Format("02/01/2006 15:04"))
940 assert.Equal(t, time.UTC, obj.TimeUTC.Location())
941 loc, _ := time.LoadLocation("Asia/Tokyo")
942 assert.Equal(t, "31/12/2016 14:55", obj.TimeLocation.Format("02/01/2006 15:04"))
943 assert.Equal(t, loc, obj.TimeLocation.Location())
944 assert.True(t, obj.BlankTime.IsZero())
945
946 value, ok := c.GetQuery("foo")
947 assert.False(t, ok)
948 assert.Empty(t, value)
949 assert.Empty(t, c.Query("bar"))
950 assert.Equal(t, "nothing", c.DefaultQuery("id", "nothing"))
951
952 value, ok = c.GetPostForm("foo")
953 assert.True(t, ok)
954 assert.Equal(t, "bar", value)
955 assert.Equal(t, "bar", c.PostForm("foo"))
956
957 value, ok = c.GetPostForm("array")
958 assert.True(t, ok)
959 assert.Equal(t, "first", value)
960 assert.Equal(t, "first", c.PostForm("array"))
961
962 assert.Equal(t, "10", c.DefaultPostForm("bar", "nothing"))
963
964 value, ok = c.GetPostForm("id")
965 assert.True(t, ok)
966 assert.Empty(t, value)
967 assert.Empty(t, c.PostForm("id"))
968 assert.Empty(t, c.DefaultPostForm("id", "nothing"))
969
970 value, ok = c.GetPostForm("nokey")
971 assert.False(t, ok)
972 assert.Empty(t, value)
973 assert.Equal(t, "nothing", c.DefaultPostForm("nokey", "nothing"))

Callers

nothing calls this directly

Calls 13

CreateTestContextFunction · 0.85
createMultipartRequestFunction · 0.85
GetQueryMethod · 0.80
QueryMethod · 0.80
DefaultQueryMethod · 0.80
GetPostFormMethod · 0.80
PostFormMethod · 0.80
DefaultPostFormMethod · 0.80
GetPostFormArrayMethod · 0.80
PostFormArrayMethod · 0.80
GetPostFormMapMethod · 0.80
PostFormMapMethod · 0.80

Tested by

no test coverage detected