Polishing contribution

Closes gh-25951
This commit is contained in:
Rossen Stoyanchev
2020-10-23 17:43:17 +01:00
parent 7af726480f
commit 5644a7aebb
4 changed files with 57 additions and 60 deletions

View File

@@ -18,11 +18,11 @@ package org.springframework.web.util;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
@@ -206,33 +206,6 @@ class UriComponentsBuilderTests {
assertThat(uri.toString()).isEqualTo(httpUrl);
}
@Test
void queryParamIfPresent() {
UriComponentsBuilder builder = UriComponentsBuilder.newInstance();
UriComponents result = builder.queryParamIfPresent("baz", Optional.of("qux")).queryParamIfPresent("foo", Optional.empty()).build();
assertThat(result.getQuery()).isEqualTo("baz=qux");
MultiValueMap<String, String> expectedQueryParams = new LinkedMultiValueMap<>(1);
expectedQueryParams.add("baz", "qux");
assertThat(result.getQueryParams()).isEqualTo(expectedQueryParams);
}
@Test
void queryParamIfPresentCollection() {
Collection<String> c = new ArrayList<>();
c.add("foo");
c.add("bar");
UriComponentsBuilder builder = UriComponentsBuilder.newInstance();
UriComponents result = builder.queryParamIfPresent("baz", Optional.of(c)).build();
assertThat(result.getQuery()).isEqualTo("baz=foo&baz=bar");
MultiValueMap<String, String> expectedQueryParams = new LinkedMultiValueMap<>(1);
expectedQueryParams.add("baz", "foo");
expectedQueryParams.add("baz", "bar");
assertThat(result.getQueryParams()).isEqualTo(expectedQueryParams);
}
@Test // SPR-10539
void fromUriStringIPv6Host() {
UriComponents result = UriComponentsBuilder
@@ -786,6 +759,30 @@ class UriComponentsBuilderTests {
assertThat(result.getQueryParams()).isEqualTo(expectedQueryParams);
}
@Test
void queryParamIfPresent() {
UriComponents result = UriComponentsBuilder.newInstance()
.queryParamIfPresent("baz", Optional.of("qux"))
.queryParamIfPresent("foo", Optional.empty())
.build();
assertThat(result.getQuery()).isEqualTo("baz=qux");
assertThat(result.getQueryParams())
.containsOnlyKeys("baz")
.containsEntry("baz", Collections.singletonList("qux"));
}
@Test
void queryParamIfPresentCollection() {
List<String> values = Arrays.asList("foo", "bar");
UriComponents result = UriComponentsBuilder.newInstance()
.queryParamIfPresent("baz", Optional.of(values))
.build();
assertThat(result.getQuery()).isEqualTo("baz=foo&baz=bar");
assertThat(result.getQueryParams()).containsOnlyKeys("baz").containsEntry("baz", values);
}
@Test
void emptyQueryParam() {
UriComponentsBuilder builder = UriComponentsBuilder.newInstance();