package main import ( "testing" "github.com/kataras/iris/v12/core/memstore" "github.com/kataras/iris/v12/httptest" ) func TestSameParameterTypeDifferentMacroFunctions(t *testing.T) { app := newApp() e := httptest.New(t, app) type resp struct { Handler string `json:"handler"` Params memstore.Store `json:"params"` } var ( expectedIndex = resp{ Handler: "iris/_examples/routing/dynamic-path/same-pattern-different-func.handler1", Params: nil, } expectedHTMLPage = resp{ Handler: "iris/_examples/routing/dynamic-path/same-pattern-different-func.handler1", Params: memstore.Store{ {Key: "page", ValueRaw: "random.html"}, }, } expectedZipName = resp{ Handler: "iris/_examples/routing/dynamic-path/same-pattern-different-func.handler2", Params: memstore.Store{ {Key: "name", ValueRaw: "random.zip"}, }, } ) e.GET("/").Expect().Status(httptest.StatusOK).JSON().Equal(expectedIndex) e.GET("/api/random.html").Expect().Status(httptest.StatusOK).JSON().Equal(expectedHTMLPage) e.GET("/api/random.zip").Expect().Status(httptest.StatusOK).JSON().Equal(expectedZipName) }