Beispiel #1
0
  @Test
  public void testDeflateAndInflate_Finished() throws Exception {
    byte[] data = new byte[512];
    Arrays.fill(data, (byte) '0');
    CodecBuffer deflaterInput = Buffers.wrap(data, 0, data.length);

    DeflaterEncoder encoder = new DeflaterEncoder();
    encoder.stored(context_, deflaterInput, null);
    encoder.deactivated(context_);
    CodecBuffer inflaterInput0 = context_.pollEvent();
    CodecBuffer inflaterInput1 = context_.pollEvent();
    if (context_.pollEvent() != null) {
      Assert.fail();
    }
    InflaterDecoder decoder = new InflaterDecoder(8, null, false);
    decoder.loaded(context_, inflaterInput0, null);
    decoder.loaded(context_, inflaterInput1, null);

    assertProcessedData(data);
    assertThat(((ArrayCodecBuffer) deflaterInput).referenceCount(), is(0));
    assertThat(((ArrayCodecBuffer) inflaterInput0).referenceCount(), is(0));
    assertThat(((ArrayCodecBuffer) inflaterInput1).referenceCount(), is(0));
  }