mirror of
https://github.com/kataras/iris.git
synced 2025-12-18 10:27:06 +00:00
fix https://github.com/kataras/iris/issues/1473 and add test for https://github.com/kataras/iris/issues/1468 https://github.com/kataras/iris/pull/1474 https://github.com/kataras/iris/pull/1475
Former-commit-id: 3e7d927761a5d5559b65ea3f91b94e3dc523a187
This commit is contained in:
@@ -585,3 +585,42 @@ func TestControllerRequestScopedDependencies(t *testing.T) {
|
||||
})
|
||||
e.GET("/custom/context").Expect().Status(httptest.StatusOK).Body().Equal("test")
|
||||
}
|
||||
|
||||
type (
|
||||
testServiceDoSomething struct{}
|
||||
|
||||
TestControllerAsDeepDep struct {
|
||||
Ctx iris.Context
|
||||
Service *testServiceDoSomething
|
||||
}
|
||||
|
||||
FooController struct {
|
||||
TestControllerAsDeepDep
|
||||
}
|
||||
|
||||
BarController struct {
|
||||
FooController
|
||||
}
|
||||
|
||||
FinalController struct {
|
||||
BarController
|
||||
}
|
||||
)
|
||||
|
||||
func (s *testServiceDoSomething) DoSomething(ctx iris.Context) {
|
||||
ctx.WriteString("foo bar")
|
||||
}
|
||||
|
||||
func (c *FinalController) GetSomething() {
|
||||
c.Service.DoSomething(c.Ctx)
|
||||
}
|
||||
|
||||
func TestControllersInsideControllerDeep(t *testing.T) {
|
||||
app := iris.New()
|
||||
m := New(app)
|
||||
m.Register(new(testServiceDoSomething))
|
||||
m.Handle(new(FinalController))
|
||||
|
||||
e := httptest.New(t, app)
|
||||
e.GET("/something").Expect().Status(httptest.StatusOK).Body().Equal("foo bar")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user