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

Function Test_parseToMap

binder/mapping_test.go:146–193  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

144}
145
146func Test_parseToMap(t *testing.T) {
147 t.Parallel()
148
149 inputMap := map[string][]string{
150 "key1": {"value1", "value2"},
151 "key2": {"value3"},
152 "key3": {"value4"},
153 }
154
155 // Test map[string]string
156 m := make(map[string]string)
157 err := parseToMap(reflect.ValueOf(m), inputMap)
158 require.NoError(t, err)
159
160 require.Equal(t, "value2", m["key1"])
161 require.Equal(t, "value3", m["key2"])
162 require.Equal(t, "value4", m["key3"])
163
164 // Test map[string][]string
165 m2 := make(map[string][]string)
166 err = parseToMap(reflect.ValueOf(m2), inputMap)
167 require.NoError(t, err)
168
169 require.Len(t, m2["key1"], 2)
170 require.Contains(t, m2["key1"], "value1")
171 require.Contains(t, m2["key1"], "value2")
172 require.Len(t, m2["key2"], 1)
173 require.Len(t, m2["key3"], 1)
174
175 // Test map[string]any
176 m3 := make(map[string]any)
177 err = parseToMap(reflect.ValueOf(m3), inputMap)
178 require.NoError(t, err)
179 require.Empty(t, m3)
180
181 var zeroStringMap map[string]string
182 err = parseToMap(reflect.ValueOf(&zeroStringMap).Elem(), inputMap)
183 require.NoError(t, err)
184 require.Equal(t, "value2", zeroStringMap["key1"])
185
186 var zeroSliceMap map[string][]string
187 err = parseToMap(reflect.ValueOf(&zeroSliceMap).Elem(), inputMap)
188 require.NoError(t, err)
189 require.Len(t, zeroSliceMap["key1"], 2)
190
191 err = parseToMap(reflect.ValueOf(map[string]string(nil)), inputMap)
192 require.ErrorIs(t, err, ErrMapNilDestination)
193}
194
195func Test_FilterFlags(t *testing.T) {
196 t.Parallel()

Callers

nothing calls this directly

Calls 3

parseToMapFunction · 0.85
ContainsMethod · 0.80
LenMethod · 0.65

Tested by

no test coverage detected