mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-04-19 03:01:48 +08:00
add test
This commit is contained in:
parent
fbd67b0d17
commit
8caa7f890e
@ -28,6 +28,7 @@
|
||||
* 【core 】 修复BeanCopier中setFieldNameEditor失效问题(pr#349@Gitee)
|
||||
* 【core 】 修复ArrayUtil.indexOfSub查找bug(issue#1683@Github)
|
||||
* 【core 】 修复Node的权重比较空指针问题(issue#1681@Github)
|
||||
* 【core 】 修复UrlQuery传入无参数路径解析问题(issue#1688@Github)
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
@ -173,8 +173,17 @@ public class UrlQuery {
|
||||
}
|
||||
}
|
||||
|
||||
if(i - pos == len){
|
||||
// 没有任何参数符号
|
||||
if(queryStr.startsWith("http") || queryStr.contains("/")){
|
||||
// 可能为url路径,忽略之
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
// 处理结尾
|
||||
addParam(name, queryStr.substring(pos, i), charset);
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
|
67
hutool-core/src/test/java/cn/hutool/core/bean/Issue1687Test.java
Executable file
67
hutool-core/src/test/java/cn/hutool/core/bean/Issue1687Test.java
Executable file
@ -0,0 +1,67 @@
|
||||
package cn.hutool.core.bean;
|
||||
|
||||
import cn.hutool.core.annotation.Alias;
|
||||
import cn.hutool.core.bean.copier.CopyOptions;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import lombok.Data;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* https://github.com/dromara/hutool/issues/1687
|
||||
*/
|
||||
public class Issue1687Test {
|
||||
|
||||
@Test
|
||||
public void toBeanTest(){
|
||||
final SysUserFb sysUserFb = new SysUserFb();
|
||||
sysUserFb.setDepId("123");
|
||||
sysUserFb.setCustomerId("456");
|
||||
|
||||
final SysUser sysUser = BeanUtil.toBean(sysUserFb, SysUser.class);
|
||||
// 别名错位导致找不到字段
|
||||
Assert.assertNull(sysUser.getDepart());
|
||||
Assert.assertEquals(new Long(456L), sysUser.getOrgId());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void toBeanTest2(){
|
||||
final SysUserFb sysUserFb = new SysUserFb();
|
||||
sysUserFb.setDepId("123");
|
||||
sysUserFb.setCustomerId("456");
|
||||
|
||||
// 补救别名错位
|
||||
final CopyOptions copyOptions = CopyOptions.create().setFieldMapping(
|
||||
MapUtil.builder("depart", "depId").build()
|
||||
);
|
||||
final SysUser sysUser = BeanUtil.toBean(sysUserFb, SysUser.class, copyOptions);
|
||||
|
||||
Assert.assertEquals(new Long(123L), sysUser.getDepart());
|
||||
Assert.assertEquals(new Long(456L), sysUser.getOrgId());
|
||||
}
|
||||
|
||||
@Data
|
||||
static class SysUserFb implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Alias("depart")
|
||||
private String depId;
|
||||
|
||||
@Alias("orgId")
|
||||
private String customerId;
|
||||
}
|
||||
|
||||
@Data
|
||||
static class SysUser implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Alias("depId")
|
||||
private Long depart;
|
||||
|
||||
private Long orgId;
|
||||
}
|
||||
}
|
@ -1,5 +1,6 @@
|
||||
package cn.hutool.core.net;
|
||||
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.net.url.UrlBuilder;
|
||||
import cn.hutool.core.net.url.UrlQuery;
|
||||
import org.junit.Assert;
|
||||
@ -34,4 +35,12 @@ public class UrlQueryTest {
|
||||
UrlQuery parse = q.parse(requestUrl, Charset.defaultCharset());
|
||||
Assert.assertEquals("=d52i5837i4ed=o39-ap9e19s5--=72e54*ll0lodl-f338868d2", parse.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void parseTest3(){
|
||||
// issue#1688@Github
|
||||
String u = "https://www.baidu.com/proxy";
|
||||
final UrlQuery query = UrlQuery.of(u, Charset.defaultCharset());
|
||||
Assert.assertTrue(MapUtil.isEmpty(query.getQueryMap()));
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user