Skip to content

Commit cfc0f12

Browse files
author
Kevin Wiesmüller
committed
add respective deep:false tests
1 parent 735d11c commit cfc0f12

File tree

1 file changed

+76
-1
lines changed

1 file changed

+76
-1
lines changed

typed/remove_test.go

Lines changed: 76 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ func TestRemove(t *testing.T) {
2626
object: `{"a": "value"}`,
2727
remove: fieldpath.NewSet(fieldpath.MakePathOrDie("a")),
2828
deep: true,
29-
expect: `null`,
29+
expect: ``,
3030
},
3131
{
3232
object: `{"a": "value", "b": "value"}`,
@@ -98,6 +98,81 @@ func TestRemove(t *testing.T) {
9898
deep: true,
9999
expect: `{"a": "value", "b": {"c":"value", "d": null}}`,
100100
},
101+
{
102+
object: `{}`,
103+
remove: fieldpath.NewSet(fieldpath.MakePathOrDie("a")),
104+
deep: false,
105+
expect: ``,
106+
},
107+
{
108+
object: `{"a": "value"}`,
109+
remove: fieldpath.NewSet(fieldpath.MakePathOrDie("a")),
110+
deep: false,
111+
expect: ``,
112+
},
113+
{
114+
object: `{"a": "value", "b": "value"}`,
115+
remove: fieldpath.NewSet(fieldpath.MakePathOrDie("a")),
116+
deep: false,
117+
expect: `{"b": "value"}`,
118+
},
119+
{
120+
object: `{"a": "value", "b": {}}`,
121+
remove: fieldpath.NewSet(fieldpath.MakePathOrDie("a")),
122+
deep: false,
123+
expect: `{"b": {}}`,
124+
},
125+
{
126+
object: `{"a": "value", "b": {"c":"value"}}`,
127+
remove: fieldpath.NewSet(fieldpath.MakePathOrDie("b")),
128+
deep: false,
129+
expect: `{"a": "value"}`,
130+
},
131+
{
132+
object: `{"a": "value", "b": {"c":"value"}}`,
133+
remove: fieldpath.NewSet(fieldpath.MakePathOrDie("b", "c")),
134+
deep: false,
135+
// TODO: is a null result expected (insted of a {})
136+
expect: `{"a": "value", "b": null}`,
137+
},
138+
{
139+
object: `{"a": "value", "b": []}`,
140+
remove: fieldpath.NewSet(fieldpath.MakePathOrDie("b")),
141+
deep: false,
142+
expect: `{"a": "value"}`,
143+
},
144+
{
145+
object: `{"a": "value", "b": ["c"]}`,
146+
remove: fieldpath.NewSet(fieldpath.MakePathOrDie("b", "c")),
147+
deep: false,
148+
expect: `{"a": "value", "b": null}`,
149+
},
150+
{
151+
object: `{"a": "value", "b": ["c", "d"]}`,
152+
remove: fieldpath.NewSet(fieldpath.MakePathOrDie("b", "c")),
153+
deep: false,
154+
// TODO: is this expected?
155+
expect: `{"a": "value", "b": null}`,
156+
},
157+
{
158+
object: `{"a": "value", "b": [{"c": "value"}, {"d": "value"}]}`,
159+
remove: fieldpath.NewSet(fieldpath.MakePathOrDie("b", "c")),
160+
deep: false,
161+
// TODO: is this expected?
162+
expect: `{"a": "value", "b": null}`,
163+
},
164+
{
165+
object: `{"a": "value", "b": {"c":"value", "d":{"e":"value"}}}`,
166+
remove: fieldpath.NewSet(fieldpath.MakePathOrDie("b", "d")),
167+
deep: false,
168+
expect: `{"a": "value", "b": {"c":"value"}}`,
169+
},
170+
{
171+
object: `{"a": "value", "b": {"c":"value", "d": {"e":"value"}}}`,
172+
remove: fieldpath.NewSet(fieldpath.MakePathOrDie("b", "d", "e")),
173+
deep: false,
174+
expect: `{"a": "value", "b": {"c":"value", "d": null}}`,
175+
},
101176
}
102177

103178
for i, c := range cases {

0 commit comments

Comments
 (0)