|
3 | 3 | // 📌 API Documentation: https://docs.gofiber.io
|
4 | 4 |
|
5 | 5 | //nolint:bodyclose // Much easier to just ignore memory leaks in tests
|
| 6 | +//nolint:goconst // Ignore constant variable |
6 | 7 | package fiber
|
7 | 8 |
|
8 | 9 | import (
|
@@ -471,6 +472,53 @@ func Test_Route_Static_HasPrefix(t *testing.T) {
|
471 | 472 | body, err = io.ReadAll(resp.Body)
|
472 | 473 | utils.AssertEqual(t, nil, err, "app.Test(req)")
|
473 | 474 | utils.AssertEqual(t, true, strings.Contains(app.getString(body), "color"))
|
| 475 | + |
| 476 | + app = New() |
| 477 | + app.Static("/css", dir) |
| 478 | + |
| 479 | + resp, err = app.Test(httptest.NewRequest(MethodGet, "/css/style.css", nil)) |
| 480 | + utils.AssertEqual(t, nil, err, "app.Test(req)") |
| 481 | + utils.AssertEqual(t, 200, resp.StatusCode, "Status code") |
| 482 | + |
| 483 | + body, err = io.ReadAll(resp.Body) |
| 484 | + utils.AssertEqual(t, nil, err, "app.Test(req)") |
| 485 | + utils.AssertEqual(t, true, strings.Contains(app.getString(body), "color")) |
| 486 | +} |
| 487 | + |
| 488 | +func Test_Route_Static_SubApp(t *testing.T) { |
| 489 | + t.Parallel() |
| 490 | + |
| 491 | + dir := "./.github/testdata/fs/css" |
| 492 | + app := New() |
| 493 | + |
| 494 | + // subapp |
| 495 | + subApp := New() |
| 496 | + subApp.Static("/css", dir) |
| 497 | + app.Mount("/sub", subApp) |
| 498 | + |
| 499 | + // nested subapp |
| 500 | + nestApp := New() |
| 501 | + nestApp.Static("/css", dir) |
| 502 | + subApp.Mount("/nest", nestApp) |
| 503 | + |
| 504 | + // test subapp |
| 505 | + resp, err := app.Test(httptest.NewRequest(MethodGet, "/sub/css/style.css", nil)) |
| 506 | + utils.AssertEqual(t, nil, err, "app.Test(req)") |
| 507 | + utils.AssertEqual(t, 200, resp.StatusCode, "Status code") |
| 508 | + |
| 509 | + body, err := io.ReadAll(resp.Body) |
| 510 | + utils.AssertEqual(t, nil, err, "app.Test(req)") |
| 511 | + utils.AssertEqual(t, true, strings.Contains(app.getString(body), "color")) |
| 512 | + |
| 513 | + // test nested subapp |
| 514 | + |
| 515 | + resp, err = app.Test(httptest.NewRequest(MethodGet, "/sub/nest/css/style.css", nil)) |
| 516 | + utils.AssertEqual(t, nil, err, "app.Test(req)") |
| 517 | + utils.AssertEqual(t, 200, resp.StatusCode, "Status code") |
| 518 | + |
| 519 | + body, err = io.ReadAll(resp.Body) |
| 520 | + utils.AssertEqual(t, nil, err, "app.Test(req)") |
| 521 | + utils.AssertEqual(t, true, strings.Contains(app.getString(body), "color")) |
474 | 522 | }
|
475 | 523 |
|
476 | 524 | func Test_Router_NotFound(t *testing.T) {
|
|
0 commit comments