mirror of
https://github.com/labstack/echo.git
synced 2025-12-01 22:51:17 +02:00
round-trip paramValues without exploding (#1463)
This commit is contained in:
committed by
Vishal Rana
parent
5bf6888444
commit
8d7f05e533
@@ -93,6 +93,7 @@ func (responseWriterErr) WriteHeader(statusCode int) {
|
||||
|
||||
func TestContext(t *testing.T) {
|
||||
e := New()
|
||||
*e.maxParam = 1
|
||||
req := httptest.NewRequest(http.MethodPost, "/", strings.NewReader(userJSON))
|
||||
rec := httptest.NewRecorder()
|
||||
c := e.NewContext(req, rec).(*context)
|
||||
@@ -471,6 +472,7 @@ func TestContextPath(t *testing.T) {
|
||||
|
||||
func TestContextPathParam(t *testing.T) {
|
||||
e := New()
|
||||
*e.maxParam = 2
|
||||
req := httptest.NewRequest(http.MethodGet, "/", nil)
|
||||
c := e.NewContext(req, nil)
|
||||
|
||||
@@ -487,6 +489,26 @@ func TestContextPathParam(t *testing.T) {
|
||||
testify.Equal(t, "", c.Param("undefined"))
|
||||
}
|
||||
|
||||
func TestContextGetAndSetParam(t *testing.T) {
|
||||
e := New()
|
||||
*e.maxParam = 2
|
||||
req := httptest.NewRequest(http.MethodGet, "/:foo", nil)
|
||||
c := e.NewContext(req, nil)
|
||||
c.SetParamNames("foo")
|
||||
|
||||
// round-trip param values with modification
|
||||
paramVals := c.ParamValues()
|
||||
testify.EqualValues(t, []string{""}, c.ParamValues())
|
||||
paramVals[0] = "bar"
|
||||
c.SetParamValues(paramVals...)
|
||||
testify.EqualValues(t, []string{"bar"}, c.ParamValues())
|
||||
|
||||
// shouldn't explode during Reset() afterwards!
|
||||
testify.NotPanics(t, func() {
|
||||
c.Reset(nil, nil)
|
||||
})
|
||||
}
|
||||
|
||||
func TestContextFormValue(t *testing.T) {
|
||||
f := make(url.Values)
|
||||
f.Set("name", "Jon Snow")
|
||||
|
||||
Reference in New Issue
Block a user