|
@@ -47,6 +47,8 @@ func createMultipartRequest() *http.Request {
|
|
|
must(mw.WriteField("time_local", "31/12/2016 14:55"))
|
|
must(mw.WriteField("time_local", "31/12/2016 14:55"))
|
|
|
must(mw.WriteField("time_utc", "31/12/2016 14:55"))
|
|
must(mw.WriteField("time_utc", "31/12/2016 14:55"))
|
|
|
must(mw.WriteField("time_location", "31/12/2016 14:55"))
|
|
must(mw.WriteField("time_location", "31/12/2016 14:55"))
|
|
|
|
|
+ must(mw.WriteField("names[a]", "thinkerou"))
|
|
|
|
|
+ must(mw.WriteField("names[b]", "tianou"))
|
|
|
req, err := http.NewRequest("POST", "/", body)
|
|
req, err := http.NewRequest("POST", "/", body)
|
|
|
must(err)
|
|
must(err)
|
|
|
req.Header.Set("Content-Type", MIMEMultipartPOSTForm+"; boundary="+boundary)
|
|
req.Header.Set("Content-Type", MIMEMultipartPOSTForm+"; boundary="+boundary)
|
|
@@ -371,7 +373,8 @@ func TestContextQuery(t *testing.T) {
|
|
|
func TestContextQueryAndPostForm(t *testing.T) {
|
|
func TestContextQueryAndPostForm(t *testing.T) {
|
|
|
c, _ := CreateTestContext(httptest.NewRecorder())
|
|
c, _ := CreateTestContext(httptest.NewRecorder())
|
|
|
body := bytes.NewBufferString("foo=bar&page=11&both=&foo=second")
|
|
body := bytes.NewBufferString("foo=bar&page=11&both=&foo=second")
|
|
|
- c.Request, _ = http.NewRequest("POST", "/?both=GET&id=main&id=omit&array[]=first&array[]=second", body)
|
|
|
|
|
|
|
+ c.Request, _ = http.NewRequest("POST",
|
|
|
|
|
+ "/?both=GET&id=main&id=omit&array[]=first&array[]=second&ids[a]=hi&ids[b]=3.14", body)
|
|
|
c.Request.Header.Add("Content-Type", MIMEPOSTForm)
|
|
c.Request.Header.Add("Content-Type", MIMEPOSTForm)
|
|
|
|
|
|
|
|
assert.Equal(t, "bar", c.DefaultPostForm("foo", "none"))
|
|
assert.Equal(t, "bar", c.DefaultPostForm("foo", "none"))
|
|
@@ -439,6 +442,30 @@ func TestContextQueryAndPostForm(t *testing.T) {
|
|
|
values = c.QueryArray("both")
|
|
values = c.QueryArray("both")
|
|
|
assert.Equal(t, 1, len(values))
|
|
assert.Equal(t, 1, len(values))
|
|
|
assert.Equal(t, "GET", values[0])
|
|
assert.Equal(t, "GET", values[0])
|
|
|
|
|
+
|
|
|
|
|
+ dicts, ok := c.GetQueryMap("ids")
|
|
|
|
|
+ assert.True(t, ok)
|
|
|
|
|
+ assert.Equal(t, "hi", dicts["a"])
|
|
|
|
|
+ assert.Equal(t, "3.14", dicts["b"])
|
|
|
|
|
+
|
|
|
|
|
+ dicts, ok = c.GetQueryMap("nokey")
|
|
|
|
|
+ assert.False(t, ok)
|
|
|
|
|
+ assert.Equal(t, 0, len(dicts))
|
|
|
|
|
+
|
|
|
|
|
+ dicts, ok = c.GetQueryMap("both")
|
|
|
|
|
+ assert.False(t, ok)
|
|
|
|
|
+ assert.Equal(t, 0, len(dicts))
|
|
|
|
|
+
|
|
|
|
|
+ dicts, ok = c.GetQueryMap("array")
|
|
|
|
|
+ assert.False(t, ok)
|
|
|
|
|
+ assert.Equal(t, 0, len(dicts))
|
|
|
|
|
+
|
|
|
|
|
+ dicts = c.QueryMap("ids")
|
|
|
|
|
+ assert.Equal(t, "hi", dicts["a"])
|
|
|
|
|
+ assert.Equal(t, "3.14", dicts["b"])
|
|
|
|
|
+
|
|
|
|
|
+ dicts = c.QueryMap("nokey")
|
|
|
|
|
+ assert.Equal(t, 0, len(dicts))
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func TestContextPostFormMultipart(t *testing.T) {
|
|
func TestContextPostFormMultipart(t *testing.T) {
|
|
@@ -515,6 +542,22 @@ func TestContextPostFormMultipart(t *testing.T) {
|
|
|
values = c.PostFormArray("foo")
|
|
values = c.PostFormArray("foo")
|
|
|
assert.Equal(t, 1, len(values))
|
|
assert.Equal(t, 1, len(values))
|
|
|
assert.Equal(t, "bar", values[0])
|
|
assert.Equal(t, "bar", values[0])
|
|
|
|
|
+
|
|
|
|
|
+ dicts, ok := c.GetPostFormMap("names")
|
|
|
|
|
+ assert.True(t, ok)
|
|
|
|
|
+ assert.Equal(t, "thinkerou", dicts["a"])
|
|
|
|
|
+ assert.Equal(t, "tianou", dicts["b"])
|
|
|
|
|
+
|
|
|
|
|
+ dicts, ok = c.GetPostFormMap("nokey")
|
|
|
|
|
+ assert.False(t, ok)
|
|
|
|
|
+ assert.Equal(t, 0, len(dicts))
|
|
|
|
|
+
|
|
|
|
|
+ dicts = c.PostFormMap("names")
|
|
|
|
|
+ assert.Equal(t, "thinkerou", dicts["a"])
|
|
|
|
|
+ assert.Equal(t, "tianou", dicts["b"])
|
|
|
|
|
+
|
|
|
|
|
+ dicts = c.PostFormMap("nokey")
|
|
|
|
|
+ assert.Equal(t, 0, len(dicts))
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func TestContextSetCookie(t *testing.T) {
|
|
func TestContextSetCookie(t *testing.T) {
|