@@ -1061,14 +1061,46 @@ assert.equal(buf.readInt8(0), -1);
10611061 assert . equal ( buf . slice ( - 10 , 10 ) , '0123456789' ) ;
10621062 assert . equal ( buf . slice ( - 20 , 10 ) , '0123456789' ) ;
10631063 assert . equal ( buf . slice ( - 20 , - 10 ) , '' ) ;
1064+ assert . equal ( buf . slice ( ) , '0123456789' ) ;
1065+ assert . equal ( buf . slice ( 0 ) , '0123456789' ) ;
1066+ assert . equal ( buf . slice ( 0 , 0 ) , '' ) ;
1067+ assert . equal ( buf . slice ( undefined ) , '0123456789' ) ;
1068+ assert . equal ( buf . slice ( 'foobar' ) , '0123456789' ) ;
1069+ assert . equal ( buf . slice ( undefined , undefined ) , '0123456789' ) ;
1070+
1071+ assert . equal ( buf . slice ( 2 ) , '23456789' ) ;
1072+ assert . equal ( buf . slice ( 5 ) , '56789' ) ;
1073+ assert . equal ( buf . slice ( 10 ) , '' ) ;
1074+ assert . equal ( buf . slice ( 5 , 8 ) , '567' ) ;
1075+ assert . equal ( buf . slice ( 8 , - 1 ) , '8' ) ;
1076+ assert . equal ( buf . slice ( - 10 ) , '0123456789' ) ;
1077+ assert . equal ( buf . slice ( 0 , - 9 ) , '0' ) ;
1078+ assert . equal ( buf . slice ( 0 , - 10 ) , '' ) ;
10641079 assert . equal ( buf . slice ( 0 , - 1 ) , '012345678' ) ;
10651080 assert . equal ( buf . slice ( 2 , - 2 ) , '234567' ) ;
10661081 assert . equal ( buf . slice ( 0 , 65536 ) , '0123456789' ) ;
10671082 assert . equal ( buf . slice ( 65536 , 0 ) , '' ) ;
1083+ assert . equal ( buf . slice ( - 5 , - 8 ) , '' ) ;
1084+ assert . equal ( buf . slice ( - 5 , - 3 ) , '56' ) ;
1085+ assert . equal ( buf . slice ( - 10 , 10 ) , '0123456789' ) ;
10681086 for ( var i = 0 , s = buf . toString ( ) ; i < buf . length ; ++ i ) {
1087+ assert . equal ( buf . slice ( i ) , s . slice ( i ) ) ;
1088+ assert . equal ( buf . slice ( 0 , i ) , s . slice ( 0 , i ) ) ;
10691089 assert . equal ( buf . slice ( - i ) , s . slice ( - i ) ) ;
10701090 assert . equal ( buf . slice ( 0 , - i ) , s . slice ( 0 , - i ) ) ;
10711091 }
1092+
1093+ var utf16Buf = new Buffer ( '0123456789' , 'utf16le' ) ;
1094+ assert . deepEqual ( utf16Buf . slice ( 0 , 6 ) , Buffer ( '012' , 'utf16le' ) ) ;
1095+
1096+ assert . equal ( buf . slice ( '0' , '1' ) , '0' ) ;
1097+ assert . equal ( buf . slice ( '-5' , '10' ) , '56789' ) ;
1098+ assert . equal ( buf . slice ( '-10' , '10' ) , '0123456789' ) ;
1099+ assert . equal ( buf . slice ( '-10' , '-5' ) , '01234' ) ;
1100+ assert . equal ( buf . slice ( '-10' , '-0' ) , '' ) ;
1101+ assert . equal ( buf . slice ( '111' ) , '' ) ;
1102+ assert . equal ( buf . slice ( '0' , '-111' ) , '' ) ;
1103+
10721104 // try to slice a zero length Buffer
10731105 // see https://github.com/joyent/node/issues/5881
10741106 SlowBuffer ( 0 ) . slice ( 0 , 1 ) ;
0 commit comments