This commit is contained in:
Looly
2020-05-01 22:20:27 +08:00
parent c697de539f
commit be65a142b4
18 changed files with 173 additions and 75 deletions

View File

@@ -0,0 +1,13 @@
package cn.hutool.core.io.resource;
import org.junit.Assert;
import org.junit.Test;
public class ResourceUtilTest {
@Test
public void readXmlTest(){
final String str = ResourceUtil.readUtf8Str("test.xml");
Assert.assertNotNull(str);
}
}

View File

@@ -9,112 +9,112 @@ public class UrlBuilderTest {
@Test
public void buildTest() {
String buildUrl = UrlBuilder.create().setHost("www.baidu.com").build();
Assert.assertEquals("http://www.baidu.com/", buildUrl);
String buildUrl = UrlBuilder.create().setHost("www.hutool.cn").build();
Assert.assertEquals("http://www.hutool.cn/", buildUrl);
}
@Test
public void testHost() {
String buildUrl = UrlBuilder.create()
.setScheme("https")
.setHost("www.baidu.com").build();
Assert.assertEquals("https://www.baidu.com/", buildUrl);
.setHost("www.hutool.cn").build();
Assert.assertEquals("https://www.hutool.cn/", buildUrl);
}
@Test
public void testHostPort() {
String buildUrl = UrlBuilder.create()
.setScheme("https")
.setHost("www.baidu.com")
.setHost("www.hutool.cn")
.setPort(8080)
.build();
Assert.assertEquals("https://www.baidu.com:8080/", buildUrl);
Assert.assertEquals("https://www.hutool.cn:8080/", buildUrl);
}
@Test
public void testPathAndQuery() {
final String buildUrl = UrlBuilder.create()
.setScheme("https")
.setHost("www.baidu.com")
.setHost("www.hutool.cn")
.addPath("/aaa").addPath("bbb")
.addQuery("ie", "UTF-8")
.addQuery("wd", "test")
.build();
Assert.assertEquals("https://www.baidu.com/aaa/bbb?ie=UTF-8&wd=test", buildUrl);
Assert.assertEquals("https://www.hutool.cn/aaa/bbb?ie=UTF-8&wd=test", buildUrl);
}
@Test
public void testQueryWithChinese() {
final String buildUrl = UrlBuilder.create()
.setScheme("https")
.setHost("www.baidu.com")
.setHost("www.hutool.cn")
.addPath("/aaa").addPath("bbb")
.addQuery("ie", "UTF-8")
.addQuery("wd", "测试")
.build();
Assert.assertEquals("https://www.baidu.com/aaa/bbb?ie=UTF-8&wd=%E6%B5%8B%E8%AF%95", buildUrl);
Assert.assertEquals("https://www.hutool.cn/aaa/bbb?ie=UTF-8&wd=%E6%B5%8B%E8%AF%95", buildUrl);
}
@Test
public void testMultiQueryWithChinese() {
final String buildUrl = UrlBuilder.create()
.setScheme("https")
.setHost("www.baidu.com")
.setHost("www.hutool.cn")
.addPath("/s")
.addQuery("ie", "UTF-8")
.addQuery("ie", "GBK")
.addQuery("wd", "测试")
.build();
Assert.assertEquals("https://www.baidu.com/s?ie=UTF-8&ie=GBK&wd=%E6%B5%8B%E8%AF%95", buildUrl);
Assert.assertEquals("https://www.hutool.cn/s?ie=UTF-8&ie=GBK&wd=%E6%B5%8B%E8%AF%95", buildUrl);
}
@Test
public void testFragment() {
String buildUrl = new UrlBuilder()
.setScheme("https")
.setHost("www.baidu.com")
.setHost("www.hutool.cn")
.setFragment("abc").build();
Assert.assertEquals("https://www.baidu.com/#abc", buildUrl);
Assert.assertEquals("https://www.hutool.cn/#abc", buildUrl);
}
@Test
public void testChineseFragment() {
String buildUrl = new UrlBuilder()
.setScheme("https")
.setHost("www.baidu.com")
.setHost("www.hutool.cn")
.setFragment("测试").build();
Assert.assertEquals("https://www.baidu.com/#%E6%B5%8B%E8%AF%95", buildUrl);
Assert.assertEquals("https://www.hutool.cn/#%E6%B5%8B%E8%AF%95", buildUrl);
}
@Test
public void testChineseFragmentWithPath() {
String buildUrl = new UrlBuilder()
.setScheme("https")
.setHost("www.baidu.com")
.setHost("www.hutool.cn")
.addPath("/s")
.setFragment("测试").build();
Assert.assertEquals("https://www.baidu.com/s#%E6%B5%8B%E8%AF%95", buildUrl);
Assert.assertEquals("https://www.hutool.cn/s#%E6%B5%8B%E8%AF%95", buildUrl);
}
@Test
public void testChineseFragmentWithPathAndQuery() {
String buildUrl = new UrlBuilder()
.setScheme("https")
.setHost("www.baidu.com")
.setHost("www.hutool.cn")
.addPath("/s")
.addQuery("wd", "test")
.setFragment("测试").build();
Assert.assertEquals("https://www.baidu.com/s?wd=test#%E6%B5%8B%E8%AF%95", buildUrl);
Assert.assertEquals("https://www.hutool.cn/s?wd=test#%E6%B5%8B%E8%AF%95", buildUrl);
}
@Test
public void ofTest() {
final UrlBuilder builder = UrlBuilder.of("http://www.baidu.com/aaa/bbb/?a=1&b=2#frag1", CharsetUtil.CHARSET_UTF_8);
final UrlBuilder builder = UrlBuilder.of("http://www.hutool.cn/aaa/bbb/?a=1&b=2#frag1", CharsetUtil.CHARSET_UTF_8);
Assert.assertEquals("http", builder.getScheme());
Assert.assertEquals("www.baidu.com", builder.getHost());
Assert.assertEquals("www.hutool.cn", builder.getHost());
Assert.assertEquals("aaa", builder.getPath().getSegment(0));
Assert.assertEquals("bbb", builder.getPath().getSegment(1));
@@ -127,9 +127,9 @@ public class UrlBuilderTest {
@Test
public void ofWithChineseTest() {
final UrlBuilder builder = UrlBuilder.ofHttp("www.baidu.com/aaa/bbb/?a=张三&b=%e6%9d%8e%e5%9b%9b#frag1", CharsetUtil.CHARSET_UTF_8);
final UrlBuilder builder = UrlBuilder.ofHttp("www.hutool.cn/aaa/bbb/?a=张三&b=%e6%9d%8e%e5%9b%9b#frag1", CharsetUtil.CHARSET_UTF_8);
Assert.assertEquals("http", builder.getScheme());
Assert.assertEquals("www.baidu.com", builder.getHost());
Assert.assertEquals("www.hutool.cn", builder.getHost());
Assert.assertEquals("aaa", builder.getPath().getSegment(0));
Assert.assertEquals("bbb", builder.getPath().getSegment(1));
@@ -142,9 +142,9 @@ public class UrlBuilderTest {
@Test
public void ofWithBlankTest() {
final UrlBuilder builder = UrlBuilder.ofHttp(" www.baidu.com/aaa/bbb/?a=张三&b=%e6%9d%8e%e5%9b%9b#frag1", CharsetUtil.CHARSET_UTF_8);
final UrlBuilder builder = UrlBuilder.ofHttp(" www.hutool.cn/aaa/bbb/?a=张三&b=%e6%9d%8e%e5%9b%9b#frag1", CharsetUtil.CHARSET_UTF_8);
Assert.assertEquals("http", builder.getScheme());
Assert.assertEquals("www.baidu.com", builder.getHost());
Assert.assertEquals("www.hutool.cn", builder.getHost());
Assert.assertEquals("aaa", builder.getPath().getSegment(0));
Assert.assertEquals("bbb", builder.getPath().getSegment(1));
@@ -158,9 +158,9 @@ public class UrlBuilderTest {
@Test
public void ofSpecialTest() {
//测试不规范的或者无需解码的字符串是否成功解码
final UrlBuilder builder = UrlBuilder.ofHttp(" www.baidu.com/aaa/bbb/?a=张三&b=%%e5%9b%9b#frag1", CharsetUtil.CHARSET_UTF_8);
final UrlBuilder builder = UrlBuilder.ofHttp(" www.hutool.cn/aaa/bbb/?a=张三&b=%%e5%9b%9b#frag1", CharsetUtil.CHARSET_UTF_8);
Assert.assertEquals("http", builder.getScheme());
Assert.assertEquals("www.baidu.com", builder.getHost());
Assert.assertEquals("www.hutool.cn", builder.getHost());
Assert.assertEquals("aaa", builder.getPath().getSegment(0));
Assert.assertEquals("bbb", builder.getPath().getSegment(1));