/src/test/java/com/alibaba/json/bvt/bug/Issue408.java

https://github.com/alibaba/fastjson · Java · 281 lines · 222 code · 59 blank · 0 comment · 1 complexity · c60efb0ee1e4d5e10de9a05eb33494b2 MD5 · raw file

  1. package com.alibaba.json.bvt.bug;
  2. import com.alibaba.fastjson.JSONReader;
  3. import com.alibaba.fastjson.parser.Feature;
  4. import junit.framework.TestCase;
  5. import org.junit.Assert;
  6. import java.io.InputStream;
  7. import java.io.InputStreamReader;
  8. import java.nio.charset.Charset;
  9. public class Issue408 extends TestCase {
  10. private InputStream inputStream;
  11. @Override
  12. public void setUp() throws Exception {
  13. String resource = "json/Issue408.json";
  14. inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(resource);
  15. com.alibaba.fastjson.parser.ParserConfig.global.addAccept("com.alibaba.json.bvt.bug.Issue408.");
  16. }
  17. @Override
  18. public void tearDown() throws Exception {
  19. inputStream.close();
  20. }
  21. public void test_for_issue() throws Exception {
  22. JSONReader jsonReader = new JSONReader(new InputStreamReader(inputStream, Charset.forName("UTF-8")));
  23. jsonReader.config(Feature.AllowArbitraryCommas, true);
  24. jsonReader.config(Feature.IgnoreNotMatch, true);
  25. jsonReader.config(Feature.SortFeidFastMatch, false);
  26. jsonReader.config(Feature.DisableCircularReferenceDetect, true);
  27. jsonReader.config(Feature.AutoCloseSource, true);
  28. VOList deserialized = null;
  29. try {
  30. deserialized = (VOList)jsonReader.readObject();
  31. }finally {
  32. jsonReader.close();
  33. }
  34. for (int i = 0; i < 17; i++) {
  35. Assert.assertEquals(deserialized.getVolist()[i].getLongid0(), Long.valueOf(1234567890123L));
  36. Assert.assertEquals(deserialized.getVolist()[i].getLongid1(), Long.valueOf(1234567890123L));
  37. Assert.assertEquals(deserialized.getVolist()[i].getLongid2(), Long.valueOf(1234567890123L));
  38. Assert.assertEquals(deserialized.getVolist()[i].getLongid3(), Long.valueOf(1234567890123L));
  39. Assert.assertEquals(deserialized.getVolist()[i].getLongid4(), Long.valueOf(1234567890123L));
  40. Assert.assertEquals(deserialized.getVolist()[i].getLongid5(), Long.valueOf(1234567890123L));
  41. Assert.assertEquals(deserialized.getVolist()[i].getLongid6(), Long.valueOf(1234567890123L));
  42. Assert.assertEquals(deserialized.getVolist()[i].getLongid7(), Long.valueOf(1234567890123L));
  43. Assert.assertEquals(deserialized.getVolist()[i].getLongid8(), Long.valueOf(1234567890123L));
  44. Assert.assertEquals(deserialized.getVolist()[i].getLongid9(), Long.valueOf(1234567890123L));
  45. Assert.assertEquals(deserialized.getVolist()[i].getLongid10(), Long.valueOf(1234567890123L));
  46. Assert.assertEquals(deserialized.getVolist()[i].getLongid11(), Long.valueOf(1234567890123L));
  47. Assert.assertEquals(deserialized.getVolist()[i].getLongid12(), Long.valueOf(1234567890123L));
  48. Assert.assertEquals(deserialized.getVolist()[i].getLongid13(), Long.valueOf(1234567890123L));
  49. Assert.assertEquals(deserialized.getVolist()[i].getLongid14(), Long.valueOf(1234567890123L));
  50. Assert.assertEquals(deserialized.getVolist()[i].getLongid15(), Long.valueOf(1234567890123L));
  51. Assert.assertEquals(deserialized.getVolist()[i].getLongid16(), Long.valueOf(1234567890123L));
  52. Assert.assertEquals(deserialized.getVolist()[i].getLongid17(), Long.valueOf(1234567890123L));
  53. Assert.assertEquals(deserialized.getVolist()[i].getLongid18(), Long.valueOf(1234567890123L));
  54. Assert.assertEquals(deserialized.getVolist()[i].getLongid19(), Long.valueOf(1234567890123L));
  55. }
  56. }
  57. public static class VOList {
  58. private VO[] volist;
  59. private Long longid0;
  60. private Long longid1;
  61. public VO[] getVolist() {
  62. return volist;
  63. }
  64. public void setVolist(VO[] volist) {
  65. this.volist = volist;
  66. }
  67. public Long getLongid1() {
  68. return longid1;
  69. }
  70. public void setLongid1(Long longid1) {
  71. this.longid1 = longid1;
  72. }
  73. public Long getLongid0() {
  74. return longid0;
  75. }
  76. public void setLongid0(Long longid0) {
  77. this.longid0 = longid0;
  78. }
  79. }
  80. public static class VO {
  81. private Long longid0;
  82. private Long longid1;
  83. private Long longid2;
  84. private Long longid3;
  85. private Long longid4;
  86. private Long longid5;
  87. private Long longid6;
  88. private Long longid7;
  89. private Long longid8;
  90. private Long longid9;
  91. private Long longid10;
  92. private Long longid11;
  93. private Long longid12;
  94. private Long longid13;
  95. private Long longid14;
  96. private Long longid15;
  97. private Long longid16;
  98. private Long longid17;
  99. private Long longid18;
  100. private Long longid19;
  101. public Long getLongid0() {
  102. return longid0;
  103. }
  104. public void setLongid0(Long longid0) {
  105. this.longid0 = longid0;
  106. }
  107. public Long getLongid1() {
  108. return longid1;
  109. }
  110. public void setLongid1(Long longid1) {
  111. this.longid1 = longid1;
  112. }
  113. public Long getLongid2() {
  114. return longid2;
  115. }
  116. public void setLongid2(Long longid2) {
  117. this.longid2 = longid2;
  118. }
  119. public Long getLongid3() {
  120. return longid3;
  121. }
  122. public void setLongid3(Long longid3) {
  123. this.longid3 = longid3;
  124. }
  125. public Long getLongid4() {
  126. return longid4;
  127. }
  128. public void setLongid4(Long longid4) {
  129. this.longid4 = longid4;
  130. }
  131. public Long getLongid5() {
  132. return longid5;
  133. }
  134. public void setLongid5(Long longid5) {
  135. this.longid5 = longid5;
  136. }
  137. public Long getLongid6() {
  138. return longid6;
  139. }
  140. public void setLongid6(Long longid6) {
  141. this.longid6 = longid6;
  142. }
  143. public Long getLongid7() {
  144. return longid7;
  145. }
  146. public void setLongid7(Long longid7) {
  147. this.longid7 = longid7;
  148. }
  149. public Long getLongid8() {
  150. return longid8;
  151. }
  152. public void setLongid8(Long longid8) {
  153. this.longid8 = longid8;
  154. }
  155. public Long getLongid9() {
  156. return longid9;
  157. }
  158. public void setLongid9(Long longid9) {
  159. this.longid9 = longid9;
  160. }
  161. public Long getLongid10() {
  162. return longid10;
  163. }
  164. public void setLongid10(Long longid10) {
  165. this.longid10 = longid10;
  166. }
  167. public Long getLongid11() {
  168. return longid11;
  169. }
  170. public void setLongid11(Long longid11) {
  171. this.longid11 = longid11;
  172. }
  173. public Long getLongid12() {
  174. return longid12;
  175. }
  176. public void setLongid12(Long longid12) {
  177. this.longid12 = longid12;
  178. }
  179. public Long getLongid13() {
  180. return longid13;
  181. }
  182. public void setLongid13(Long longid13) {
  183. this.longid13 = longid13;
  184. }
  185. public Long getLongid14() {
  186. return longid14;
  187. }
  188. public void setLongid14(Long longid14) {
  189. this.longid14 = longid14;
  190. }
  191. public Long getLongid15() {
  192. return longid15;
  193. }
  194. public void setLongid15(Long longid15) {
  195. this.longid15 = longid15;
  196. }
  197. public Long getLongid16() {
  198. return longid16;
  199. }
  200. public void setLongid16(Long longid16) {
  201. this.longid16 = longid16;
  202. }
  203. public Long getLongid17() {
  204. return longid17;
  205. }
  206. public void setLongid17(Long longid17) {
  207. this.longid17 = longid17;
  208. }
  209. public Long getLongid18() {
  210. return longid18;
  211. }
  212. public void setLongid18(Long longid18) {
  213. this.longid18 = longid18;
  214. }
  215. public Long getLongid19() {
  216. return longid19;
  217. }
  218. public void setLongid19(Long longid19) {
  219. this.longid19 = longid19;
  220. }
  221. }
  222. }