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 package org.apache.hc.core5.http.message;
29
30 import org.apache.hc.core5.http.HeaderElement;
31 import org.apache.hc.core5.http.NameValuePair;
32 import org.apache.hc.core5.util.CharArrayBuffer;
33 import org.junit.jupiter.api.Assertions;
34 import org.junit.jupiter.api.Test;
35
36
37
38
39 public class TestHeaderElement {
40
41 @Test
42 public void testConstructor3() throws Exception {
43 final HeaderElement element = new BasicHeaderElement("name", "value",
44 new NameValuePair[] {
45 new BasicNameValuePair("param1", "value1"),
46 new BasicNameValuePair("param2", "value2")
47 } );
48 Assertions.assertEquals("name", element.getName());
49 Assertions.assertEquals("value", element.getValue());
50 Assertions.assertEquals(2, element.getParameters().length);
51 Assertions.assertEquals("value1", element.getParameterByName("param1").getValue());
52 Assertions.assertEquals("value2", element.getParameterByName("param2").getValue());
53 }
54
55 @Test
56 public void testConstructor2() throws Exception {
57 final HeaderElement element = new BasicHeaderElement("name", "value");
58 Assertions.assertEquals("name", element.getName());
59 Assertions.assertEquals("value", element.getValue());
60 Assertions.assertEquals(0, element.getParameters().length);
61 }
62
63
64 @Test
65 public void testInvalidName() {
66 Assertions.assertThrows(NullPointerException.class, () -> new BasicHeaderElement(null, null, null));
67 }
68
69 @Test
70 public void testParamByName() throws Exception {
71 final String s = "name = value; param1 = value1; param2 = value2";
72 final CharArrayBuffer buf = new CharArrayBuffer(64);
73 buf.append(s);
74 final ParserCursor cursor = new ParserCursor(0, buf.length());
75 final HeaderElement element = BasicHeaderValueParser.INSTANCE.parseHeaderElement(buf, cursor);
76 Assertions.assertEquals("value1", element.getParameterByName("param1").getValue());
77 Assertions.assertEquals("value2", element.getParameterByName("param2").getValue());
78 Assertions.assertNull(element.getParameterByName("param3"));
79 Assertions.assertThrows(NullPointerException.class, () -> element.getParameterByName(null));
80 }
81
82 @Test
83 public void testToString() {
84 final BasicHeaderElement element = new BasicHeaderElement("name", "value",
85 new NameValuePair[] {
86 new BasicNameValuePair("param1", "value1"),
87 new BasicNameValuePair("param2", "value2")
88 } );
89 Assertions.assertEquals("name=value; param1=value1; param2=value2", element.toString());
90 }
91
92 }