@Test(expected = SpdyProtocolException.class)
public void testHeaderBlockExtraData() throws Exception {

    ByteBuf headerBlock = Unpooled.buffer(37);
    headerBlock.writeBytes(zlibHeader);
    headerBlock.writeByte(0); // Non-compressed block
    headerBlock.writeByte(0x15); // little-endian length (21)
    headerBlock.writeByte(0x00); // little-endian length (21)
    headerBlock.writeByte(0xea); // one's compliment of length
    headerBlock.writeByte(0xff); // one's compliment of length
    headerBlock.writeInt(1); // number of Name/Value pairs
    headerBlock.writeInt(4); // length of name
    headerBlock.writeBytes(nameBytes);
    headerBlock.writeInt(5); // length of value
    headerBlock.writeBytes(valueBytes);
    headerBlock.writeByte(0x19); // adler-32 checksum
    headerBlock.writeByte(0xa5); // adler-32 checksum
    headerBlock.writeByte(0x03); // adler-32 checksum
    headerBlock.writeByte(0xc9); // adler-32 checksum
    headerBlock.writeByte(0); // Data following zlib stream
    decoder.decode(ByteBufAllocator.DEFAULT, headerBlock, frame);
    headerBlock.release();
}