@@ -330,6 +330,60 @@ assert(internalCapacity<i32>(arr) == 5);
330330assert ( arr [ 0 ] == 44 ) ;
331331assert ( arr [ 1 ] == 42 ) ;
332332
333+ // Array#splice ////////////////////////////////////////////////////////////////////////////////////
334+
335+ var sarr : i32 [ ] = [ 1 , 2 , 3 , 4 , 5 ] ;
336+ assert ( isArraysEqual < i32 > ( sarr . splice ( 0 ) , < i32 [ ] > [ 1 , 2 , 3 , 4 , 5 ] ) ) ;
337+ assert ( isArraysEqual < i32 > ( sarr , < i32 [ ] > [ ] ) ) ;
338+
339+ sarr = < i32 [ ] > [ 1 , 2 , 3 , 4 , 5 ] ;
340+ assert ( isArraysEqual < i32 > ( sarr . splice ( 2 ) , < i32 [ ] > [ 3 , 4 , 5 ] ) ) ;
341+ assert ( isArraysEqual < i32 > ( sarr , < i32 [ ] > [ 1 , 2 ] ) ) ;
342+
343+ sarr = < i32 [ ] > [ 1 , 2 , 3 , 4 , 5 ] ;
344+ assert ( isArraysEqual < i32 > ( sarr . splice ( 2 , 2 ) , < i32 [ ] > [ 3 , 4 ] ) ) ;
345+ assert ( isArraysEqual < i32 > ( sarr , < i32 [ ] > [ 1 , 2 , 5 ] ) ) ;
346+
347+ sarr = < i32 [ ] > [ 1 , 2 , 3 , 4 , 5 ] ;
348+ assert ( isArraysEqual < i32 > ( sarr . splice ( 0 , 1 ) , < i32 [ ] > [ 1 ] ) ) ;
349+ assert ( isArraysEqual < i32 > ( sarr , < i32 [ ] > [ 2 , 3 , 4 , 5 ] ) ) ;
350+
351+ sarr = < i32 [ ] > [ 1 , 2 , 3 , 4 , 5 ] ;
352+ assert ( isArraysEqual < i32 > ( sarr . splice ( - 1 ) , < i32 [ ] > [ 5 ] ) ) ;
353+ assert ( isArraysEqual < i32 > ( sarr , < i32 [ ] > [ 1 , 2 , 3 , 4 ] ) ) ;
354+
355+ sarr = < i32 [ ] > [ 1 , 2 , 3 , 4 , 5 ] ;
356+ assert ( isArraysEqual < i32 > ( sarr . splice ( - 2 ) , < i32 [ ] > [ 4 , 5 ] ) ) ;
357+ assert ( isArraysEqual < i32 > ( sarr , < i32 [ ] > [ 1 , 2 , 3 ] ) ) ;
358+
359+ sarr = < i32 [ ] > [ 1 , 2 , 3 , 4 , 5 ] ;
360+ assert ( isArraysEqual < i32 > ( sarr . splice ( - 2 , 1 ) , < i32 [ ] > [ 4 ] ) ) ;
361+ assert ( isArraysEqual < i32 > ( sarr , < i32 [ ] > [ 1 , 2 , 3 , 5 ] ) ) ;
362+
363+ sarr = < i32 [ ] > [ 1 , 2 , 3 , 4 , 5 ] ;
364+ assert ( isArraysEqual < i32 > ( sarr . splice ( - 7 , 1 ) , < i32 [ ] > [ 1 ] ) ) ;
365+ assert ( isArraysEqual < i32 > ( sarr , < i32 [ ] > [ 2 , 3 , 4 , 5 ] ) ) ;
366+
367+ sarr = < i32 [ ] > [ 1 , 2 , 3 , 4 , 5 ] ;
368+ assert ( isArraysEqual < i32 > ( sarr . splice ( - 2 , - 1 ) , < i32 [ ] > [ ] ) ) ;
369+ assert ( isArraysEqual < i32 > ( sarr , < i32 [ ] > [ 1 , 2 , 3 , 4 , 5 ] ) ) ;
370+
371+ sarr = < i32 [ ] > [ 1 , 2 , 3 , 4 , 5 ] ;
372+ assert ( isArraysEqual < i32 > ( sarr . splice ( 1 , - 2 ) , < i32 [ ] > [ ] ) ) ;
373+ assert ( isArraysEqual < i32 > ( sarr , < i32 [ ] > [ 1 , 2 , 3 , 4 , 5 ] ) ) ;
374+
375+ sarr = < i32 [ ] > [ 1 , 2 , 3 , 4 , 5 ] ;
376+ assert ( isArraysEqual < i32 > ( sarr . splice ( 4 , 0 ) , < i32 [ ] > [ ] ) ) ;
377+ assert ( isArraysEqual < i32 > ( sarr , < i32 [ ] > [ 1 , 2 , 3 , 4 , 5 ] ) ) ;
378+
379+ sarr = < i32 [ ] > [ 1 , 2 , 3 , 4 , 5 ] ;
380+ assert ( isArraysEqual < i32 > ( sarr . splice ( 7 , 0 ) , < i32 [ ] > [ ] ) ) ;
381+ assert ( isArraysEqual < i32 > ( sarr , < i32 [ ] > [ 1 , 2 , 3 , 4 , 5 ] ) ) ;
382+
383+ sarr = < i32 [ ] > [ 1 , 2 , 3 , 4 , 5 ] ;
384+ assert ( isArraysEqual < i32 > ( sarr . splice ( 7 , 5 ) , < i32 [ ] > [ ] ) ) ;
385+ assert ( isArraysEqual < i32 > ( sarr , < i32 [ ] > [ 1 , 2 , 3 , 4 , 5 ] ) ) ;
386+
333387// Array#findIndex /////////////////////////////////////////////////////////////////////////////////
334388
335389arr [ 0 ] = 0 ;
0 commit comments