From 53f7c79e66cb0c49711ac4466aa1719491303a66 Mon Sep 17 00:00:00 2001 From: Harshal Patel Date: Fri, 5 Jun 2026 23:27:21 +0530 Subject: [PATCH] test: add direct node evaluation test to achieve 100% patch coverage in tree.go --- context_test.go | 8 +++++++- tree_test.go | 17 +++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/context_test.go b/context_test.go index 1a014cb5..bd5700ec 100644 --- a/context_test.go +++ b/context_test.go @@ -3992,7 +3992,13 @@ func TestWildcardParamUnicodeConcurrency(t *testing.T) { go func() { defer wg.Done() for _, p := range paths { - req, _ := http.NewRequest(http.MethodGet, p, nil) + req, err := http.NewRequest(http.MethodGet, p, nil) + if err != nil { + mu.Lock() + errs = append(errs, "failed to create request: " + err.Error()) + mu.Unlock() + continue + } w := httptest.NewRecorder() router.ServeHTTP(w, req) diff --git a/tree_test.go b/tree_test.go index 23339af4..70cc4f4b 100644 --- a/tree_test.go +++ b/tree_test.go @@ -1111,3 +1111,20 @@ func TestTreeFindCaseInsensitivePathWildcardParamAndStaticChild(t *testing.T) { t.Errorf("Wrong result for '/prefix/something': %s", string(out)) } } + +func TestTreeWildcardParamImproperBoundaryCoverage(t *testing.T) { + tree := &node{} + + // Register a path with a wild named parameter segment + tree.addRoute("/submit/:info", HandlersChain{func(c *Context) {}}) + + // Pass a path containing a multi-byte sequence where a standard byte segment lookup + // drifts directly into the middle of a continuation block. + // This exercises our inner boundary alignment decrement loop. + path := "/submit/जय" + value := tree.getValue(path, &Params{}, nil, false) + + if value.handlers == nil { + t.Errorf("Routing fallback failed on multi-byte parameter verification evaluation.") + } +}