Home / Function/ TestTreeWildcard() — gin Function Reference

TestTreeWildcard() — gin Function Reference

Architecture documentation for the TestTreeWildcard() function in tree_test.go from the gin codebase.

Entity Profile

Dependency Diagram

graph TD
  8338dde0_51f4_e3bb_6501_dfda7fff741b["TestTreeWildcard()"]
  95642d64_cc2a_14f0_a93c_52464b2a60b9["tree_test.go"]
  8338dde0_51f4_e3bb_6501_dfda7fff741b -->|defined in| 95642d64_cc2a_14f0_a93c_52464b2a60b9
  93c1c821_291f_3e71_2ae0_563c40ff3ee5["fakeHandler()"]
  8338dde0_51f4_e3bb_6501_dfda7fff741b -->|calls| 93c1c821_291f_3e71_2ae0_563c40ff3ee5
  8d0f5c35_d7ba_9350_dd86_97ac6e33ccfa["checkRequests()"]
  8338dde0_51f4_e3bb_6501_dfda7fff741b -->|calls| 8d0f5c35_d7ba_9350_dd86_97ac6e33ccfa
  d156c0cc_ed4f_7800_da03_d68e73428a71["checkPriorities()"]
  8338dde0_51f4_e3bb_6501_dfda7fff741b -->|calls| d156c0cc_ed4f_7800_da03_d68e73428a71
  style 8338dde0_51f4_e3bb_6501_dfda7fff741b fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

tree_test.go lines 138–323

func TestTreeWildcard(t *testing.T) {
	tree := &node{}

	routes := [...]string{
		"/",
		"/cmd/:tool/",
		"/cmd/:tool/:sub",
		"/cmd/whoami",
		"/cmd/whoami/root",
		"/cmd/whoami/root/",
		"/src/*filepath",
		"/search/",
		"/search/:query",
		"/search/gin-gonic",
		"/search/google",
		"/user_:name",
		"/user_:name/about",
		"/files/:dir/*filepath",
		"/doc/",
		"/doc/go_faq.html",
		"/doc/go1.html",
		"/info/:user/public",
		"/info/:user/project/:project",
		"/info/:user/project/golang",
		"/aa/*xx",
		"/ab/*xx",
		"/:cc",
		"/c1/:dd/e",
		"/c1/:dd/e1",
		"/:cc/cc",
		"/:cc/:dd/ee",
		"/:cc/:dd/:ee/ff",
		"/:cc/:dd/:ee/:ff/gg",
		"/:cc/:dd/:ee/:ff/:gg/hh",
		"/get/test/abc/",
		"/get/:param/abc/",
		"/something/:paramname/thirdthing",
		"/something/secondthing/test",
		"/get/abc",
		"/get/:param",
		"/get/abc/123abc",
		"/get/abc/:param",
		"/get/abc/123abc/xxx8",
		"/get/abc/123abc/:param",
		"/get/abc/123abc/xxx8/1234",
		"/get/abc/123abc/xxx8/:param",
		"/get/abc/123abc/xxx8/1234/ffas",
		"/get/abc/123abc/xxx8/1234/:param",
		"/get/abc/123abc/xxx8/1234/kkdd/12c",
		"/get/abc/123abc/xxx8/1234/kkdd/:param",
		"/get/abc/:param/test",
		"/get/abc/123abd/:param",
		"/get/abc/123abddd/:param",
		"/get/abc/123/:param",
		"/get/abc/123abg/:param",
		"/get/abc/123abf/:param",
		"/get/abc/123abfff/:param",
		"/get/abc/escaped_colon/test\\:param",
	}
	for _, route := range routes {
		tree.addRoute(route, fakeHandler(route))
	}

	checkRequests(t, tree, testRequests{
		{"/", false, "/", nil},
		{"/cmd/test", true, "/cmd/:tool/", Params{Param{"tool", "test"}}},
		{"/cmd/test/", false, "/cmd/:tool/", Params{Param{"tool", "test"}}},
		{"/cmd/test/3", false, "/cmd/:tool/:sub", Params{Param{Key: "tool", Value: "test"}, Param{Key: "sub", Value: "3"}}},
		{"/cmd/who", true, "/cmd/:tool/", Params{Param{"tool", "who"}}},
		{"/cmd/who/", false, "/cmd/:tool/", Params{Param{"tool", "who"}}},
		{"/cmd/whoami", false, "/cmd/whoami", nil},
		{"/cmd/whoami/", true, "/cmd/whoami", nil},
		{"/cmd/whoami/r", false, "/cmd/:tool/:sub", Params{Param{Key: "tool", Value: "whoami"}, Param{Key: "sub", Value: "r"}}},
		{"/cmd/whoami/r/", true, "/cmd/:tool/:sub", Params{Param{Key: "tool", Value: "whoami"}, Param{Key: "sub", Value: "r"}}},
		{"/cmd/whoami/root", false, "/cmd/whoami/root", nil},
		{"/cmd/whoami/root/", false, "/cmd/whoami/root/", nil},
		{"/src/", false, "/src/*filepath", Params{Param{Key: "filepath", Value: "/"}}},
		{"/src/some/file.png", false, "/src/*filepath", Params{Param{Key: "filepath", Value: "/some/file.png"}}},
		{"/search/", false, "/search/", nil},
		{"/search/someth!ng+in+ünìcodé", false, "/search/:query", Params{Param{Key: "query", Value: "someth!ng+in+ünìcodé"}}},
		{"/search/someth!ng+in+ünìcodé/", true, "", Params{Param{Key: "query", Value: "someth!ng+in+ünìcodé"}}},

Domain

Subdomains

Defined In

Frequently Asked Questions

What does TestTreeWildcard() do?
TestTreeWildcard() is a function in the gin codebase, defined in tree_test.go.
Where is TestTreeWildcard() defined?
TestTreeWildcard() is defined in tree_test.go at line 138.
What does TestTreeWildcard() call?
TestTreeWildcard() calls 3 function(s): checkPriorities, checkRequests, fakeHandler.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free