@@ -247,18 +247,6 @@ func TestDelete(t *testing.T) {
247247 []float64 {1.1 , 2.2 , 3.3 },
248248 }),
249249 },
250- {
251- name : "delete with index -1 does nothing" ,
252- target : ottl.StandardGetSetter [any ]{
253- Getter : func (_ context.Context , _ any ) (any , error ) {
254- return getSlice (t , []any {0 , 1 , 2 , 3 , 4 , 5 }), nil
255- },
256- Setter : setter ,
257- },
258- index : getIntGetter (- 1 ),
259- length : nilOptional ,
260- expected : getSlice (t , []any {0 , 1 , 2 , 3 , 4 , 5 }),
261- },
262250 {
263251 name : "delete all elements" ,
264252 target : ottl.StandardGetSetter [any ]{
@@ -271,18 +259,6 @@ func TestDelete(t *testing.T) {
271259 length : ottl .NewTestingOptional (getIntGetter (5 )),
272260 expected : getSlice (t , []any {}),
273261 },
274- {
275- name : "endIndex exceeds slice length" ,
276- target : ottl.StandardGetSetter [any ]{
277- Getter : func (_ context.Context , _ any ) (any , error ) {
278- return getSlice (t , []any {0 , 1 , 2 , 3 }), nil
279- },
280- Setter : setter ,
281- },
282- index : getIntGetter (1 ),
283- length : ottl .NewTestingOptional (getIntGetter (5 )),
284- expected : getSlice (t , []any {0 }),
285- },
286262 {
287263 name : "target is pcommon.Value slice" ,
288264 target : ottl.StandardGetSetter [any ]{
@@ -305,8 +281,7 @@ func TestDelete(t *testing.T) {
305281
306282 for _ , tc := range testCases {
307283 t .Run (tc .name , func (t * testing.T ) {
308- exprFunc , err := deleteFrom (tc .target , tc .index , tc .length )
309- assert .NoError (t , err )
284+ exprFunc := deleteFrom (tc .target , tc .index , tc .length )
310285
311286 res := pcommon .NewSlice ()
312287 result , err := exprFunc (t .Context (), res )
@@ -418,14 +393,37 @@ func TestDelete_Errors(t *testing.T) {
418393 length : ottl .NewTestingOptional (getIntGetter (0 )),
419394 expectedErr : "length must be positive, got 0" ,
420395 },
396+ {
397+ name : "deletion range out of bounds" ,
398+ target : ottl.StandardGetSetter [any ]{
399+ Getter : func (_ context.Context , _ any ) (any , error ) {
400+ return getSlice (t , []any {0 , 1 , 2 , 3 }), nil
401+ },
402+ Setter : setter ,
403+ },
404+ index : getIntGetter (2 ),
405+ length : ottl .NewTestingOptional (getIntGetter (5 )),
406+ expectedErr : "deletion range [2:7] out of bounds" ,
407+ },
408+ {
409+ name : "negative index" ,
410+ target : ottl.StandardGetSetter [any ]{
411+ Getter : func (_ context.Context , _ any ) (any , error ) {
412+ return getSlice (t , []any {0 , 1 , 2 , 3 }), nil
413+ },
414+ Setter : setter ,
415+ },
416+ index : getIntGetter (- 1 ),
417+ length : nilOptional ,
418+ expectedErr : "index -1 out of bounds" ,
419+ },
421420 }
422421 for _ , etc := range errorTestCases {
423422 t .Run (etc .name , func (t * testing.T ) {
424- exprFunc , err := deleteFrom (etc .target , etc .index , etc .length )
425- assert .NoError (t , err )
423+ exprFunc := deleteFrom (etc .target , etc .index , etc .length )
426424
427425 res := pcommon .NewSlice ()
428- _ , err = exprFunc (t .Context (), res )
426+ _ , err : = exprFunc (t .Context (), res )
429427 assert .ErrorContains (t , err , etc .expectedErr )
430428 })
431429 }
0 commit comments