(t *testing.T)
| 759 | } |
| 760 | |
| 761 | func TestContextInitQueryCache(t *testing.T) { |
| 762 | validURL, err := url.Parse("https://github.com/gin-gonic/gin/pull/3969?key=value&otherkey=othervalue") |
| 763 | require.NoError(t, err) |
| 764 | |
| 765 | tests := []struct { |
| 766 | testName string |
| 767 | testContext *Context |
| 768 | expectedQueryCache url.Values |
| 769 | }{ |
| 770 | { |
| 771 | testName: "queryCache should remain unchanged if already not nil", |
| 772 | testContext: &Context{ |
| 773 | queryCache: url.Values{"a": []string{"b"}}, |
| 774 | Request: &http.Request{URL: validURL}, // valid request for evidence that values weren't extracted |
| 775 | }, |
| 776 | expectedQueryCache: url.Values{"a": []string{"b"}}, |
| 777 | }, |
| 778 | { |
| 779 | testName: "queryCache should be empty when Request is nil", |
| 780 | testContext: &Context{Request: nil}, // explicit nil for readability |
| 781 | expectedQueryCache: url.Values{}, |
| 782 | }, |
| 783 | { |
| 784 | testName: "queryCache should be empty when Request.URL is nil", |
| 785 | testContext: &Context{Request: &http.Request{URL: nil}}, // explicit nil for readability |
| 786 | expectedQueryCache: url.Values{}, |
| 787 | }, |
| 788 | { |
| 789 | testName: "queryCache should be populated when it not yet populated and Request + Request.URL are non nil", |
| 790 | testContext: &Context{Request: &http.Request{URL: validURL}}, // explicit nil for readability |
| 791 | expectedQueryCache: url.Values{"key": []string{"value"}, "otherkey": []string{"othervalue"}}, |
| 792 | }, |
| 793 | } |
| 794 | |
| 795 | for _, test := range tests { |
| 796 | t.Run(test.testName, func(t *testing.T) { |
| 797 | test.testContext.initQueryCache() |
| 798 | assert.Equal(t, test.expectedQueryCache, test.testContext.queryCache) |
| 799 | }) |
| 800 | } |
| 801 | } |
| 802 | |
| 803 | func TestContextDefaultQueryOnEmptyRequest(t *testing.T) { |
| 804 | c, _ := CreateTestContext(httptest.NewRecorder()) // here c.Request == nil |
nothing calls this directly
no test coverage detected
searching dependent graphs…