@@ -0,0 +1,3247 @@
+/*%0A * Copyright 2012 The Netty Project%0A *%0A * The Netty Project licenses this file to you under the Apache License,%0A * version 2.0 (the %22License%22); you may not use this file except in compliance%0A * with the License. You may obtain a copy of the License at:%0A *%0A *   http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS, WITHOUT%0A * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the%0A * License for the specific language governing permissions and limitations%0A * under the License.%0A */%0Apackage io.netty.handler.codec;%0A%0Aimport static org.junit.Assert.*;%0A%0Aimport java.nio.charset.Charset;%0A%0Aimport org.junit.Test;%0A%0Aimport io.netty.buffer.ByteBuf;%0Aimport io.netty.buffer.Unpooled;%0Aimport io.netty.channel.embedded.EmbeddedByteChannel;%0A%0Apublic class DelimiterBasedFrameDecoderTest %7B%0A%0A    @Test%0A    public void testMultipleLinesStrippedDelimiters() %7B%0A        EmbeddedByteChannel ch = new EmbeddedByteChannel(new DelimiterBasedFrameDecoder(8192, true, Delimiters.lineDelimiter()));%0A        ch.writeInbound(Unpooled.copiedBuffer(%22TestLine%5Cr%5Cng%5Cr%5Cn%22, Charset.defaultCharset()));%0A        assertEquals(%22TestLine%22, ((ByteBuf)ch.readInbound()).toString(Charset.defaultCharset()));%0A        assertEquals(%22g%22, ((ByteBuf)ch.readInbound()).toString(Charset.defaultCharset()));%0A        assertNull(ch.readInbound());%0A    %7D%0A%0A    @Test%0A    public void testIncompleteLinesStrippedDelimiters() %7B%0A        EmbeddedByteChannel ch = new EmbeddedByteChannel(new DelimiterBasedFrameDecoder(8192, true, Delimiters.lineDelimiter()));%0A        ch.writeInbound(Unpooled.copiedBuffer(%22Test%22, Charset.defaultCharset()));%0A        assertNull(ch.readInbound());%0A        ch.writeInbound(Unpooled.copiedBuffer(%22Line%5Cr%5Cng%5Cr%5Cn%22, Charset.defaultCharset()));%0A        assertEquals(%22TestLine%22, ((ByteBuf)ch.readInbound()).toString(Charset.defaultCharset()));%0A        assertEquals(%22g%22, ((ByteBuf)ch.readInbound()).toString(Charset.defaultCharset()));%0A        assertNull(ch.readInbound());%0A    %7D%0A%0A    @Test%0A    public void testMultipleLines() %7B%0A        EmbeddedByteChannel ch = new EmbeddedByteChannel(new DelimiterBasedFrameDecoder(8192, false, Delimiters.lineDelimiter()));%0A        ch.writeInbound(Unpooled.copiedBuffer(%22TestLine%5Cr%5Cng%5Cr%5Cn%22, Charset.defaultCharset()));%0A        assertEquals(%22TestLine%5Cr%5Cn%22, ((ByteBuf)ch.readInbound()).toString(Charset.defaultCharset()));%0A        assertEquals(%22g%5Cr%5Cn%22, ((ByteBuf)ch.readInbound()).toString(Charset.defaultCharset()));%0A        assertNull(ch.readInbound());%0A    %7D%0A%0A    @Test%0A    public void testIncompleteLines() %7B%0A        EmbeddedByteChannel ch = new EmbeddedByteChannel(new DelimiterBasedFrameDecoder(8192, false, Delimiters.lineDelimiter()));%0A        ch.writeInbound(Unpooled.copiedBuffer(%22Test%22, Charset.defaultCharset()));%0A        assertNull(ch.readInbound());%0A        ch.writeInbound(Unpooled.copiedBuffer(%22Line%5Cr%5Cng%5Cr%5Cn%22, Charset.defaultCharset()));%0A        assertEquals(%22TestLine%5Cr%5Cn%22, ((ByteBuf)ch.readInbound()).toString(Charset.defaultCharset()));%0A        assertEquals(%22g%5Cr%5Cn%22, ((ByteBuf)ch.readInbound()).toString(Charset.defaultCharset()));%0A        assertNull(ch.readInbound());%0A    %7D%0A%7D%0A

Add a basic unit test that I wrote while porting niosmtp to netty 4