MCPcopy
hub / github.com/MetaCubeX/mihomo / TestJSONSpecialCharacters

Function TestJSONSpecialCharacters

common/orderedmap/json_test.go:190–226  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

188const specialCharacters = "\uffff\ufffd世界\u007f\u00ff\U0010FFFF"
189
190func TestJSONSpecialCharacters(t *testing.T) {
191 baselineMap := map[string]any{specialCharacters: specialCharacters}
192 baselineData, err := json.Marshal(baselineMap)
193 require.NoError(t, err) // baseline proves this key is supported by official json library
194 t.Logf("specialCharacters: %#v as []rune:%v", specialCharacters, []rune(specialCharacters))
195 t.Logf("baseline json data: %s", baselineData)
196
197 t.Run("marshal special characters", func(t *testing.T) {
198 om := New[string, any]()
199 om.Set(specialCharacters, specialCharacters)
200 b, err := json.Marshal(om)
201 require.NoError(t, err)
202 require.Equal(t, baselineData, b)
203
204 type myString string
205 om2 := New[myString, myString]()
206 om2.Set(specialCharacters, specialCharacters)
207 b, err = json.Marshal(om2)
208 require.NoError(t, err)
209 require.Equal(t, baselineData, b)
210 })
211
212 t.Run("unmarshall special characters", func(t *testing.T) {
213 om := New[string, any]()
214 require.NoError(t, json.Unmarshal(baselineData, &om))
215 assertOrderedPairsEqual(t, om,
216 []string{specialCharacters},
217 []any{specialCharacters})
218
219 type myString string
220 om2 := New[myString, myString]()
221 require.NoError(t, json.Unmarshal(baselineData, &om2))
222 assertOrderedPairsEqual(t, om2,
223 []myString{specialCharacters},
224 []myString{specialCharacters})
225 })
226}
227
228// to test structs that have nested map fields
229type nestedMaps struct {

Callers

nothing calls this directly

Calls 6

assertOrderedPairsEqualFunction · 0.85
NewFunction · 0.70
SetMethod · 0.65
EqualMethod · 0.65
RunMethod · 0.45
UnmarshalMethod · 0.45

Tested by

no test coverage detected