Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/apache/http/impl/TestHeaderGroup.java


1   /*
2    * $HeadURL: https://svn.apache.org/repos/asf/jakarta/httpcomponents/httpcore/tags/4.0-alpha2/src/test/org/apache/http/impl/TestHeaderGroup.java $
3    * $Revision: 376458 $
4    * $Date: 2006-02-09 23:22:06 +0100 (Thu, 09 Feb 2006) $
5    * 
6    * ====================================================================
7    *
8    *  Copyright 1999-2006 The Apache Software Foundation
9    *
10   *  Licensed under the Apache License, Version 2.0 (the "License");
11   *  you may not use this file except in compliance with the License.
12   *  You may obtain a copy of the License at
13   *
14   *      http://www.apache.org/licenses/LICENSE-2.0
15   *
16   *  Unless required by applicable law or agreed to in writing, software
17   *  distributed under the License is distributed on an "AS IS" BASIS,
18   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19   *  See the License for the specific language governing permissions and
20   *  limitations under the License.
21   * ====================================================================
22   *
23   * This software consists of voluntary contributions made by many
24   * individuals on behalf of the Apache Software Foundation.  For more
25   * information on the Apache Software Foundation, please see
26   * <http://www.apache.org/>.
27   *
28   */
29  
30  package org.apache.http.impl;
31  
32  import java.util.Iterator;
33  
34  import org.apache.http.Header;
35  
36  import junit.framework.Test;
37  import junit.framework.TestCase;
38  import junit.framework.TestSuite;
39  
40  /**
41   * Unit tests for {@link HeaderGroup}.
42   *
43   * @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a>
44   */
45  public class TestHeaderGroup extends TestCase {
46  
47      public TestHeaderGroup(String testName) {
48          super(testName);
49      }
50  
51      public static void main(String args[]) {
52          String[] testCaseName = { TestHeaderGroup.class.getName() };
53          junit.textui.TestRunner.main(testCaseName);
54      }
55  
56      public static Test suite() {
57          return new TestSuite(TestHeaderGroup.class);
58      }
59  
60      public void testConstructor() {
61          HeaderGroup headergroup = new HeaderGroup();
62          assertNotNull(headergroup.getAllHeaders());
63          assertEquals(0, headergroup.getAllHeaders().length);
64      }
65      
66      public void testClear() {
67          HeaderGroup headergroup = new HeaderGroup();
68          headergroup.addHeader(new Header("name", "value"));
69          assertEquals(1, headergroup.getAllHeaders().length);
70          headergroup.clear();
71          assertEquals(0, headergroup.getAllHeaders().length);
72      }
73      
74      public void testAddRemoveHeader() {
75          HeaderGroup headergroup = new HeaderGroup();
76          Header header = new Header("name", "value");
77          headergroup.addHeader(header);
78          assertEquals(1, headergroup.getAllHeaders().length);
79          headergroup.removeHeader(header);
80          assertEquals(0, headergroup.getAllHeaders().length);
81      }
82  
83      public void testSetHeaders() {
84          HeaderGroup headergroup = new HeaderGroup();
85          Header header1 = new Header("name1", "value1");
86          Header header2 = new Header("name2", "value2");
87          Header header3 = new Header("name3", "value3");
88          headergroup.addHeader(header1);
89          headergroup.setHeaders(new Header[] { header2, header3 });
90          assertEquals(2, headergroup.getAllHeaders().length);
91          assertEquals(0, headergroup.getHeaders("name1").length);
92          assertFalse(headergroup.containsHeader("name1"));
93          assertEquals(1, headergroup.getHeaders("name2").length);
94          assertTrue(headergroup.containsHeader("name2"));
95          assertEquals(1, headergroup.getHeaders("name3").length);
96          assertTrue(headergroup.containsHeader("name3"));
97      }
98  
99      public void testFirstLastHeaders() {
100         HeaderGroup headergroup = new HeaderGroup();
101         Header header1 = new Header("name", "value1");
102         Header header2 = new Header("name", "value2");
103         Header header3 = new Header("name", "value3");
104         headergroup.setHeaders(new Header[] { header1, header2, header3 });
105         
106         assertNull(headergroup.getFirstHeader("whatever"));
107         assertNull(headergroup.getLastHeader("whatever"));
108         
109         assertEquals("value1", headergroup.getFirstHeader("name").getValue());
110         assertEquals("value3", headergroup.getLastHeader("name").getValue());
111     }
112 
113     public void testCondensedHeader() {
114         HeaderGroup headergroup = new HeaderGroup();
115         assertNull(headergroup.getCondensedHeader("name"));
116         
117         Header header1 = new Header("name", "value1");
118         Header header2 = new Header("name", "value2");
119         Header header3 = new Header("name", "value3");
120         headergroup.setHeaders(new Header[] { header1, header2, header3 });
121         
122         assertEquals("value1, value2, value3", headergroup.getCondensedHeader("name").getValue());
123 
124         headergroup.setHeaders(new Header[] { header1 });
125         assertEquals(header1, headergroup.getCondensedHeader("name"));
126     }
127 
128     public void testIterator() {
129         HeaderGroup headergroup = new HeaderGroup();
130         Iterator i = headergroup.iterator();
131         assertNotNull(i);
132         assertFalse(i.hasNext());
133     }
134 }