common/collections: Always make a copy of the input slice in Append

Fixes #10458.
This commit is contained in:
Bjørn Erik Pedersen
2023-06-14 09:44:18 +02:00
parent d178fe94fe
commit f73c567534
2 changed files with 19 additions and 0 deletions

View File

@@ -129,3 +129,15 @@ func TestAppendToMultiDimensionalSlice(t *testing.T) {
}
}
func TestAppendShouldMakeACopyOfTheInputSlice(t *testing.T) {
t.Parallel()
c := qt.New(t)
slice := make([]string, 0, 100)
slice = append(slice, "a", "b")
result, err := Append(slice, "c")
c.Assert(err, qt.IsNil)
slice[0] = "d"
c.Assert(result, qt.DeepEquals, []string{"a", "b", "c"})
c.Assert(slice, qt.DeepEquals, []string{"d", "b"})
}