Skip to content

Commit 67a1aeb

Browse files
joeybloggsjoeybloggs
authored andcommitted
update error checking
1 parent 0bcb544 commit 67a1aeb

File tree

6 files changed

+206
-76
lines changed

6 files changed

+206
-76
lines changed

context_test.go

Lines changed: 114 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -32,21 +32,22 @@ func TestStream(t *testing.T) {
3232
l.Get("/stream/:id", func(c Context) {
3333
c.Stream(func(w io.Writer) bool {
3434

35-
w.Write([]byte("a"))
36-
count++
37-
38-
if count == 13 {
39-
return false
35+
if _, err := w.Write([]byte("a")); err != nil {
36+
panic(err)
4037
}
4138

42-
return true
39+
count++
40+
return count != 13
4341
})
4442
})
4543

4644
l.Get("/stream2/:id", func(c Context) {
4745
c.Stream(func(w io.Writer) bool {
4846

49-
w.Write([]byte("a"))
47+
if _, err := w.Write([]byte("a")); err != nil {
48+
panic(err)
49+
}
50+
5051
count++
5152

5253
if count == 5 {
@@ -74,7 +75,9 @@ func TestStream(t *testing.T) {
7475
}
7576

7677
func HandlerForName(c Context) {
77-
c.Response().Write([]byte(c.HandlerName()))
78+
if _, err := c.Response().Write([]byte(c.HandlerName())); err != nil {
79+
panic(err)
80+
}
7881
}
7982

8083
func TestHandlerName(t *testing.T) {
@@ -178,7 +181,9 @@ func TestQueryParams(t *testing.T) {
178181
l := New()
179182
l.Get("/home/:id", func(c Context) {
180183
c.Param("nonexistant")
181-
c.Response().Write([]byte(c.Request().URL.RawQuery))
184+
if _, err := c.Response().Write([]byte(c.Request().URL.RawQuery)); err != nil {
185+
panic(err)
186+
}
182187
})
183188

184189
code, body := request(GET, "/home/13?test=true&test2=true", l)
@@ -196,7 +201,9 @@ func TestNativeHandlersAndParseForm(t *testing.T) {
196201

197202
})
198203
l.Get("/users/:id", func(w http.ResponseWriter, r *http.Request) {
199-
w.Write([]byte(r.FormValue("id")))
204+
if _, err := w.Write([]byte(r.FormValue("id"))); err != nil {
205+
panic(err)
206+
}
200207
})
201208

202209
code, body := request(GET, "/users/13", l)
@@ -206,12 +213,16 @@ func TestNativeHandlersAndParseForm(t *testing.T) {
206213
l2 := New()
207214
l2.Use(func(c Context) {
208215
// to trigger the form parsing
209-
c.ParseForm()
216+
if err := c.ParseForm(); err != nil {
217+
panic(err)
218+
}
210219
c.Next()
211220

212221
})
213222
l2.Get("/users/:id", func(w http.ResponseWriter, r *http.Request) {
214-
w.Write([]byte(r.FormValue("id")))
223+
if _, err := w.Write([]byte(r.FormValue("id"))); err != nil {
224+
panic(err)
225+
}
215226
})
216227

217228
code, body = request(GET, "/users/14", l2)
@@ -222,9 +233,13 @@ func TestNativeHandlersAndParseForm(t *testing.T) {
222233
l3.Get("/users/:id", func(w http.ResponseWriter, r *http.Request) {
223234

224235
c := GetContext(w)
225-
c.ParseForm()
236+
if err := c.ParseForm(); err != nil {
237+
panic(err)
238+
}
226239

227-
w.Write([]byte(r.FormValue("id")))
240+
if _, err := w.Write([]byte(r.FormValue("id"))); err != nil {
241+
panic(err)
242+
}
228243
})
229244

230245
code, body = request(GET, "/users/15", l3)
@@ -234,16 +249,22 @@ func TestNativeHandlersAndParseForm(t *testing.T) {
234249
l4 := New()
235250
l4.Use(func(c Context) {
236251
// to trigger the form parsing
237-
c.ParseForm()
252+
if err := c.ParseForm(); err != nil {
253+
panic(err)
254+
}
238255
c.Next()
239256

240257
})
241258
l4.Get("/users/:id", func(w http.ResponseWriter, r *http.Request) {
242259

243260
c := GetContext(w)
244-
c.ParseForm()
261+
if err := c.ParseForm(); err != nil {
262+
panic(err)
263+
}
245264

246-
w.Write([]byte(r.FormValue("id")))
265+
if _, err := w.Write([]byte(r.FormValue("id"))); err != nil {
266+
panic(err)
267+
}
247268
})
248269

249270
code, body = request(GET, "/users/16", l4)
@@ -255,11 +276,15 @@ func TestNativeHandlersAndParseForm(t *testing.T) {
255276

256277
c := GetContext(w)
257278
if err := c.ParseForm(); err != nil {
258-
w.Write([]byte(err.Error()))
279+
if _, errr := w.Write([]byte(err.Error())); errr != nil {
280+
panic(err)
281+
}
259282
return
260283
}
261284

262-
w.Write([]byte(r.FormValue("id")))
285+
if _, err := w.Write([]byte(r.FormValue("id"))); err != nil {
286+
panic(err)
287+
}
263288
})
264289

265290
code, body = request(GET, "/users/16?test=%2f%%efg", l5)
@@ -269,11 +294,15 @@ func TestNativeHandlersAndParseForm(t *testing.T) {
269294
l6 := New()
270295
l6.Get("/chain-handler", func(handler http.Handler) http.Handler {
271296
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
272-
w.Write([]byte("a"))
297+
if _, err := w.Write([]byte("a")); err != nil {
298+
panic(err)
299+
}
273300
handler.ServeHTTP(w, r)
274301
})
275302
}, func(c Context) {
276-
c.Response().Write([]byte("ok"))
303+
if _, err := c.Response().Write([]byte("ok")); err != nil {
304+
panic(err)
305+
}
277306
})
278307

279308
code, body = request(GET, "/chain-handler", l6)
@@ -282,10 +311,14 @@ func TestNativeHandlersAndParseForm(t *testing.T) {
282311

283312
l7 := New()
284313
l7.Get("/chain-handler", func(w http.ResponseWriter, r *http.Request, next http.Handler) {
285-
w.Write([]byte("a"))
314+
if _, err := w.Write([]byte("a")); err != nil {
315+
panic(err)
316+
}
286317
next.ServeHTTP(w, r)
287318
}, func(c Context) {
288-
c.Response().Write([]byte("ok"))
319+
if _, err := c.Response().Write([]byte("ok")); err != nil {
320+
panic(err)
321+
}
289322
})
290323

291324
code, body = request(GET, "/chain-handler", l7)
@@ -303,7 +336,9 @@ func TestNativeHandlersAndParseMultiPartForm(t *testing.T) {
303336

304337
})
305338
l.Get("/users/:id", func(w http.ResponseWriter, r *http.Request) {
306-
w.Write([]byte(r.FormValue("id")))
339+
if _, err := w.Write([]byte(r.FormValue("id"))); err != nil {
340+
panic(err)
341+
}
307342
})
308343

309344
code, body := request(GET, "/users/13", l)
@@ -313,11 +348,15 @@ func TestNativeHandlersAndParseMultiPartForm(t *testing.T) {
313348
l2 := New()
314349
l2.Use(func(c Context) {
315350
// to trigger the form parsing
316-
c.ParseMultipartForm(10 << 5) // 5 MB
351+
if err := c.ParseMultipartForm(10 << 5); err != nil {
352+
panic(err)
353+
} // 5 MB
317354
c.Next()
318355
})
319356
l2.Post("/users/:id", func(w http.ResponseWriter, r *http.Request) {
320-
w.Write([]byte(r.FormValue("id")))
357+
if _, err := w.Write([]byte(r.FormValue("id"))); err != nil {
358+
panic(err)
359+
}
321360
})
322361

323362
code, body = requestMultiPart(POST, "/users/14", l2)
@@ -328,9 +367,13 @@ func TestNativeHandlersAndParseMultiPartForm(t *testing.T) {
328367
l3.Get("/users/:id", func(w http.ResponseWriter, r *http.Request) {
329368

330369
c := GetContext(w)
331-
c.ParseMultipartForm(10 << 5) // 5 MB
370+
if err := c.ParseMultipartForm(10 << 5); err != nil {
371+
panic(err)
372+
} // 5 MB
332373

333-
w.Write([]byte(r.FormValue("id")))
374+
if _, err := w.Write([]byte(r.FormValue("id"))); err != nil {
375+
panic(err)
376+
}
334377
})
335378

336379
code, body = requestMultiPart(GET, "/users/15", l3)
@@ -340,16 +383,22 @@ func TestNativeHandlersAndParseMultiPartForm(t *testing.T) {
340383
l4 := New()
341384
l4.Use(func(c Context) {
342385
// to trigger the form parsing
343-
c.ParseMultipartForm(10 << 5) // 5 MB
386+
if err := c.ParseMultipartForm(10 << 5); err != nil {
387+
panic(err)
388+
} // 5 MB
344389
c.Next()
345390

346391
})
347392
l4.Get("/users/:id", func(w http.ResponseWriter, r *http.Request) {
348393

349394
c := GetContext(w)
350-
c.ParseMultipartForm(10 << 5) // 5 MB
395+
if err := c.ParseMultipartForm(10 << 5); err != nil {
396+
panic(err)
397+
} // 5 MB
351398

352-
w.Write([]byte(r.FormValue("id")))
399+
if _, err := w.Write([]byte(r.FormValue("id"))); err != nil {
400+
panic(err)
401+
}
353402
})
354403

355404
code, body = requestMultiPart(GET, "/users/16", l4)
@@ -361,11 +410,15 @@ func TestNativeHandlersAndParseMultiPartForm(t *testing.T) {
361410

362411
c := GetContext(w)
363412
if err := c.ParseMultipartForm(10 << 5); err != nil {
364-
w.Write([]byte(err.Error()))
413+
if _, errr := w.Write([]byte(err.Error())); errr != nil {
414+
panic(err)
415+
}
365416
return
366417
}
367418

368-
w.Write([]byte(r.FormValue("id")))
419+
if _, err := w.Write([]byte(r.FormValue("id"))); err != nil {
420+
panic(err)
421+
}
369422
})
370423

371424
code, body = requestMultiPart(GET, "/users/16?test=%2f%%efg", l5)
@@ -401,12 +454,16 @@ func TestAttachment(t *testing.T) {
401454

402455
l.Get("/dl", func(c Context) {
403456
f, _ := os.Open("logo.png")
404-
c.Attachment(f, "logo.png")
457+
if err := c.Attachment(f, "logo.png"); err != nil {
458+
panic(err)
459+
}
405460
})
406461

407462
l.Get("/dl-unknown-type", func(c Context) {
408463
f, _ := os.Open("logo.png")
409-
c.Attachment(f, "logo")
464+
if err := c.Attachment(f, "logo"); err != nil {
465+
panic(err)
466+
}
410467
})
411468

412469
r, _ := http.NewRequest(GET, "/dl", nil)
@@ -439,18 +496,21 @@ func TestAttachment(t *testing.T) {
439496
func TestInline(t *testing.T) {
440497

441498
l := New()
442-
443-
l.Get("/dl", func(c Context) {
499+
l.Get("/dl-inline", func(c Context) {
444500
f, _ := os.Open("logo.png")
445-
c.Inline(f, "logo.png")
501+
if err := c.Inline(f, "logo.png"); err != nil {
502+
panic(err)
503+
}
446504
})
447505

448-
l.Get("/dl-unknown-type", func(c Context) {
506+
l.Get("/dl-unknown-type-inline", func(c Context) {
449507
f, _ := os.Open("logo.png")
450-
c.Inline(f, "logo")
508+
if err := c.Inline(f, "logo"); err != nil {
509+
panic(err)
510+
}
451511
})
452512

453-
r, _ := http.NewRequest(GET, "/dl", nil)
513+
r, _ := http.NewRequest(GET, "/dl-inline", nil)
454514
w := &closeNotifyingRecorder{
455515
httptest.NewRecorder(),
456516
make(chan bool, 1),
@@ -463,7 +523,7 @@ func TestInline(t *testing.T) {
463523
Equal(t, w.Header().Get(ContentType), "image/png")
464524
Equal(t, w.Body.Len(), 3041)
465525

466-
r, _ = http.NewRequest(GET, "/dl-unknown-type", nil)
526+
r, _ = http.NewRequest(GET, "/dl-unknown-type-inline", nil)
467527
w = &closeNotifyingRecorder{
468528
httptest.NewRecorder(),
469529
make(chan bool, 1),
@@ -518,7 +578,9 @@ func TestXML(t *testing.T) {
518578

519579
l := New()
520580
l.Get("/xml", func(c Context) {
521-
c.XML(http.StatusOK, zombie{1, "Patient Zero"})
581+
if err := c.XML(http.StatusOK, zombie{1, "Patient Zero"}); err != nil {
582+
panic(err)
583+
}
522584
})
523585
l.Get("/badxml", func(c Context) {
524586
if err := c.XML(http.StatusOK, func() {}); err != nil {
@@ -551,15 +613,19 @@ func TestJSON(t *testing.T) {
551613

552614
l := New()
553615
l.Get("/json", func(c Context) {
554-
c.JSON(http.StatusOK, zombie{1, "Patient Zero"})
616+
if err := c.JSON(http.StatusOK, zombie{1, "Patient Zero"}); err != nil {
617+
panic(err)
618+
}
555619
})
556620
l.Get("/badjson", func(c Context) {
557621
if err := c.JSON(http.StatusOK, func() {}); err != nil {
558622
http.Error(c.Response(), err.Error(), http.StatusInternalServerError)
559623
}
560624
})
561625
l.Get("/jsonp", func(c Context) {
562-
c.JSONP(http.StatusOK, zombie{1, "Patient Zero"}, callbackFunc)
626+
if err := c.JSONP(http.StatusOK, zombie{1, "Patient Zero"}, callbackFunc); err != nil {
627+
panic(err)
628+
}
563629
})
564630
l.Get("/badjsonp", func(c Context) {
565631
if err := c.JSONP(http.StatusOK, func() {}, callbackFunc); err != nil {
@@ -607,7 +673,9 @@ func TestText(t *testing.T) {
607673

608674
l := New()
609675
l.Get("/text", func(c Context) {
610-
c.Text(http.StatusOK, txtData)
676+
if err := c.Text(http.StatusOK, txtData); err != nil {
677+
panic(err)
678+
}
611679
})
612680

613681
hf := l.Serve()

group_test.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,10 @@ func TestWebsockets(t *testing.T) {
2929

3030
i, err := c.WebSocket().Read(recv)
3131
if err == nil {
32-
c.WebSocket().Write(recv[:i])
32+
_, err := c.WebSocket().Write(recv[:i])
33+
if err != nil {
34+
panic(err)
35+
}
3336
}
3437
})
3538

@@ -45,10 +48,11 @@ func TestWebsockets(t *testing.T) {
4548

4649
defer ws.Close()
4750

48-
ws.Write([]byte("websockets in action!"))
51+
_, err = ws.Write([]byte("websockets in action!"))
52+
Equal(t, err, nil)
4953

5054
buf := new(bytes.Buffer)
51-
buf.ReadFrom(ws)
52-
55+
_, err = buf.ReadFrom(ws)
56+
Equal(t, err, nil)
5357
Equal(t, "websockets in action!", buf.String())
5458
}

0 commit comments

Comments
 (0)