Home / Class/ LineBasedFrameDecoderTest Class — netty Architecture

LineBasedFrameDecoderTest Class — netty Architecture

Architecture documentation for the LineBasedFrameDecoderTest class in LineBasedFrameDecoderTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  619914ab_a3f8_75d9_9843_7bd13a7540ec["LineBasedFrameDecoderTest"]
  a42aabe2_d333_9ba6_fec6_af673c561e89["LineBasedFrameDecoderTest.java"]
  619914ab_a3f8_75d9_9843_7bd13a7540ec -->|defined in| a42aabe2_d333_9ba6_fec6_af673c561e89
  42ec8672_81c1_3a31_8d88_1f950f38892c["testDecodeWithStrip()"]
  619914ab_a3f8_75d9_9843_7bd13a7540ec -->|method| 42ec8672_81c1_3a31_8d88_1f950f38892c
  0ac89e4f_3776_d729_e0de_0a7d9596af5b["testDecodeWithoutStrip()"]
  619914ab_a3f8_75d9_9843_7bd13a7540ec -->|method| 0ac89e4f_3776_d729_e0de_0a7d9596af5b
  cfc1578c_87a6_7965_56fc_c04d22685314["testTooLongLine1()"]
  619914ab_a3f8_75d9_9843_7bd13a7540ec -->|method| cfc1578c_87a6_7965_56fc_c04d22685314
  90987902_3909_278f_5a88_d2cba0f519b9["testTooLongLine2()"]
  619914ab_a3f8_75d9_9843_7bd13a7540ec -->|method| 90987902_3909_278f_5a88_d2cba0f519b9
  83a3fc40_ba77_3913_9fa4_2b48225d6446["testTooLongLineWithFailFast()"]
  619914ab_a3f8_75d9_9843_7bd13a7540ec -->|method| 83a3fc40_ba77_3913_9fa4_2b48225d6446
  99b6d6a6_a2c5_5102_c8e5_8fa6ca953526["testDecodeSplitsCorrectly()"]
  619914ab_a3f8_75d9_9843_7bd13a7540ec -->|method| 99b6d6a6_a2c5_5102_c8e5_8fa6ca953526
  27c1f440_ba97_27b1_86e0_3c5744a89ce3["testFragmentedDecode()"]
  619914ab_a3f8_75d9_9843_7bd13a7540ec -->|method| 27c1f440_ba97_27b1_86e0_3c5744a89ce3
  1d7362b3_5dde_abee_c35c_d075a2c48f6c["testEmptyLine()"]
  619914ab_a3f8_75d9_9843_7bd13a7540ec -->|method| 1d7362b3_5dde_abee_c35c_d075a2c48f6c
  df2541ae_ec39_195b_dd4f_51215342c3ff["testNotFailFast()"]
  619914ab_a3f8_75d9_9843_7bd13a7540ec -->|method| df2541ae_ec39_195b_dd4f_51215342c3ff

Relationship Graph

Source Code

codec-base/src/test/java/io/netty/handler/codec/LineBasedFrameDecoderTest.java lines 32–215

public class LineBasedFrameDecoderTest {
    @Test
    public void testDecodeWithStrip() throws Exception {
        EmbeddedChannel ch = new EmbeddedChannel(new LineBasedFrameDecoder(8192, true, false));

        ch.writeInbound(copiedBuffer("first\r\nsecond\nthird", CharsetUtil.US_ASCII));

        ByteBuf buf = ch.readInbound();
        assertEquals("first", buf.toString(CharsetUtil.US_ASCII));

        ByteBuf buf2 = ch.readInbound();
        assertEquals("second", buf2.toString(CharsetUtil.US_ASCII));
        assertNull(ch.readInbound());
        ch.finish();

        ReferenceCountUtil.release(ch.readInbound());

        buf.release();
        buf2.release();
    }

    @Test
    public void testDecodeWithoutStrip() throws Exception {
        EmbeddedChannel ch = new EmbeddedChannel(new LineBasedFrameDecoder(8192, false, false));

        ch.writeInbound(copiedBuffer("first\r\nsecond\nthird", CharsetUtil.US_ASCII));

        ByteBuf buf = ch.readInbound();
        assertEquals("first\r\n", buf.toString(CharsetUtil.US_ASCII));

        ByteBuf buf2 = ch.readInbound();
        assertEquals("second\n", buf2.toString(CharsetUtil.US_ASCII));
        assertNull(ch.readInbound());
        ch.finish();
        ReferenceCountUtil.release(ch.readInbound());

        buf.release();
        buf2.release();
    }

    @Test
    public void testTooLongLine1() throws Exception {
        EmbeddedChannel ch = new EmbeddedChannel(new LineBasedFrameDecoder(16, false, false));

        try {
            ch.writeInbound(copiedBuffer("12345678901234567890\r\nfirst\nsecond", CharsetUtil.US_ASCII));
            fail();
        } catch (Exception e) {
            assertInstanceOf(TooLongFrameException.class, e);
        }

        ByteBuf buf = ch.readInbound();
        ByteBuf buf2 = copiedBuffer("first\n", CharsetUtil.US_ASCII);
        assertEquals(buf2, buf);
        assertFalse(ch.finish());

        buf.release();
        buf2.release();
    }

    @Test
    public void testTooLongLine2() throws Exception {
        EmbeddedChannel ch = new EmbeddedChannel(new LineBasedFrameDecoder(16, false, false));

        assertFalse(ch.writeInbound(copiedBuffer("12345678901234567", CharsetUtil.US_ASCII)));
        try {
            ch.writeInbound(copiedBuffer("890\r\nfirst\r\n", CharsetUtil.US_ASCII));
            fail();
        } catch (Exception e) {
            assertInstanceOf(TooLongFrameException.class, e);
        }

        ByteBuf buf = ch.readInbound();
        ByteBuf buf2 = copiedBuffer("first\r\n", CharsetUtil.US_ASCII);
        assertEquals(buf2, buf);
        assertFalse(ch.finish());

        buf.release();
        buf2.release();
    }

Frequently Asked Questions

What is the LineBasedFrameDecoderTest class?
LineBasedFrameDecoderTest is a class in the netty codebase, defined in codec-base/src/test/java/io/netty/handler/codec/LineBasedFrameDecoderTest.java.
Where is LineBasedFrameDecoderTest defined?
LineBasedFrameDecoderTest is defined in codec-base/src/test/java/io/netty/handler/codec/LineBasedFrameDecoderTest.java at line 32.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free