@Test public void maxFrameSizeHonored() throws Exception { peer.setVariantAndClient(HTTP_2, false); byte[] buff = new byte[peer.maxOutboundDataLength() + 1]; Arrays.fill(buff, (byte) '*'); // write the mocking script peer.acceptFrame(); // SYN_STREAM peer.sendFrame().synReply(false, 3, headerEntries("a", "android")); peer.acceptFrame(); // DATA peer.acceptFrame(); // DATA peer.play(); // play it back FramedConnection connection = connection(peer, HTTP_2); FramedStream stream = connection.newStream(headerEntries("b", "banana"), true, true); BufferedSink out = Okio.buffer(stream.getSink()); out.write(buff); out.flush(); out.close(); MockSpdyPeer.InFrame synStream = peer.takeFrame(); assertEquals(TYPE_HEADERS, synStream.type); MockSpdyPeer.InFrame data = peer.takeFrame(); assertEquals(peer.maxOutboundDataLength(), data.data.length); data = peer.takeFrame(); assertEquals(1, data.data.length); }