Author: bago
Date: Fri Jun 20 08:58:23 2008
New Revision: 669959
URL: http://svn.apache.org/viewvc?rev=669959&view=rev
Log:
Test for Extracted CRLFOutputStream from ExtraDotOutputStream (remove com.sun
dependency)
Added:
james/server/trunk/phoenix-deployment/src/test/org/apache/james/util/CRLFOutputStreamTest.java
(with props)
Added:
james/server/trunk/phoenix-deployment/src/test/org/apache/james/util/CRLFOutputStreamTest.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/phoenix-deployment/src/test/org/apache/james/util/CRLFOutputStreamTest.java?rev=669959&view=auto
==============================================================================
---
james/server/trunk/phoenix-deployment/src/test/org/apache/james/util/CRLFOutputStreamTest.java
(added)
+++
james/server/trunk/phoenix-deployment/src/test/org/apache/james/util/CRLFOutputStreamTest.java
Fri Jun 20 08:58:23 2008
@@ -0,0 +1,72 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+
+package org.apache.james.util;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+
+import junit.framework.TestCase;
+
+/**
+ * Tests for the ExtraDotOutputStream
+ */
+public class CRLFOutputStreamTest extends TestCase {
+
+ public void testMain() throws IOException {
+ String data = ".This is a test\r\nof the thing.\r\nWe should not have
much trouble.\r\n.doubled?\r\nor not?\n.doubled\nor not?\r\n\r\n\n\n\r\r\r\n";
+ ByteArrayOutputStream bOut = new ByteArrayOutputStream();
+ OutputStream os = new CRLFOutputStream(bOut);
+ os.write(data.getBytes());
+ os.flush();
+ String expected = ".This is a test\r\nof the thing.\r\nWe should not
have much trouble.\r\n.doubled?\r\nor not?\r\n.doubled\r\nor
not?\r\n\r\n\r\n\r\n\r\n\r\n\r\n";
+ assertEquals(expected,bOut.toString());
+ }
+
+ /*
+ * Test method for
'org.apache.james.util.ExtraDotOutputStream.checkCRLFTerminator()'
+ */
+ public void testCheckCRLFTerminator() throws IOException {
+ ByteArrayOutputStream bOut = new ByteArrayOutputStream();
+ CRLFOutputStream os = new CRLFOutputStream(bOut);
+ // if the stream is empty then we should not add the CRLF.
+ os.checkCRLFTerminator();
+ os.flush();
+ assertEquals("",bOut.toString());
+ os.write("Test".getBytes());
+ os.flush();
+ assertEquals("Test",bOut.toString());
+ os.checkCRLFTerminator();
+ os.flush();
+ assertEquals("Test\r\n",bOut.toString());
+ // if the stream ends with \r we should simply add the \n
+ os.write("A line with incomplete ending\r".getBytes());
+ os.flush();
+ assertEquals("Test\r\nA line with incomplete
ending\r",bOut.toString());
+ os.checkCRLFTerminator();
+ os.flush();
+ assertEquals("Test\r\nA line with incomplete
ending\r\n",bOut.toString());
+ // already correctly terminated, should leave the output untouched
+ os.checkCRLFTerminator();
+ os.flush();
+ assertEquals("Test\r\nA line with incomplete
ending\r\n",bOut.toString());
+ }
+
+}
Propchange:
james/server/trunk/phoenix-deployment/src/test/org/apache/james/util/CRLFOutputStreamTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
james/server/trunk/phoenix-deployment/src/test/org/apache/james/util/CRLFOutputStreamTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]