|
|
@@ -53,6 +53,37 @@ func must(err error) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+func TestContextFormFile(t *testing.T) {
|
|
|
+ buf := new(bytes.Buffer)
|
|
|
+ mw := multipart.NewWriter(buf)
|
|
|
+ w, err := mw.CreateFormFile("file", "test")
|
|
|
+ if assert.NoError(t, err) {
|
|
|
+ w.Write([]byte("test"))
|
|
|
+ }
|
|
|
+ mw.Close()
|
|
|
+ c, _ := CreateTestContext(httptest.NewRecorder())
|
|
|
+ c.Request, _ = http.NewRequest("POST", "/", buf)
|
|
|
+ c.Request.Header.Set("Content-Type", mw.FormDataContentType())
|
|
|
+ f, err := c.FormFile("file")
|
|
|
+ if assert.NoError(t, err) {
|
|
|
+ assert.Equal(t, "test", f.Filename)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func TestContextMultipartForm(t *testing.T) {
|
|
|
+ buf := new(bytes.Buffer)
|
|
|
+ mw := multipart.NewWriter(buf)
|
|
|
+ mw.WriteField("foo", "bar")
|
|
|
+ mw.Close()
|
|
|
+ c, _ := CreateTestContext(httptest.NewRecorder())
|
|
|
+ c.Request, _ = http.NewRequest("POST", "/", buf)
|
|
|
+ c.Request.Header.Set("Content-Type", mw.FormDataContentType())
|
|
|
+ f, err := c.MultipartForm()
|
|
|
+ if assert.NoError(t, err) {
|
|
|
+ assert.NotNil(t, f)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
func TestContextReset(t *testing.T) {
|
|
|
router := New()
|
|
|
c := router.allocateContext()
|