UrlBuilder.addPath 方法传入非有效路径字符串时,会出现空指针异常

This commit is contained in:
Looly
2022-08-27 01:10:13 +08:00
parent 2327af84ca
commit ef0fc738f1
4 changed files with 34 additions and 11 deletions

View File

@@ -16,17 +16,17 @@ public class UrlBuilderTest {
@Test
public void buildTest() {
final String buildUrl = UrlBuilder.create().setHost("www.hutool.cn").build();
final String buildUrl = UrlBuilder.of().setHost("www.hutool.cn").build();
Assert.assertEquals("http://www.hutool.cn/", buildUrl);
}
@Test
public void buildWithoutSlashTest(){
// https://github.com/dromara/hutool/issues/2459
String buildUrl = UrlBuilder.create().setScheme("http").setHost("192.168.1.1").setPort(8080).setWithEndTag(false).build();
String buildUrl = UrlBuilder.of().setScheme("http").setHost("192.168.1.1").setPort(8080).setWithEndTag(false).build();
Assert.assertEquals("http://192.168.1.1:8080", buildUrl);
buildUrl = UrlBuilder.create().setScheme("http").setHost("192.168.1.1").setPort(8080).addQuery("url", "http://192.168.1.1/test/1")
buildUrl = UrlBuilder.of().setScheme("http").setHost("192.168.1.1").setPort(8080).addQuery("url", "http://192.168.1.1/test/1")
.setWithEndTag(false).build();
Assert.assertEquals("http://192.168.1.1:8080?url=http://192.168.1.1/test/1", buildUrl);
}
@@ -40,7 +40,7 @@ public class UrlBuilderTest {
@Test
public void testHost() {
final String buildUrl = UrlBuilder.create()
final String buildUrl = UrlBuilder.of()
.setScheme("https")
.setHost("www.hutool.cn").build();
Assert.assertEquals("https://www.hutool.cn/", buildUrl);
@@ -48,7 +48,7 @@ public class UrlBuilderTest {
@Test
public void testHostPort() {
final String buildUrl = UrlBuilder.create()
final String buildUrl = UrlBuilder.of()
.setScheme("https")
.setHost("www.hutool.cn")
.setPort(8080)
@@ -58,7 +58,7 @@ public class UrlBuilderTest {
@Test
public void testPathAndQuery() {
final String buildUrl = UrlBuilder.create()
final String buildUrl = UrlBuilder.of()
.setScheme("https")
.setHost("www.hutool.cn")
.addPath("/aaa").addPath("bbb")
@@ -71,7 +71,7 @@ public class UrlBuilderTest {
@Test
public void testQueryWithChinese() {
final String buildUrl = UrlBuilder.create()
final String buildUrl = UrlBuilder.of()
.setScheme("https")
.setHost("www.hutool.cn")
.addPath("/aaa").addPath("bbb")
@@ -84,7 +84,7 @@ public class UrlBuilderTest {
@Test
public void testMultiQueryWithChinese() {
final String buildUrl = UrlBuilder.create()
final String buildUrl = UrlBuilder.of()
.setScheme("https")
.setHost("www.hutool.cn")
.addPath("/s")
@@ -314,7 +314,7 @@ public class UrlBuilderTest {
@Test
public void addPathEncodeTest(){
final String url = UrlBuilder.create()
final String url = UrlBuilder.of()
.setScheme("https")
.setHost("domain.cn")
.addPath("api")
@@ -328,7 +328,7 @@ public class UrlBuilderTest {
@Test
public void addPathEncodeTest2(){
// https://github.com/dromara/hutool/issues/1912
final String url = UrlBuilder.create()
final String url = UrlBuilder.of()
.setScheme("https")
.setHost("domain.cn")
.addPath("/api/xxx/bbb")
@@ -462,4 +462,13 @@ public class UrlBuilderTest {
.toString();
Assert.assertEquals(duplicate, normal);
}
@Test
public void addPathTest(){
//https://gitee.com/dromara/hutool/issues/I5O4ML
UrlBuilder.of().addPath("");
UrlBuilder.of().addPath("/");
UrlBuilder.of().addPath("//");
UrlBuilder.of().addPath("//a");
}
}