@@ -216,3 +216,35 @@ func TestGoSlice(t *testing.T) {
216216 assert .Equal (t , reflect .TypeOf ([]string {}), out .Type ())
217217 assert .EqualValues (t , []string {"bar" , "baz" }, out .Interface ())
218218}
219+
220+ func TestCollFuncs_Set (t * testing.T ) {
221+ t .Parallel ()
222+
223+ c := & CollFuncs {}
224+
225+ m := map [string ]interface {}{"foo" : "bar" }
226+ out , err := c .Set ("foo" , "baz" , m )
227+ require .NoError (t , err )
228+ assert .EqualValues (t , map [string ]interface {}{"foo" : "baz" }, out )
229+
230+ // m was modified so foo is now baz
231+ out , err = c .Set ("bar" , "baz" , m )
232+ require .NoError (t , err )
233+ assert .EqualValues (t , map [string ]interface {}{"foo" : "baz" , "bar" : "baz" }, out )
234+ }
235+
236+ func TestCollFuncs_Unset (t * testing.T ) {
237+ t .Parallel ()
238+
239+ c := & CollFuncs {}
240+
241+ m := map [string ]interface {}{"foo" : "bar" }
242+ out , err := c .Unset ("foo" , m )
243+ require .NoError (t , err )
244+ assert .Empty (t , out )
245+
246+ // no-op
247+ out , err = c .Unset ("bar" , m )
248+ require .NoError (t , err )
249+ assert .Empty (t , out )
250+ }
0 commit comments