1616import java .util .concurrent .Executors ;
1717import java .util .concurrent .Future ;
1818
19+ import io .netty .util .ReferenceCountUtil ;
1920import org .apache .commons .io .IOUtils ;
2021import org .mockito .Mockito ;
2122import org .testng .annotations .Test ;
@@ -32,12 +33,15 @@ public void testNoBytesSkipped() throws Exception {
3233 HttpResponseStreamHandler streamHandler = new HttpResponseStreamHandler (callback );
3334 ChannelHandlerContext ctx = Mockito .mock (ChannelHandlerContext .class );
3435 ByteBuf buffer = generateByteBuf ();
35- streamHandler .channelRead0 (ctx , buffer );
36+ ByteBuf readBuffer = buffer .copy ();
37+ assertEquals (buffer .refCnt (), 1 );
38+ streamHandler .channelRead (ctx , buffer );
3639 streamHandler .channelInactive (ctx );
37-
40+ assertEquals ( buffer . refCnt (), 0 );
3841 try (InputStream inputStream = callback .getInputStream ()) {
39- assertTrue (IOUtils .contentEquals (inputStream , new ByteBufInputStream (buffer )));
42+ assertTrue (IOUtils .contentEquals (inputStream , new ByteBufInputStream (readBuffer )));
4043 }
44+ ReferenceCountUtil .release (readBuffer );
4145 }
4246
4347 @ Test
@@ -46,16 +50,19 @@ public void testReadByteByByte() throws Exception {
4650 HttpResponseStreamHandler streamHandler = new HttpResponseStreamHandler (callback );
4751 ChannelHandlerContext ctx = Mockito .mock (ChannelHandlerContext .class );
4852 ByteBuf buffer = generateByteBuf ();
49- streamHandler .channelRead0 (ctx , buffer );
53+ ByteBuf readBuffer = buffer .copy ();
54+ assertEquals (buffer .refCnt (), 1 );
55+ streamHandler .channelRead (ctx , buffer );
5056 streamHandler .channelInactive (ctx );
51-
57+ assertEquals ( buffer . refCnt (), 0 );
5258 try (InputStream inputStream = callback .getInputStream ()) {
53- for (int i = 0 ; i < buffer .readableBytes (); i ++) {
59+ for (int i = 0 ; i < readBuffer .readableBytes (); i ++) {
5460 int b = inputStream .read ();
55- assertEquals (b , buffer .getByte (i ));
61+ assertEquals (b , readBuffer .getByte (i ));
5662 }
5763 assertTrue (inputStream .read () == -1 );
5864 }
65+ ReferenceCountUtil .release (readBuffer );
5966 }
6067
6168 @ Test
0 commit comments