mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
fix code
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* Copyright (c) 2023 looly(loolly@aliyun.com)
|
||||
* Hutool is licensed under Mulan PSL v2.
|
||||
* You can use this software according to the terms and conditions of the Mulan PSL v2.
|
||||
* You may obtain a copy of Mulan PSL v2 at:
|
||||
* http://license.coscl.org.cn/MulanPSL2
|
||||
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
* See the Mulan PSL v2 for more details.
|
||||
*/
|
||||
|
||||
package cn.hutool.core.compress;
|
||||
|
||||
import cn.hutool.core.io.file.FileUtil;
|
||||
import cn.hutool.core.util.CharsetUtil;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class Issue3018Test {
|
||||
@Test
|
||||
void unzipTest() {
|
||||
ZipUtil.unzip(FileUtil.getInputStream("d:/test/default.zip"),
|
||||
FileUtil.file("d:/test/"),
|
||||
CharsetUtil.UTF_8
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
void unzipFromFileTest() {
|
||||
ZipUtil.unzip("d:/test/default.zip");
|
||||
}
|
||||
}
|
@@ -11,7 +11,7 @@ public class UrlQueryUtilTest {
|
||||
@Test
|
||||
public void decodeQueryTest() {
|
||||
final String paramsStr = "uuuu=0&a=b&c=%3F%23%40!%24%25%5E%26%3Ddsssss555555";
|
||||
final Map<String, List<String>> map = UrlQueryUtil.decodeQuery(paramsStr, CharsetUtil.NAME_UTF_8);
|
||||
final Map<String, List<String>> map = UrlQueryUtil.decodeQueryList(paramsStr, CharsetUtil.UTF_8);
|
||||
Assertions.assertEquals("0", map.get("uuuu").get(0));
|
||||
Assertions.assertEquals("b", map.get("a").get(0));
|
||||
Assertions.assertEquals("?#@!$%^&=dsssss555555", map.get("c").get(0));
|
||||
@@ -28,7 +28,7 @@ public class UrlQueryUtilTest {
|
||||
@Test
|
||||
public void toQueryTest() {
|
||||
final String paramsStr = "uuuu=0&a=b&c=3Ddsssss555555";
|
||||
final Map<String, List<String>> map = UrlQueryUtil.decodeQuery(paramsStr, CharsetUtil.NAME_UTF_8);
|
||||
final Map<String, List<String>> map = UrlQueryUtil.decodeQueryList(paramsStr, CharsetUtil.UTF_8);
|
||||
|
||||
final String encodedParams = UrlQueryUtil.toQuery(map);
|
||||
Assertions.assertEquals(paramsStr, encodedParams);
|
||||
@@ -91,41 +91,41 @@ public class UrlQueryUtilTest {
|
||||
public void decodeParamTest() {
|
||||
// 开头的?被去除
|
||||
String a = "?a=b&c=d&";
|
||||
Map<String, List<String>> map = UrlQueryUtil.decodeQuery(a, CharsetUtil.NAME_UTF_8);
|
||||
Map<String, List<String>> map = UrlQueryUtil.decodeQueryList(a, CharsetUtil.UTF_8);
|
||||
Assertions.assertEquals("b", map.get("a").get(0));
|
||||
Assertions.assertEquals("d", map.get("c").get(0));
|
||||
|
||||
// =e被当作空为key,e为value
|
||||
a = "?a=b&c=d&=e";
|
||||
map = UrlQueryUtil.decodeQuery(a, CharsetUtil.NAME_UTF_8);
|
||||
map = UrlQueryUtil.decodeQueryList(a, CharsetUtil.UTF_8);
|
||||
Assertions.assertEquals("b", map.get("a").get(0));
|
||||
Assertions.assertEquals("d", map.get("c").get(0));
|
||||
Assertions.assertEquals("e", map.get("").get(0));
|
||||
|
||||
// 多余的&去除
|
||||
a = "?a=b&c=d&=e&&&&";
|
||||
map = UrlQueryUtil.decodeQuery(a, CharsetUtil.NAME_UTF_8);
|
||||
map = UrlQueryUtil.decodeQueryList(a, CharsetUtil.UTF_8);
|
||||
Assertions.assertEquals("b", map.get("a").get(0));
|
||||
Assertions.assertEquals("d", map.get("c").get(0));
|
||||
Assertions.assertEquals("e", map.get("").get(0));
|
||||
|
||||
// 值为空
|
||||
a = "?a=b&c=d&e=";
|
||||
map = UrlQueryUtil.decodeQuery(a, CharsetUtil.NAME_UTF_8);
|
||||
map = UrlQueryUtil.decodeQueryList(a, CharsetUtil.UTF_8);
|
||||
Assertions.assertEquals("b", map.get("a").get(0));
|
||||
Assertions.assertEquals("d", map.get("c").get(0));
|
||||
Assertions.assertEquals("", map.get("e").get(0));
|
||||
|
||||
// &=被作为键和值都为空
|
||||
a = "a=b&c=d&=";
|
||||
map = UrlQueryUtil.decodeQuery(a, CharsetUtil.NAME_UTF_8);
|
||||
map = UrlQueryUtil.decodeQueryList(a, CharsetUtil.UTF_8);
|
||||
Assertions.assertEquals("b", map.get("a").get(0));
|
||||
Assertions.assertEquals("d", map.get("c").get(0));
|
||||
Assertions.assertEquals("", map.get("").get(0));
|
||||
|
||||
// &e&这类单独的字符串被当作key
|
||||
a = "a=b&c=d&e&";
|
||||
map = UrlQueryUtil.decodeQuery(a, CharsetUtil.NAME_UTF_8);
|
||||
map = UrlQueryUtil.decodeQueryList(a, CharsetUtil.UTF_8);
|
||||
Assertions.assertEquals("b", map.get("a").get(0));
|
||||
Assertions.assertEquals("d", map.get("c").get(0));
|
||||
Assertions.assertNull(map.get("e").get(0));
|
||||
@@ -133,7 +133,7 @@ public class UrlQueryUtilTest {
|
||||
|
||||
// 被编码的键和值被还原
|
||||
a = "a=bbb&c=%E4%BD%A0%E5%A5%BD&%E5%93%88%E5%96%BD=";
|
||||
map = UrlQueryUtil.decodeQuery(a, CharsetUtil.NAME_UTF_8);
|
||||
map = UrlQueryUtil.decodeQueryList(a, CharsetUtil.UTF_8);
|
||||
Assertions.assertEquals("bbb", map.get("a").get(0));
|
||||
Assertions.assertEquals("你好", map.get("c").get(0));
|
||||
Assertions.assertEquals("", map.get("哈喽").get(0));
|
||||
|
Reference in New Issue
Block a user