@@ -23,7 +23,8 @@ func TestRecover(t *testing.T) {
2323 h := Recover ()(echo .HandlerFunc (func (c echo.Context ) error {
2424 panic ("test" )
2525 }))
26- h (c )
26+ err := h (c )
27+ assert .NoError (t , err )
2728 assert .Equal (t , http .StatusInternalServerError , rec .Code )
2829 assert .Contains (t , buf .String (), "PANIC RECOVER" )
2930}
@@ -163,3 +164,23 @@ func TestRecoverWithConfig_LogErrorFunc(t *testing.T) {
163164 assert .Contains (t , output , `"level":"ERROR"` )
164165 })
165166}
167+
168+ func TestRecoverWithDisabled_ErrorHandler (t * testing.T ) {
169+ e := echo .New ()
170+ buf := new (bytes.Buffer )
171+ e .Logger .SetOutput (buf )
172+ req := httptest .NewRequest (http .MethodGet , "/" , nil )
173+ rec := httptest .NewRecorder ()
174+ c := e .NewContext (req , rec )
175+
176+ config := DefaultRecoverConfig
177+ config .DisableErrorHandler = true
178+ h := RecoverWithConfig (config )(echo .HandlerFunc (func (c echo.Context ) error {
179+ panic ("test" )
180+ }))
181+ err := h (c )
182+
183+ assert .Equal (t , http .StatusOK , rec .Code )
184+ assert .Contains (t , buf .String (), "PANIC RECOVER" )
185+ assert .EqualError (t , err , "test" )
186+ }
0 commit comments