@@ -349,6 +349,25 @@ func TestTreeRunDynamicRouting(t *testing.T) {
349349 router .GET ("/get/:param/abc/" , func (c * Context ) { c .String (http .StatusOK , "/get/:param/abc/" ) })
350350 router .GET ("/something/:paramname/thirdthing" , func (c * Context ) { c .String (http .StatusOK , "/something/:paramname/thirdthing" ) })
351351 router .GET ("/something/secondthing/test" , func (c * Context ) { c .String (http .StatusOK , "/something/secondthing/test" ) })
352+ router .GET ("/get/abc" , func (c * Context ) { c .String (http .StatusOK , "/get/abc" ) })
353+ router .GET ("/get/:param" , func (c * Context ) { c .String (http .StatusOK , "/get/:param" ) })
354+ router .GET ("/get/abc/123abc" , func (c * Context ) { c .String (http .StatusOK , "/get/abc/123abc" ) })
355+ router .GET ("/get/abc/:param" , func (c * Context ) { c .String (http .StatusOK , "/get/abc/:param" ) })
356+ router .GET ("/get/abc/123abc/xxx8" , func (c * Context ) { c .String (http .StatusOK , "/get/abc/123abc/xxx8" ) })
357+ router .GET ("/get/abc/123abc/:param" , func (c * Context ) { c .String (http .StatusOK , "/get/abc/123abc/:param" ) })
358+ router .GET ("/get/abc/123abc/xxx8/1234" , func (c * Context ) { c .String (http .StatusOK , "/get/abc/123abc/xxx8/1234" ) })
359+ router .GET ("/get/abc/123abc/xxx8/:param" , func (c * Context ) { c .String (http .StatusOK , "/get/abc/123abc/xxx8/:param" ) })
360+ router .GET ("/get/abc/123abc/xxx8/1234/ffas" , func (c * Context ) { c .String (http .StatusOK , "/get/abc/123abc/xxx8/1234/ffas" ) })
361+ router .GET ("/get/abc/123abc/xxx8/1234/:param" , func (c * Context ) { c .String (http .StatusOK , "/get/abc/123abc/xxx8/1234/:param" ) })
362+ router .GET ("/get/abc/123abc/xxx8/1234/kkdd/12c" , func (c * Context ) { c .String (http .StatusOK , "/get/abc/123abc/xxx8/1234/kkdd/12c" ) })
363+ router .GET ("/get/abc/123abc/xxx8/1234/kkdd/:param" , func (c * Context ) { c .String (http .StatusOK , "/get/abc/123abc/xxx8/1234/kkdd/:param" ) })
364+ router .GET ("/get/abc/:param/test" , func (c * Context ) { c .String (http .StatusOK , "/get/abc/:param/test" ) })
365+ router .GET ("/get/abc/123abd/:param" , func (c * Context ) { c .String (http .StatusOK , "/get/abc/123abd/:param" ) })
366+ router .GET ("/get/abc/123abddd/:param" , func (c * Context ) { c .String (http .StatusOK , "/get/abc/123abddd/:param" ) })
367+ router .GET ("/get/abc/123/:param" , func (c * Context ) { c .String (http .StatusOK , "/get/abc/123/:param" ) })
368+ router .GET ("/get/abc/123abg/:param" , func (c * Context ) { c .String (http .StatusOK , "/get/abc/123abg/:param" ) })
369+ router .GET ("/get/abc/123abf/:param" , func (c * Context ) { c .String (http .StatusOK , "/get/abc/123abf/:param" ) })
370+ router .GET ("/get/abc/123abfff/:param" , func (c * Context ) { c .String (http .StatusOK , "/get/abc/123abfff/:param" ) })
352371
353372 ts := httptest .NewServer (router )
354373 defer ts .Close ()
@@ -363,8 +382,26 @@ func TestTreeRunDynamicRouting(t *testing.T) {
363382 testRequest (t , ts .URL + "/c/d/e/ff" , "" , "/:cc/:dd/:ee/ff" )
364383 testRequest (t , ts .URL + "/c/d/e/f/gg" , "" , "/:cc/:dd/:ee/:ff/gg" )
365384 testRequest (t , ts .URL + "/c/d/e/f/g/hh" , "" , "/:cc/:dd/:ee/:ff/:gg/hh" )
385+ testRequest (t , ts .URL + "/cc/dd/ee/ff/gg/hh" , "" , "/:cc/:dd/:ee/:ff/:gg/hh" )
366386 testRequest (t , ts .URL + "/a" , "" , "/:cc" )
387+ testRequest (t , ts .URL + "/d" , "" , "/:cc" )
388+ testRequest (t , ts .URL + "/ad" , "" , "/:cc" )
389+ testRequest (t , ts .URL + "/dd" , "" , "/:cc" )
390+ testRequest (t , ts .URL + "/aa" , "" , "/:cc" )
391+ testRequest (t , ts .URL + "/aaa" , "" , "/:cc" )
392+ testRequest (t , ts .URL + "/aaa/cc" , "" , "/:cc/cc" )
393+ testRequest (t , ts .URL + "/ab" , "" , "/:cc" )
394+ testRequest (t , ts .URL + "/abb" , "" , "/:cc" )
395+ testRequest (t , ts .URL + "/abb/cc" , "" , "/:cc/cc" )
396+ testRequest (t , ts .URL + "/dddaa" , "" , "/:cc" )
397+ testRequest (t , ts .URL + "/allxxxx" , "" , "/:cc" )
398+ testRequest (t , ts .URL + "/alldd" , "" , "/:cc" )
399+ testRequest (t , ts .URL + "/cc/cc" , "" , "/:cc/cc" )
400+ testRequest (t , ts .URL + "/ccc/cc" , "" , "/:cc/cc" )
401+ testRequest (t , ts .URL + "/deedwjfs/cc" , "" , "/:cc/cc" )
402+ testRequest (t , ts .URL + "/acllcc/cc" , "" , "/:cc/cc" )
367403 testRequest (t , ts .URL + "/get/test/abc/" , "" , "/get/test/abc/" )
404+ testRequest (t , ts .URL + "/get/testaa/abc/" , "" , "/get/:param/abc/" )
368405 testRequest (t , ts .URL + "/get/te/abc/" , "" , "/get/:param/abc/" )
369406 testRequest (t , ts .URL + "/get/xx/abc/" , "" , "/get/:param/abc/" )
370407 testRequest (t , ts .URL + "/get/tt/abc/" , "" , "/get/:param/abc/" )
@@ -373,10 +410,55 @@ func TestTreeRunDynamicRouting(t *testing.T) {
373410 testRequest (t , ts .URL + "/get/aa/abc/" , "" , "/get/:param/abc/" )
374411 testRequest (t , ts .URL + "/get/abas/abc/" , "" , "/get/:param/abc/" )
375412 testRequest (t , ts .URL + "/something/secondthing/test" , "" , "/something/secondthing/test" )
413+ testRequest (t , ts .URL + "/something/secondthingaaaa/thirdthing" , "" , "/something/:paramname/thirdthing" )
376414 testRequest (t , ts .URL + "/something/abcdad/thirdthing" , "" , "/something/:paramname/thirdthing" )
377415 testRequest (t , ts .URL + "/something/se/thirdthing" , "" , "/something/:paramname/thirdthing" )
378416 testRequest (t , ts .URL + "/something/s/thirdthing" , "" , "/something/:paramname/thirdthing" )
379417 testRequest (t , ts .URL + "/something/secondthing/thirdthing" , "" , "/something/:paramname/thirdthing" )
418+ testRequest (t , ts .URL + "/get/abc" , "" , "/get/abc" )
419+ testRequest (t , ts .URL + "/get/a" , "" , "/get/:param" )
420+ testRequest (t , ts .URL + "/get/abz" , "" , "/get/:param" )
421+ testRequest (t , ts .URL + "/get/12a" , "" , "/get/:param" )
422+ testRequest (t , ts .URL + "/get/abcd" , "" , "/get/:param" )
423+ testRequest (t , ts .URL + "/get/abc/123abc" , "" , "/get/abc/123abc" )
424+ testRequest (t , ts .URL + "/get/abc/12" , "" , "/get/abc/:param" )
425+ testRequest (t , ts .URL + "/get/abc/123ab" , "" , "/get/abc/:param" )
426+ testRequest (t , ts .URL + "/get/abc/xyz" , "" , "/get/abc/:param" )
427+ testRequest (t , ts .URL + "/get/abc/123abcddxx" , "" , "/get/abc/:param" )
428+ testRequest (t , ts .URL + "/get/abc/123abc/xxx8" , "" , "/get/abc/123abc/xxx8" )
429+ testRequest (t , ts .URL + "/get/abc/123abc/x" , "" , "/get/abc/123abc/:param" )
430+ testRequest (t , ts .URL + "/get/abc/123abc/xxx" , "" , "/get/abc/123abc/:param" )
431+ testRequest (t , ts .URL + "/get/abc/123abc/abc" , "" , "/get/abc/123abc/:param" )
432+ testRequest (t , ts .URL + "/get/abc/123abc/xxx8xxas" , "" , "/get/abc/123abc/:param" )
433+ testRequest (t , ts .URL + "/get/abc/123abc/xxx8/1234" , "" , "/get/abc/123abc/xxx8/1234" )
434+ testRequest (t , ts .URL + "/get/abc/123abc/xxx8/1" , "" , "/get/abc/123abc/xxx8/:param" )
435+ testRequest (t , ts .URL + "/get/abc/123abc/xxx8/123" , "" , "/get/abc/123abc/xxx8/:param" )
436+ testRequest (t , ts .URL + "/get/abc/123abc/xxx8/78k" , "" , "/get/abc/123abc/xxx8/:param" )
437+ testRequest (t , ts .URL + "/get/abc/123abc/xxx8/1234xxxd" , "" , "/get/abc/123abc/xxx8/:param" )
438+ testRequest (t , ts .URL + "/get/abc/123abc/xxx8/1234/ffas" , "" , "/get/abc/123abc/xxx8/1234/ffas" )
439+ testRequest (t , ts .URL + "/get/abc/123abc/xxx8/1234/f" , "" , "/get/abc/123abc/xxx8/1234/:param" )
440+ testRequest (t , ts .URL + "/get/abc/123abc/xxx8/1234/ffa" , "" , "/get/abc/123abc/xxx8/1234/:param" )
441+ testRequest (t , ts .URL + "/get/abc/123abc/xxx8/1234/kka" , "" , "/get/abc/123abc/xxx8/1234/:param" )
442+ testRequest (t , ts .URL + "/get/abc/123abc/xxx8/1234/ffas321" , "" , "/get/abc/123abc/xxx8/1234/:param" )
443+ testRequest (t , ts .URL + "/get/abc/123abc/xxx8/1234/kkdd/12c" , "" , "/get/abc/123abc/xxx8/1234/kkdd/12c" )
444+ testRequest (t , ts .URL + "/get/abc/123abc/xxx8/1234/kkdd/1" , "" , "/get/abc/123abc/xxx8/1234/kkdd/:param" )
445+ testRequest (t , ts .URL + "/get/abc/123abc/xxx8/1234/kkdd/12" , "" , "/get/abc/123abc/xxx8/1234/kkdd/:param" )
446+ testRequest (t , ts .URL + "/get/abc/123abc/xxx8/1234/kkdd/12b" , "" , "/get/abc/123abc/xxx8/1234/kkdd/:param" )
447+ testRequest (t , ts .URL + "/get/abc/123abc/xxx8/1234/kkdd/34" , "" , "/get/abc/123abc/xxx8/1234/kkdd/:param" )
448+ testRequest (t , ts .URL + "/get/abc/123abc/xxx8/1234/kkdd/12c2e3" , "" , "/get/abc/123abc/xxx8/1234/kkdd/:param" )
449+ testRequest (t , ts .URL + "/get/abc/12/test" , "" , "/get/abc/:param/test" )
450+ testRequest (t , ts .URL + "/get/abc/123abdd/test" , "" , "/get/abc/:param/test" )
451+ testRequest (t , ts .URL + "/get/abc/123abdddf/test" , "" , "/get/abc/:param/test" )
452+ testRequest (t , ts .URL + "/get/abc/123ab/test" , "" , "/get/abc/:param/test" )
453+ testRequest (t , ts .URL + "/get/abc/123abgg/test" , "" , "/get/abc/:param/test" )
454+ testRequest (t , ts .URL + "/get/abc/123abff/test" , "" , "/get/abc/:param/test" )
455+ testRequest (t , ts .URL + "/get/abc/123abffff/test" , "" , "/get/abc/:param/test" )
456+ testRequest (t , ts .URL + "/get/abc/123abd/test" , "" , "/get/abc/123abd/:param" )
457+ testRequest (t , ts .URL + "/get/abc/123abddd/test" , "" , "/get/abc/123abddd/:param" )
458+ testRequest (t , ts .URL + "/get/abc/123/test22" , "" , "/get/abc/123/:param" )
459+ testRequest (t , ts .URL + "/get/abc/123abg/test" , "" , "/get/abc/123abg/:param" )
460+ testRequest (t , ts .URL + "/get/abc/123abf/testss" , "" , "/get/abc/123abf/:param" )
461+ testRequest (t , ts .URL + "/get/abc/123abfff/te" , "" , "/get/abc/123abfff/:param" )
380462 // 404 not found
381463 testRequest (t , ts .URL + "/a/dd" , "404 Not Found" )
382464 testRequest (t , ts .URL + "/addr/dd/aa" , "404 Not Found" )
0 commit comments