@@ -54,30 +54,38 @@ contract TestBytesLib2 {
5454 */
5555
5656 function testSlice () public {
57- bytes memory memBytes33 = hex "f00d0000000000000000000000000000000000000000000000000000000000feed " ;
57+ bytes memory memBytes = hex "f00d0000000000000000000000000000000000000000000000000000000000feedf00d00000000000000000000000000000000000000000000000000000000feed " ;
5858
5959 bytes memory testBytes;
6060 bytes memory resultBytes;
6161
6262 testBytes = hex "f00d " ;
63- resultBytes = memBytes33 .slice (0 ,2 );
63+ resultBytes = memBytes .slice (0 ,2 );
6464 AssertBytes.equal (resultBytes, testBytes, "Normal slicing array failed. " );
6565
6666 testBytes = hex "" ;
67- resultBytes = memBytes33 .slice (1 ,0 );
67+ resultBytes = memBytes .slice (1 ,0 );
6868 AssertBytes.equal (resultBytes, testBytes, "Slicing with zero-length failed. " );
6969
7070 testBytes = hex "" ;
71- resultBytes = memBytes33 .slice (0 ,0 );
71+ resultBytes = memBytes .slice (0 ,0 );
7272 AssertBytes.equal (resultBytes, testBytes, "Slicing with zero-length on index 0 failed. " );
7373
7474 testBytes = hex "feed " ;
75- resultBytes = memBytes33 .slice (31 ,2 );
75+ resultBytes = memBytes .slice (31 ,2 );
7676 AssertBytes.equal (resultBytes, testBytes, "Slicing across the 32-byte slot boundary failed. " );
7777
7878 testBytes = hex "f00d0000000000000000000000000000000000000000000000000000000000feed " ;
79- resultBytes = memBytes33 .slice (0 ,33 );
79+ resultBytes = memBytes .slice (0 ,33 );
8080 AssertBytes.equal (resultBytes, testBytes, "Full length slice failed. " );
81+
82+ testBytes = hex "f00d0000000000000000000000000000000000000000000000000000000000fe " ;
83+ resultBytes = memBytes.slice (0 ,32 );
84+ AssertBytes.equal (resultBytes, testBytes, "Multiple of 32 bytes slice failed. " );
85+
86+ testBytes = hex "f00d0000000000000000000000000000000000000000000000000000000000feedf00d00000000000000000000000000000000000000000000000000000000fe " ;
87+ resultBytes = memBytes.slice (0 ,64 );
88+ AssertBytes.equal (resultBytes, testBytes, "Multiple (*2) of 32 bytes slice failed. " );
8189
8290 // Now we're going to test for slicing actions that throw present in the functions below
8391 // with a ThrowProxy contract
0 commit comments