@@ -5618,6 +5618,7 @@ void testSubarrayBoolean() {
56185618 assertSame (ArrayUtils .EMPTY_BOOLEAN_ARRAY , ArrayUtils .subarray (ArrayUtils .EMPTY_BOOLEAN_ARRAY , 1 , 2 ),
56195619 "empty array, object test" );
56205620 assertSame (ArrayUtils .EMPTY_BOOLEAN_ARRAY , ArrayUtils .subarray (array , 4 , 1 ), "start > end, object test" );
5621+ assertSame (ArrayUtils .EMPTY_BOOLEAN_ARRAY , ArrayUtils .subarray (array , 2147483647 , -2147483648 ), "start > end, object test" );
56215622 assertSame (ArrayUtils .EMPTY_BOOLEAN_ARRAY , ArrayUtils .subarray (array , 3 , 3 ), "start == end, object test" );
56225623 assertSame (ArrayUtils .EMPTY_BOOLEAN_ARRAY , ArrayUtils .subarray (array , 8733 , 4 ),
56235624 "start overshoot, any end, object test" );
@@ -5649,6 +5650,7 @@ void testSubarrayByte() {
56495650 // empty-return tests
56505651 assertSame (ArrayUtils .EMPTY_BYTE_ARRAY , ArrayUtils .subarray (ArrayUtils .EMPTY_BYTE_ARRAY , 1 , 2 ), "empty array, object test" );
56515652 assertSame (ArrayUtils .EMPTY_BYTE_ARRAY , ArrayUtils .subarray (array , 4 , 1 ), "start > end, object test" );
5653+ assertSame (ArrayUtils .EMPTY_BYTE_ARRAY , ArrayUtils .subarray (array , 2147483647 , -2147483648 ), "start > end, possible overflow" );
56525654 assertSame (ArrayUtils .EMPTY_BYTE_ARRAY , ArrayUtils .subarray (array , 3 , 3 ), "start == end, object test" );
56535655 assertSame (ArrayUtils .EMPTY_BYTE_ARRAY , ArrayUtils .subarray (array , 8733 , 4 ), "start overshoot, any end, object test" );
56545656 // array type tests
@@ -5677,6 +5679,7 @@ void testSubarrayDouble() {
56775679 // empty-return tests
56785680 assertSame (ArrayUtils .EMPTY_DOUBLE_ARRAY , ArrayUtils .subarray (ArrayUtils .EMPTY_DOUBLE_ARRAY , 1 , 2 ), "empty array, object test" );
56795681 assertSame (ArrayUtils .EMPTY_DOUBLE_ARRAY , ArrayUtils .subarray (array , 4 , 1 ), "start > end, object test" );
5682+ assertSame (ArrayUtils .EMPTY_DOUBLE_ARRAY , ArrayUtils .subarray (array , 2147483647 , -2147483648 ), "start > end, possible overflow" );
56805683 assertSame (ArrayUtils .EMPTY_DOUBLE_ARRAY , ArrayUtils .subarray (array , 3 , 3 ), "start == end, object test" );
56815684 assertSame (ArrayUtils .EMPTY_DOUBLE_ARRAY , ArrayUtils .subarray (array , 8733 , 4 ), "start overshoot, any end, object test" );
56825685 // array type tests
@@ -5705,6 +5708,7 @@ void testSubarrayFloat() {
57055708 // empty-return tests
57065709 assertSame (ArrayUtils .EMPTY_FLOAT_ARRAY , ArrayUtils .subarray (ArrayUtils .EMPTY_FLOAT_ARRAY , 1 , 2 ), "empty array, object test" );
57075710 assertSame (ArrayUtils .EMPTY_FLOAT_ARRAY , ArrayUtils .subarray (array , 4 , 1 ), "start > end, object test" );
5711+ assertSame (ArrayUtils .EMPTY_FLOAT_ARRAY , ArrayUtils .subarray (array , 2147483647 , -2147483648 ), "start > end, possible overflow" );
57085712 assertSame (ArrayUtils .EMPTY_FLOAT_ARRAY , ArrayUtils .subarray (array , 3 , 3 ), "start == end, object test" );
57095713 assertSame (ArrayUtils .EMPTY_FLOAT_ARRAY , ArrayUtils .subarray (array , 8733 , 4 ), "start overshoot, any end, object test" );
57105714 // array type tests
@@ -5733,6 +5737,7 @@ void testSubarrayInt() {
57335737 // empty-return tests
57345738 assertSame (ArrayUtils .EMPTY_INT_ARRAY , ArrayUtils .subarray (ArrayUtils .EMPTY_INT_ARRAY , 1 , 2 ), "empty array, object test" );
57355739 assertSame (ArrayUtils .EMPTY_INT_ARRAY , ArrayUtils .subarray (array , 4 , 1 ), "start > end, object test" );
5740+ assertSame (ArrayUtils .EMPTY_INT_ARRAY , ArrayUtils .subarray (array , 2147483647 , -2147483648 ), "start > end, possible overflow" );
57365741 assertSame (ArrayUtils .EMPTY_INT_ARRAY , ArrayUtils .subarray (array , 3 , 3 ), "start == end, object test" );
57375742 assertSame (ArrayUtils .EMPTY_INT_ARRAY , ArrayUtils .subarray (array , 8733 , 4 ), "start overshoot, any end, object test" );
57385743 // array type tests
@@ -5781,6 +5786,7 @@ void testSubarrayLong() {
57815786 "empty array, object test" );
57825787
57835788 assertSame (ArrayUtils .EMPTY_LONG_ARRAY , ArrayUtils .subarray (array , 4 , 1 ), "start > end, object test" );
5789+ assertSame (ArrayUtils .EMPTY_LONG_ARRAY , ArrayUtils .subarray (array , 2147483647 , -2147483648 ), "start > end, possible overflow" );
57845790
57855791 assertSame (ArrayUtils .EMPTY_LONG_ARRAY , ArrayUtils .subarray (array , 3 , 3 ), "start == end, object test" );
57865792
@@ -5808,6 +5814,7 @@ void testSubarrayObject() {
58085814 assertNull (ArrayUtils .subarray (nullArray , 0 , 3 ), "null input" );
58095815 assertEquals ("" , StringUtils .join (ArrayUtils .subarray (ArrayUtils .EMPTY_OBJECT_ARRAY , 1 , 2 )), "empty array" );
58105816 assertEquals ("" , StringUtils .join (ArrayUtils .subarray (objectArray , 4 , 2 )), "start > end" );
5817+ assertEquals ("" , StringUtils .join (ArrayUtils .subarray (objectArray , 2147483647 , -2147483648 )), "start > end" );
58115818 assertEquals ("" , StringUtils .join (ArrayUtils .subarray (objectArray , 3 , 3 )), "start == end" );
58125819 assertEquals ("abcd" , StringUtils .join (ArrayUtils .subarray (objectArray , -2 , 4 )), "start undershoot, normal end" );
58135820 assertEquals ("" , StringUtils .join (ArrayUtils .subarray (objectArray , 33 , 4 )), "start overshoot, any end" );
@@ -5860,6 +5867,7 @@ void testSubarrayShort() {
58605867 assertSame (ArrayUtils .EMPTY_SHORT_ARRAY , ArrayUtils .subarray (ArrayUtils .EMPTY_SHORT_ARRAY , 1 , 2 ),
58615868 "empty array, object test" );
58625869 assertSame (ArrayUtils .EMPTY_SHORT_ARRAY , ArrayUtils .subarray (array , 4 , 1 ), "start > end, object test" );
5870+ assertSame (ArrayUtils .EMPTY_SHORT_ARRAY , ArrayUtils .subarray (array , 2147483647 , -2147483648 ), "start > end, possible overflow" );
58635871 assertSame (ArrayUtils .EMPTY_SHORT_ARRAY , ArrayUtils .subarray (array , 3 , 3 ), "start == end, object test" );
58645872 assertSame (ArrayUtils .EMPTY_SHORT_ARRAY , ArrayUtils .subarray (array , 8733 , 4 ),
58655873 "start overshoot, any end, object test" );
@@ -5895,6 +5903,7 @@ void testSubarrChar() {
58955903
58965904 assertSame (ArrayUtils .EMPTY_CHAR_ARRAY , ArrayUtils .subarray (ArrayUtils .EMPTY_CHAR_ARRAY , 1 , 2 ), "empty array, object test" );
58975905 assertSame (ArrayUtils .EMPTY_CHAR_ARRAY , ArrayUtils .subarray (array , 4 , 1 ), "start > end, object test" );
5906+ assertSame (ArrayUtils .EMPTY_CHAR_ARRAY , ArrayUtils .subarray (array , 2147483647 , -2147483648 ), "start > end, possible overflow" );
58985907 assertSame (ArrayUtils .EMPTY_CHAR_ARRAY , ArrayUtils .subarray (array , 3 , 3 ), "start == end, object test" );
58995908 assertSame (ArrayUtils .EMPTY_CHAR_ARRAY , ArrayUtils .subarray (array , 8733 , 4 ), "start overshoot, any end, object test" );
59005909
0 commit comments