From 9069a4a51a38f69290eedbabf279a23861ff28a0 Mon Sep 17 00:00:00 2001 From: Looly Date: Tue, 30 Jul 2024 23:27:22 +0800 Subject: [PATCH] add test --- .../dromara/hutool/core/net/URLUtilTest.java | 33 ++++++++++++------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/net/URLUtilTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/net/URLUtilTest.java index c9ca1176e..27945bdba 100644 --- a/hutool-core/src/test/java/org/dromara/hutool/core/net/URLUtilTest.java +++ b/hutool-core/src/test/java/org/dromara/hutool/core/net/URLUtilTest.java @@ -13,13 +13,14 @@ package org.dromara.hutool.core.net; import org.dromara.hutool.core.net.url.UrlUtil; -import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import java.net.MalformedURLException; import java.net.URI; import java.net.URL; +import static org.junit.jupiter.api.Assertions.assertEquals; + /** * URLUtil单元测试 * @@ -33,51 +34,51 @@ public class URLUtilTest { // issue#I25MZL,多个/被允许 String url = "http://www.hutool.cn//aaa/bbb"; String normalize = UrlUtil.normalize(url); - Assertions.assertEquals("http://www.hutool.cn//aaa/bbb", normalize); + assertEquals("http://www.hutool.cn//aaa/bbb", normalize); url = "www.hutool.cn//aaa/bbb"; normalize = UrlUtil.normalize(url); - Assertions.assertEquals("http://www.hutool.cn//aaa/bbb", normalize); + assertEquals("http://www.hutool.cn//aaa/bbb", normalize); } @Test public void normalizeTest2() { String url = "http://www.hutool.cn//aaa/\\bbb?a=1&b=2"; String normalize = UrlUtil.normalize(url); - Assertions.assertEquals("http://www.hutool.cn//aaa//bbb?a=1&b=2", normalize); + assertEquals("http://www.hutool.cn//aaa//bbb?a=1&b=2", normalize); url = "www.hutool.cn//aaa/bbb?a=1&b=2"; normalize = UrlUtil.normalize(url); - Assertions.assertEquals("http://www.hutool.cn//aaa/bbb?a=1&b=2", normalize); + assertEquals("http://www.hutool.cn//aaa/bbb?a=1&b=2", normalize); } @Test public void normalizeTest3() { String url = "http://www.hutool.cn//aaa/\\bbb?a=1&b=2"; String normalize = UrlUtil.normalize(url, true); - Assertions.assertEquals("http://www.hutool.cn//aaa//bbb?a=1&b=2", normalize); + assertEquals("http://www.hutool.cn//aaa//bbb?a=1&b=2", normalize); url = "www.hutool.cn//aaa/bbb?a=1&b=2"; normalize = UrlUtil.normalize(url, true); - Assertions.assertEquals("http://www.hutool.cn//aaa/bbb?a=1&b=2", normalize); + assertEquals("http://www.hutool.cn//aaa/bbb?a=1&b=2", normalize); url = "\\/www.hutool.cn//aaa/bbb?a=1&b=2"; normalize = UrlUtil.normalize(url, true); - Assertions.assertEquals("http://www.hutool.cn//aaa/bbb?a=1&b=2", normalize); + assertEquals("http://www.hutool.cn//aaa/bbb?a=1&b=2", normalize); } @Test public void normalizeIpv6Test() { final String url = "http://[fe80::8f8:2022:a603:d180]:9439"; final String normalize = UrlUtil.normalize("http://[fe80::8f8:2022:a603:d180]:9439", true); - Assertions.assertEquals(url, normalize); + assertEquals(url, normalize); } @Test public void formatTest() { final String url = "//www.hutool.cn//aaa/\\bbb?a=1&b=2"; final String normalize = UrlUtil.normalize(url); - Assertions.assertEquals("http://www.hutool.cn//aaa//bbb?a=1&b=2", normalize); + assertEquals("http://www.hutool.cn//aaa//bbb?a=1&b=2", normalize); } @Test @@ -85,13 +86,21 @@ public class URLUtilTest { final String url = "https://www.hutool.cn//aaa/\\bbb?a=1&b=2"; final String normalize = UrlUtil.normalize(url); final URI host = UrlUtil.getHost(new URL(normalize)); - Assertions.assertEquals("https://www.hutool.cn", host.toString()); + assertEquals("https://www.hutool.cn", host.toString()); } @Test public void getPathTest(){ final String url = " http://www.aaa.bbb/search?scope=ccc&q=ddd"; final String path = UrlUtil.getPath(url); - Assertions.assertEquals("/search", path); + assertEquals("/search", path); + } + + @Test + public void issue3676Test() { + final String fileFullName = "/Uploads/20240601/aaaa.txt"; + final URI uri = UrlUtil.toURI(fileFullName); + final URI resolve = uri.resolve("."); + assertEquals("/Uploads/20240601/", resolve.toString()); } }