@@ -349,6 +349,25 @@ func TestTreeRunDynamicRouting(t *testing.T) {
349
349
router .GET ("/get/:param/abc/" , func (c * Context ) { c .String (http .StatusOK , "/get/:param/abc/" ) })
350
350
router .GET ("/something/:paramname/thirdthing" , func (c * Context ) { c .String (http .StatusOK , "/something/:paramname/thirdthing" ) })
351
351
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" ) })
352
371
353
372
ts := httptest .NewServer (router )
354
373
defer ts .Close ()
@@ -363,8 +382,26 @@ func TestTreeRunDynamicRouting(t *testing.T) {
363
382
testRequest (t , ts .URL + "/c/d/e/ff" , "" , "/:cc/:dd/:ee/ff" )
364
383
testRequest (t , ts .URL + "/c/d/e/f/gg" , "" , "/:cc/:dd/:ee/:ff/gg" )
365
384
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" )
366
386
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" )
367
403
testRequest (t , ts .URL + "/get/test/abc/" , "" , "/get/test/abc/" )
404
+ testRequest (t , ts .URL + "/get/testaa/abc/" , "" , "/get/:param/abc/" )
368
405
testRequest (t , ts .URL + "/get/te/abc/" , "" , "/get/:param/abc/" )
369
406
testRequest (t , ts .URL + "/get/xx/abc/" , "" , "/get/:param/abc/" )
370
407
testRequest (t , ts .URL + "/get/tt/abc/" , "" , "/get/:param/abc/" )
@@ -373,10 +410,55 @@ func TestTreeRunDynamicRouting(t *testing.T) {
373
410
testRequest (t , ts .URL + "/get/aa/abc/" , "" , "/get/:param/abc/" )
374
411
testRequest (t , ts .URL + "/get/abas/abc/" , "" , "/get/:param/abc/" )
375
412
testRequest (t , ts .URL + "/something/secondthing/test" , "" , "/something/secondthing/test" )
413
+ testRequest (t , ts .URL + "/something/secondthingaaaa/thirdthing" , "" , "/something/:paramname/thirdthing" )
376
414
testRequest (t , ts .URL + "/something/abcdad/thirdthing" , "" , "/something/:paramname/thirdthing" )
377
415
testRequest (t , ts .URL + "/something/se/thirdthing" , "" , "/something/:paramname/thirdthing" )
378
416
testRequest (t , ts .URL + "/something/s/thirdthing" , "" , "/something/:paramname/thirdthing" )
379
417
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" )
380
462
// 404 not found
381
463
testRequest (t , ts .URL + "/a/dd" , "404 Not Found" )
382
464
testRequest (t , ts .URL + "/addr/dd/aa" , "404 Not Found" )
0 commit comments