MCPcopy
hub / github.com/gofiber/fiber / Test_Ctx_Render_Mount_ParentOrSubHasViews

Function Test_Ctx_Render_Mount_ParentOrSubHasViews

mount_test.go:537–606  ·  view source on GitHub ↗

go test -run Test_Ctx_Render_Mount_ParentOrSubHasViews

(t *testing.T)

Source from the content-addressed store, hash-verified

535
536// go test -run Test_Ctx_Render_Mount_ParentOrSubHasViews
537func 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

Callers

nothing calls this directly

Calls 7

LoadMethod · 0.95
TestMethod · 0.80
NewFunction · 0.70
GetMethod · 0.65
RenderMethod · 0.65
ParamsMethod · 0.65
UseMethod · 0.65

Tested by

no test coverage detected