1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 package org.apache.commons.httpclient;
32
33 import junit.framework.*;
34
35 /***
36 * Simple tests for {@link HeaderElement}.
37 *
38 * @author Rodney Waldhoff
39 * @author <a href="mailto:bcholmes@interlog.com">B.C. Holmes</a>
40 * @author <a href="mailto:jericho@thinkfree.com">Park, Sung-Gu</a>
41 * @author <a href="mailto:oleg@ural.ru">oleg Kalnichevski</a>
42 * @version $Id: TestHeaderElement.java 240442 2005-08-27 18:07:59Z olegk $
43 */
44 public class TestHeaderElement extends TestNVP {
45
46
47 public TestHeaderElement(String testName) {
48 super(testName);
49 }
50
51
52 public static void main(String args[]) {
53 String[] testCaseName = { TestHeaderElement.class.getName() };
54 junit.textui.TestRunner.main(testCaseName);
55 }
56
57
58
59 public static Test suite() {
60 return new TestSuite(TestHeaderElement.class);
61 }
62
63
64
65 protected NameValuePair makePair() {
66 return new HeaderElement();
67 }
68
69 protected NameValuePair makePair(String name, String value) {
70 return new HeaderElement(name,value);
71 }
72
73
74
75
76 public void testOldMain() throws Exception {
77
78 String headerValue = "name1 = value1; name2; name3=\"value3\" , name4=value4; " +
79 "name5=value5, name6= ; name7 = value7; name8 = \" value8\"";
80 HeaderElement[] elements = HeaderElement.parseElements(headerValue);
81
82 assertEquals(3,elements.length);
83
84 assertEquals("name1",elements[0].getName());
85 assertEquals("value1",elements[0].getValue());
86
87 assertEquals(2,elements[0].getParameters().length);
88 assertEquals("name2",elements[0].getParameters()[0].getName());
89 assertEquals(null, elements[0].getParameters()[0].getValue());
90 assertEquals("name3",elements[0].getParameters()[1].getName());
91 assertEquals("value3",elements[0].getParameters()[1].getValue());
92
93 assertEquals("name4",elements[1].getName());
94 assertEquals("value4",elements[1].getValue());
95
96 assertEquals(1,elements[1].getParameters().length);
97 assertEquals("name5",elements[1].getParameters()[0].getName());
98 assertEquals("value5",elements[1].getParameters()[0].getValue());
99
100 assertEquals("name6",elements[2].getName());
101 assertEquals("",elements[2].getValue());
102
103 assertEquals(2,elements[2].getParameters().length);
104 assertEquals("name7",elements[2].getParameters()[0].getName());
105 assertEquals("value7",elements[2].getParameters()[0].getValue());
106 assertEquals("name8",elements[2].getParameters()[1].getName());
107 assertEquals(" value8",elements[2].getParameters()[1].getValue());
108 }
109
110 public void testFringeCase1() throws Exception {
111 String headerValue = "name1 = value1,";
112 HeaderElement[] elements = HeaderElement.parseElements(headerValue);
113 assertEquals("Number of elements", 1, elements.length);
114 }
115
116
117 public void testFringeCase2() throws Exception {
118 String headerValue = "name1 = value1, ";
119 HeaderElement[] elements = HeaderElement.parseElements(headerValue);
120 assertEquals("Number of elements", 1, elements.length);
121 }
122
123
124 public void testFringeCase3() throws Exception {
125 String headerValue = ",, ,, ,";
126 HeaderElement[] elements = HeaderElement.parseElements(headerValue);
127 assertEquals("Number of elements", 0, elements.length);
128 }
129 }