Skip to content

Commit

Permalink
add testcase for issue #1835
Browse files Browse the repository at this point in the history
  • Loading branch information
wenshao committed Jan 29, 2024
1 parent 2ab21f1 commit 05d9d88
Showing 1 changed file with 29 additions and 6 deletions.
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
package com.alibaba.fastjson2.issues_1800;

import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONB;
import com.alibaba.fastjson2.JSONObject;
import com.alibaba.fastjson2.JSONWriter;
import org.junit.jupiter.api.Test;

import java.lang.reflect.Method;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;

import static org.junit.jupiter.api.Assertions.*;

Expand Down Expand Up @@ -81,4 +79,29 @@ public void setName(String name) {
this.name = name;
}
}

@Test
public void test1() {
Page<Person> page = new Page<>();
List<Person> data = new ArrayList<>();
data.add(null);
data.add(new Person("abc"));
data.add(null);
page.data = Collections.unmodifiableList(data);

byte[] bytes = JSONB.toBytes(page, JSONWriter.Feature.WriteClassName);
Page page1 = JSONB.parseObject(bytes, Page.class);
assertNotNull(page1);
}

public static class Page<T> {
public List<T> data = new ArrayList<>();

public void setData(List<T> items) {
if (items == null || items.isEmpty()) {
return;
}
this.data = items.stream().filter(Objects::nonNull).collect(Collectors.toList());
}
}
}

0 comments on commit 05d9d88

Please sign in to comment.