diff --git a/pkg/data/data_test.go b/pkg/data/data_test.go index ab71d81acce92bad6496e6d28a5b361f4ba6b6a5..6d4ccfbddc3cfb364bbc3ed1c5684d9a4978cc38 100644 --- a/pkg/data/data_test.go +++ b/pkg/data/data_test.go @@ -8,6 +8,8 @@ import ( ) func TestDelete(t *testing.T) { + var uninitializedMap map[string]any + tests := []struct { name string in interface{} @@ -64,45 +66,45 @@ func TestDelete(t *testing.T) { }, { "object from uninitialized map", - (map[string]any)(nil), + uninitializedMap, "a", - (map[string]any)(nil), + uninitializedMap, }, { "object field from uninitialized map", - (map[string]any)(nil), + uninitializedMap, "a.b", - (map[string]any)(nil), + uninitializedMap, }, { "object field from first level array with uninitialized map", map[string]any{ - "a": []any{(map[string]any)(nil), map[string]any{"a": "1", "b": "2"}}, + "a": []any{uninitializedMap, map[string]any{"a": "1", "b": "2"}}, }, "a.b", map[string]any{ - "a": []any{(map[string]any)(nil), map[string]any{"a": "1", "b": "2"}}, + "a": []any{uninitializedMap, map[string]any{"a": "1", "b": "2"}}, }, }, { "object field from second level uninitialized map", map[string]any{ - "a": map[string]any{"a": (map[string]any)(nil), "b": map[string]any{"a": "1", "b": "2"}}, + "a": map[string]any{"a": uninitializedMap, "b": map[string]any{"a": "1", "b": "2"}}, }, "a.b.a", map[string]any{ - "a": map[string]any{"a": (map[string]any)(nil), "b": map[string]any{"b": "2"}}, + "a": map[string]any{"a": uninitializedMap, "b": map[string]any{"b": "2"}}, }, }, { "object from array with uninitialized map", []any{ - (map[string]any)(nil), + uninitializedMap, map[string]any{"a": 1, "b": "2"}, }, "a", []any{ - (map[string]any)(nil), + uninitializedMap, map[string]any{"a": 1, "b": "2"}, }, }, @@ -277,6 +279,8 @@ func TestSearch(t *testing.T) { } func TestSet(t *testing.T) { + var uninitializedMap map[string]any + type args struct { field string data any @@ -296,24 +300,24 @@ func TestSet(t *testing.T) { {"Map value", args{"a", map[string]interface{}{"a": "0"}, map[string]interface{}{"a": "a"}}, map[string]interface{}{"a": map[string]interface{}{"a": "a"}}, assert.NoError}, {"Slice", args{"a.a", map[string]interface{}{"a": []any{map[string]any{"a": "0"}, map[string]any{"a": "0", "b": "b"}}}, "a"}, map[string]interface{}{"a": []any{map[string]any{"a": "a"}, map[string]any{"a": "a", "b": "b"}}}, assert.NoError}, {"Slice", args{"a.0.a", map[string]interface{}{"a": []any{map[string]any{"a": "0"}, map[string]any{"a": "0", "b": "b"}}}, "a"}, map[string]interface{}{"a": []any{map[string]any{"a": "a"}, map[string]any{"a": "0", "b": "b"}}}, assert.NoError}, - {"Set the object for the uninitialized map", args{"a", (map[string]any)(nil), "a"}, (map[string]any)(nil), assert.Error}, - {"Set the object field for the uninitialized map", args{"a.b", (map[string]any)(nil), "a"}, (map[string]any)(nil), assert.Error}, + {"Set the object for the uninitialized map", args{"a", uninitializedMap, "a"}, uninitializedMap, assert.Error}, + {"Set the object field for the uninitialized map", args{"a.b", uninitializedMap, "a"}, uninitializedMap, assert.Error}, { "Set object field from first level array with uninitialized map", - args{"a.b", map[string]any{"a": []any{(map[string]any)(nil), map[string]any{"a": "1"}}}, "2"}, - map[string]any{"a": []any{(map[string]any)(nil), map[string]any{"a": "1"}}}, + args{"a.b", map[string]any{"a": []any{uninitializedMap, map[string]any{"a": "1"}}}, "2"}, + map[string]any{"a": []any{uninitializedMap, map[string]any{"a": "1"}}}, assert.Error, }, { "Set object field from second level uninitialized map", - args{"a.b.a", map[string]any{"a": map[string]any{"a": (map[string]any)(nil), "b": map[string]any{"b": "2"}}}, "1"}, - map[string]any{"a": map[string]any{"a": (map[string]any)(nil), "b": map[string]any{"a": "1", "b": "2"}}}, + args{"a.b.a", map[string]any{"a": map[string]any{"a": uninitializedMap, "b": map[string]any{"b": "2"}}}, "1"}, + map[string]any{"a": map[string]any{"a": uninitializedMap, "b": map[string]any{"a": "1", "b": "2"}}}, assert.NoError, }, { "Set object from array with uninitialized map", - args{"a", []any{(map[string]any)(nil), map[string]any{"b": "2"}}, "1"}, - []any{(map[string]any)(nil), map[string]any{"b": "2"}}, + args{"a", []any{uninitializedMap, map[string]any{"b": "2"}}, "1"}, + []any{uninitializedMap, map[string]any{"b": "2"}}, assert.Error, }, }