go test -run Test_Ctx_Render_Mount_ParentOrSubHasViews
(t *testing.T)
| 535 | |
| 536 | // go test -run Test_Ctx_Render_Mount_ParentOrSubHasViews |
| 537 | func Test_Ctx_Render_Mount_ParentOrSubHasViews(t *testing.T) { |
| 538 | t.Parallel() |
| 539 | |
| 540 | engine := &testTemplateEngine{} |
| 541 | err := engine.Load() |
| 542 | require.NoError(t, err) |
| 543 | |
| 544 | engine2 := &testTemplateEngine{path: "testdata2"} |
| 545 | err = engine2.Load() |
| 546 | require.NoError(t, err) |
| 547 | |
| 548 | engine3 := &testTemplateEngine{path: "testdata3"} |
| 549 | err = engine3.Load() |
| 550 | require.NoError(t, err) |
| 551 | |
| 552 | sub := New(Config{ |
| 553 | Views: engine3, |
| 554 | }) |
| 555 | |
| 556 | sub2 := New(Config{ |
| 557 | Views: engine2, |
| 558 | }) |
| 559 | |
| 560 | app := New(Config{ |
| 561 | Views: engine, |
| 562 | }) |
| 563 | |
| 564 | app.Get("/test", func(c Ctx) error { |
| 565 | return c.Render("index.tmpl", Map{ |
| 566 | "Title": "Hello, World!", |
| 567 | }) |
| 568 | }) |
| 569 | |
| 570 | sub.Get("/world/:name", func(c Ctx) error { |
| 571 | return c.Render("hello_world.tmpl", Map{ |
| 572 | "Name": c.Params("name"), |
| 573 | }) |
| 574 | }) |
| 575 | |
| 576 | sub2.Get("/moment", func(c Ctx) error { |
| 577 | return c.Render("bruh.tmpl", Map{}) |
| 578 | }) |
| 579 | |
| 580 | sub.Use("/bruh", sub2) |
| 581 | app.Use("/hello", sub) |
| 582 | |
| 583 | resp, err := app.Test(httptest.NewRequest(MethodGet, "/hello/world/a", http.NoBody)) |
| 584 | require.Equal(t, StatusOK, resp.StatusCode, "Status code") |
| 585 | require.NoError(t, err, "app.Test(req)") |
| 586 | |
| 587 | body, err := io.ReadAll(resp.Body) |
| 588 | require.NoError(t, err) |
| 589 | require.Equal(t, "<h1>Hello a!</h1>", string(body)) |
| 590 | |
| 591 | resp, err = app.Test(httptest.NewRequest(MethodGet, "/test", http.NoBody)) |
| 592 | require.Equal(t, StatusOK, resp.StatusCode, "Status code") |
| 593 | require.NoError(t, err, "app.Test(req)") |
| 594 |