mirror of https://github.com/halo-dev/halo
refactor: logic for subList method when retrieving all data (#5235)
#### What type of PR is this? /kind improvement /area core /milestone 2.12.x #### What this PR does / why we need it: 重构 ListResult.subList 方法在获取所有数据时的处理逻辑,只要 size 为 0 就返回所有数据 #### Does this PR introduce a user-facing change? ```release-note None ```pull/5238/head
parent
9d9b1527bc
commit
8523a67e06
|
@ -129,6 +129,9 @@ public class ListResult<T> implements Iterable<T>, Supplier<Stream<T>> {
|
||||||
*/
|
*/
|
||||||
public static <T> List<T> subList(List<T> list, int page, int size) {
|
public static <T> List<T> subList(List<T> list, int page, int size) {
|
||||||
if (page < 1) {
|
if (page < 1) {
|
||||||
|
page = 1;
|
||||||
|
}
|
||||||
|
if (size < 1) {
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
List<T> listSort = new ArrayList<>();
|
List<T> listSort = new ArrayList<>();
|
||||||
|
|
|
@ -43,4 +43,26 @@ class ListResultTest {
|
||||||
listResult = new ListResult<>(1, 0, 100, List.of());
|
listResult = new ListResult<>(1, 0, 100, List.of());
|
||||||
assertEquals(1, listResult.getTotalPages());
|
assertEquals(1, listResult.getTotalPages());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void subListWhenSizeIsZero() {
|
||||||
|
var list = List.of(1, 2, 3, 4, 5);
|
||||||
|
assertSubList(list);
|
||||||
|
|
||||||
|
list = List.of(1);
|
||||||
|
assertSubList(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void assertSubList(List<Integer> list) {
|
||||||
|
var result = ListResult.subList(list, 0, 0);
|
||||||
|
assertEquals(list, result);
|
||||||
|
|
||||||
|
result = ListResult.subList(list, 0, 1);
|
||||||
|
assertEquals(list.subList(0, 1), result);
|
||||||
|
|
||||||
|
result = ListResult.subList(list, 1, 0);
|
||||||
|
assertEquals(list, result);
|
||||||
|
|
||||||
|
assertEquals(list.subList(0, 1), ListResult.subList(list, -1, 1));
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue