MCPcopy Index your code
hub / github.com/tinode/chat / TestMergeMaps

Function TestMergeMaps

server/utils_test.go:348–399  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

346}
347
348func TestMergeMaps(t *testing.T) {
349 cases := []struct {
350 dst map[string]any
351 src map[string]any
352 expected map[string]any
353 changed bool
354 }{
355 {
356 dst: map[string]any{"a": 1, "b": 2},
357 src: map[string]any{"b": 3, "c": 4},
358 expected: map[string]any{"a": 1, "b": 3, "c": 4},
359 changed: true,
360 },
361 {
362 dst: map[string]any{"a": 1, "b": map[string]any{"x": 1}},
363 src: map[string]any{"b": map[string]any{"y": 2}},
364 expected: map[string]any{"a": 1, "b": map[string]any{"x": 1, "y": 2}},
365 changed: true,
366 },
367 {
368 dst: map[string]any{"a": 1, "b": map[string]any{"x": 1}},
369 src: map[string]any{"b": map[string]any{"x": nullValue}},
370 expected: map[string]any{"a": 1, "b": map[string]any{}},
371 changed: true,
372 },
373 {
374 dst: map[string]any{"a": 1, "b": 2},
375 src: map[string]any{},
376 expected: map[string]any{"a": 1, "b": 2},
377 changed: false,
378 },
379 {
380 dst: nil,
381 src: map[string]any{"a": 1},
382 expected: map[string]any{"a": 1},
383 changed: true,
384 },
385 {
386 dst: map[string]any{"a": 1},
387 src: map[string]any{"a": nullValue},
388 expected: map[string]any{},
389 changed: true,
390 },
391 }
392
393 for _, tc := range cases {
394 got, changed := mergeMaps(tc.dst, tc.src)
395 if !reflect.DeepEqual(got, tc.expected) || changed != tc.changed {
396 t.Errorf("mergeMaps(%v, %v): expected (%v, %v), got (%v, %v)", tc.dst, tc.src, tc.expected, tc.changed, got, changed)
397 }
398 }
399}
400func TestMergeInterfaces(t *testing.T) {
401 cases := []struct {
402 dst any

Callers

nothing calls this directly

Calls 1

mergeMapsFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…