Home » HttpComponents-Core-4.0.1 » org.apache.http.io » [javadoc | source]

    1   /*
    2    * $HeadURL: https://svn.apache.org/repos/asf/jakarta/httpcomponents/httpcore/tags/4.0-alpha2/src/test/org/apache/http/io/TestContentLengthOutputStream.java $
    3    * $Revision: 321483 $
    4    * $Date: 2005-10-15 22:32:14 +0200 (Sat, 15 Oct 2005) $
    5    * ====================================================================
    6    *
    7    *  Copyright 2002-2004 The Apache Software Foundation
    8    *
    9    *  Licensed under the Apache License, Version 2.0 (the "License");
   10    *  you may not use this file except in compliance with the License.
   11    *  You may obtain a copy of the License at
   12    *
   13    *      http://www.apache.org/licenses/LICENSE-2.0
   14    *
   15    *  Unless required by applicable law or agreed to in writing, software
   16    *  distributed under the License is distributed on an "AS IS" BASIS,
   17    *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   18    *  See the License for the specific language governing permissions and
   19    *  limitations under the License.
   20    * ====================================================================
   21    *
   22    * This software consists of voluntary contributions made by many
   23    * individuals on behalf of the Apache Software Foundation.  For more
   24    * information on the Apache Software Foundation, please see
   25    * <http://www.apache.org/>.
   26    *
   27    */
   28   
   29   package org.apache.http.io;
   30   
   31   import java.io.ByteArrayOutputStream;
   32   import java.io.IOException;
   33   import java.io.OutputStream;
   34   
   35   import org.apache.http.mockup.HttpDataTransmitterMockup;
   36   
   37   import junit.framework.Test;
   38   import junit.framework.TestCase;
   39   import junit.framework.TestSuite;
   40   
   41   public class TestContentLengthOutputStream extends TestCase {
   42   
   43       public TestContentLengthOutputStream(String testName) {
   44           super(testName);
   45       }
   46   
   47       // ------------------------------------------------------- TestCase Methods
   48   
   49       public static Test suite() {
   50           return new TestSuite(TestContentLengthOutputStream.class);
   51       }
   52   
   53       // ------------------------------------------------------------------- Main
   54       public static void main(String args[]) {
   55           String[] testCaseName = { TestContentLengthOutputStream.class.getName() };
   56           junit.textui.TestRunner.main(testCaseName);
   57       }
   58   
   59       public void testConstructors() throws Exception {
   60           new ContentLengthOutputStream(new HttpDataTransmitterMockup(), 10L);
   61           try {
   62               new ContentLengthOutputStream(null, 10L);
   63               fail("IllegalArgumentException should have been thrown");
   64           } catch (IllegalArgumentException ex) {
   65               // expected
   66           }
   67           try {
   68               new ContentLengthOutputStream(new HttpDataTransmitterMockup(), -10);
   69               fail("IllegalArgumentException should have been thrown");
   70           } catch (IllegalArgumentException ex) {
   71               // expected
   72           }
   73       }
   74   
   75       public void testBasics() throws Exception {
   76       	ByteArrayOutputStream buffer = new ByteArrayOutputStream();
   77       	HttpDataTransmitterMockup datatransmitter = new HttpDataTransmitterMockup(buffer);
   78       	OutputStream out = new ContentLengthOutputStream(datatransmitter, 15L);
   79   
   80           byte[] tmp = new byte[10];
   81           out.write(tmp, 0, 10);
   82           out.write(1);
   83           out.write(tmp, 0, 10);
   84           out.write(tmp, 0, 10);
   85           out.write(tmp);
   86           out.write(1);
   87           out.write(2);
   88           out.flush();
   89           out.close();
   90           byte[] data = datatransmitter.getData();
   91           assertEquals(15, data.length);
   92       }
   93   
   94       public void testClose() throws Exception {
   95       	ByteArrayOutputStream buffer = new ByteArrayOutputStream();
   96       	HttpDataTransmitterMockup datatransmitter = new HttpDataTransmitterMockup(buffer);
   97       	OutputStream out = new ContentLengthOutputStream(datatransmitter, 15L);
   98       	out.close();
   99       	out.close();
  100           byte[] tmp = new byte[10];
  101           try {
  102           	out.write(tmp);
  103               fail("IOException should have been thrown");
  104           } catch (IOException ex) {
  105               // expected
  106           }
  107           try {
  108               out.write(1);
  109               fail("IOException should have been thrown");
  110           } catch (IOException ex) {
  111               // expected
  112           }
  113       }
  114       
  115   }
  116   

Home » HttpComponents-Core-4.0.1 » org.apache.http.io » [javadoc | source]