From 82a9c170d40582ee65ff8af081485e5e325fb4a0 Mon Sep 17 00:00:00 2001 From: Nate Woods Date: Sat, 26 Dec 2015 00:09:21 -0700 Subject: [PATCH] Covering change with unit test This test focuses on the feature of allowing sub-routers error handlers to precede the parents, rather than the code change required to provide this functionality. --- mux_test.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/mux_test.go b/mux_test.go index d1eae92..1ea439a 100644 --- a/mux_test.go +++ b/mux_test.go @@ -1123,6 +1123,30 @@ func TestWalkNested(t *testing.T) { } } +func TestSubrouterErrorHandling(t *testing.T) { + superRouterCalled := false + subRouterCalled := false + + router := NewRouter() + router.NotFoundHandler = http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + superRouterCalled = true + }) + subRouter := router.PathPrefix("/bign8").Subrouter() + subRouter.NotFoundHandler = http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + subRouterCalled = true + }) + + req, _ := http.NewRequest("GET", "http://localhost/bign8/was/here", nil) + router.ServeHTTP(NewRecorder(), req) + + if superRouterCalled { + t.Error("Super router 404 handler called when sub-router 404 handler is available.") + } + if !subRouterCalled { + t.Error("Sub-router 404 handler was not called.") + } +} + // ---------------------------------------------------------------------------- // Helpers // ----------------------------------------------------------------------------