From 3af27dd16fd337b489460c50a80a1f8b0a6efbe4 Mon Sep 17 00:00:00 2001 From: yanxutao89 <910135896@qq.com> Date: Mon, 25 Sep 2023 19:51:17 +0800 Subject: [PATCH] feat add testcases for issue #1828 and #1874 --- .../fastjson2/issues_1800/Issue1828.java | 25 +++++++++++++++ .../fastjson2/issues_1800/Issue1874.java | 32 +++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 core/src/test/java/com/alibaba/fastjson2/issues_1800/Issue1828.java create mode 100644 core/src/test/java/com/alibaba/fastjson2/issues_1800/Issue1874.java diff --git a/core/src/test/java/com/alibaba/fastjson2/issues_1800/Issue1828.java b/core/src/test/java/com/alibaba/fastjson2/issues_1800/Issue1828.java new file mode 100644 index 0000000000..c2fca864f3 --- /dev/null +++ b/core/src/test/java/com/alibaba/fastjson2/issues_1800/Issue1828.java @@ -0,0 +1,25 @@ +package com.alibaba.fastjson2.issues_1800; + +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONWriter; +import lombok.Data; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +public class Issue1828 { + private static final int SIZE = 50 * 1024 * 1024; + + @Test + public void test() { + DTO dto = new DTO(); + dto.setVedioBytes(new byte[SIZE]); + String json = JSON.toJSONString(dto, JSONWriter.Feature.LargeObject); + assertEquals(SIZE, JSON.parseObject(json, DTO.class).getVedioBytes().length); + } + + @Data + public class DTO { + private byte[] vedioBytes; + } +} diff --git a/core/src/test/java/com/alibaba/fastjson2/issues_1800/Issue1874.java b/core/src/test/java/com/alibaba/fastjson2/issues_1800/Issue1874.java new file mode 100644 index 0000000000..683cf4f689 --- /dev/null +++ b/core/src/test/java/com/alibaba/fastjson2/issues_1800/Issue1874.java @@ -0,0 +1,32 @@ +package com.alibaba.fastjson2.issues_1800; + +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONWriter; +import lombok.AllArgsConstructor; +import lombok.Data; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; +import java.util.List; + +import static org.junit.Assert.*; + +public class Issue1874 { + @Test + public void test() { + List list = new ArrayList<>(); + list.add(new TestJson(true, Boolean.FALSE)); + list.add(new TestJson(false, Boolean.TRUE)); + String json = JSON.toJSONString(list, JSONWriter.Feature.WriteBooleanAsNumber); + assertEquals("[{\"b\":1,\"b2\":0},{\"b\":0,\"b2\":1}]", json); + List list2 = JSON.parseArray(json, TestJson.class); + assertEquals(list, list2); + } + + @Data + @AllArgsConstructor + public static class TestJson { + private boolean b; + private Boolean b2; + } +}