Skip to content

Commit e975f4f

Browse files
committed
Stabilize header test across SDKs
1 parent 206cba0 commit e975f4f

File tree

2 files changed

+19
-20
lines changed

2 files changed

+19
-20
lines changed

src/test/java/org/jsoup/helper/HttpConnectionTest.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import java.util.Collection;
1919
import java.util.Collections;
2020
import java.util.HashMap;
21+
import java.util.LinkedHashMap;
2122
import java.util.List;
2223
import java.util.Locale;
2324
import java.util.Map;
@@ -150,6 +151,24 @@ public void caseInsensitiveHeaders(Locale locale) {
150151
assertNull(headers.get("Accept"));
151152
}
152153

154+
@Test void responseHeadersPreserveInsertOrder() throws IOException {
155+
// linkedhashmap preserves the response header order
156+
Connection.Response res = new HttpConnection.Response();
157+
res.addHeader("5", "5");
158+
res.addHeader("4", "4");
159+
res.addHeader("3", "3");
160+
res.addHeader("2", "2");
161+
res.addHeader("1", "1");
162+
163+
String[] expected = {"5", "4", "3", "2", "1"};
164+
int i = 0;
165+
for (String key : res.headers().keySet()) {
166+
assertEquals(expected[i++], key);
167+
}
168+
169+
assertInstanceOf(LinkedHashMap.class, res.headers());
170+
}
171+
153172
@Test public void ignoresEmptySetCookies() {
154173
// prep http response header map
155174
Map<String, List<String>> headers = new HashMap<>();

src/test/java/org/jsoup/integration/ConnectTest.java

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import org.jsoup.helper.W3CDom;
1111
import org.jsoup.integration.servlets.*;
1212
import org.jsoup.internal.SharedConstants;
13-
import org.jsoup.internal.StringUtil;
1413
import org.jsoup.nodes.Document;
1514
import org.jsoup.nodes.Element;
1615
import org.jsoup.nodes.FormElement;
@@ -22,7 +21,6 @@
2221
import org.jsoup.parser.XmlTreeBuilder;
2322
import org.junit.jupiter.api.BeforeAll;
2423
import org.junit.jupiter.api.BeforeEach;
25-
import org.junit.jupiter.api.Disabled;
2624
import org.junit.jupiter.api.Test;
2725
import org.junit.jupiter.params.ParameterizedTest;
2826
import org.junit.jupiter.params.provider.MethodSource;
@@ -41,11 +39,8 @@
4139
import java.nio.charset.StandardCharsets;
4240
import java.nio.file.Files;
4341
import java.nio.file.Path;
44-
import java.util.Collection;
45-
import java.util.LinkedHashMap;
4642
import java.util.List;
4743
import java.util.Map;
48-
import java.util.Set;
4944
import java.util.concurrent.atomic.AtomicBoolean;
5045
import java.util.concurrent.atomic.AtomicInteger;
5146
import java.util.stream.Stream;
@@ -769,21 +764,6 @@ public void combinesSameHeadersWithComma() throws IOException {
769764
assertEquals("no-store", header.get(1));
770765
}
771766

772-
@Test void responseHeadersPreserveInsertOrder() throws IOException {
773-
// linkedhashmap preserves the response header order
774-
Connection con = Jsoup.connect(echoUrl);
775-
con.get();
776-
Connection.Response res = con.response();
777-
Map<String, String> headers = res.headers();
778-
assertInstanceOf(LinkedHashMap.class, headers);
779-
assertEquals(5, headers.size());
780-
String[] expected = {"Date", "Content-Type", "Cache-Control", "Content-Length", "Server"};
781-
int i = 0;
782-
for (String key : headers.keySet()) {
783-
assertEquals(expected[i++], key);
784-
}
785-
}
786-
787767
@Test
788768
public void sendHeadRequest() throws IOException {
789769
String url = FileServlet.urlTo("/htmltests/xml-test.xml");

0 commit comments

Comments
 (0)