Author: sebb Date: Tue Mar 15 23:10:26 2011 New Revision: 1081989 URL: http://svn.apache.org/viewvc?rev=1081989&view=rev Log: Additional tests
Modified: commons/proper/net/trunk/src/test/java/org/apache/commons/net/io/DotTerminatedMessageReaderTest.java Modified: commons/proper/net/trunk/src/test/java/org/apache/commons/net/io/DotTerminatedMessageReaderTest.java URL: http://svn.apache.org/viewvc/commons/proper/net/trunk/src/test/java/org/apache/commons/net/io/DotTerminatedMessageReaderTest.java?rev=1081989&r1=1081988&r2=1081989&view=diff ============================================================================== --- commons/proper/net/trunk/src/test/java/org/apache/commons/net/io/DotTerminatedMessageReaderTest.java (original) +++ commons/proper/net/trunk/src/test/java/org/apache/commons/net/io/DotTerminatedMessageReaderTest.java Tue Mar 15 23:10:26 2011 @@ -79,4 +79,33 @@ public class DotTerminatedMessageReaderT assertEquals("Hello World!\r" + SEP,str.toString()); } + public void testLeadingDot() throws IOException { + final String test = "Hello World!\r\n..text\r\n.\r\n"; + reader = new DotTerminatedMessageReader(new StringReader(test)); + + int read = 0; + while ((read = reader.read(buf)) != -1) { + str.append(buf, 0, read); + } + + assertEquals("Hello World!" + SEP+".text"+SEP,str.toString()); + } + + // This test agrees with the Javadoc. + // However the sequence should not happen for well-behaved NNTP and POP3 servers + public void testSingleDotWithTrailingText() throws IOException { + final String test = "Hello World!\r\n.text\r\n"; + reader = new DotTerminatedMessageReader(new StringReader(test)); + + int read = 0; + while ((read = reader.read(buf)) != -1) { + str.append(buf, 0, read); + } + + assertEquals("Hello World!" + SEP,str.toString()); + + // Note: the StringReader input will still contain "xt\r\n" + // because DTMR treats the "te" as CRLF + } + }