/src/test/java/com/alibaba/json/bvt/serializer/JSONSerializerFeatureTest.java

https://github.com/flydream/fastjson · Java · 282 lines · 188 code · 94 blank · 0 comment · 0 complexity · d5648640ad9d2a48764bfdcc5c2566c8 MD5 · raw file

  1. package com.alibaba.json.bvt.serializer;
  2. import java.io.StringWriter;
  3. import java.util.Collections;
  4. import java.util.LinkedHashMap;
  5. import java.util.Map;
  6. import junit.framework.Assert;
  7. import junit.framework.TestCase;
  8. import com.alibaba.fastjson.serializer.JSONSerializer;
  9. import com.alibaba.fastjson.serializer.SerializeWriter;
  10. import com.alibaba.fastjson.serializer.SerializerFeature;
  11. public class JSONSerializerFeatureTest extends TestCase {
  12. public void test_0() throws Exception {
  13. JSONSerializer serializer = new JSONSerializer(new SerializeWriter());
  14. Assert.assertEquals(true, serializer.isEnabled(SerializerFeature.QuoteFieldNames));
  15. Assert.assertEquals(false, serializer.isEnabled(SerializerFeature.UseSingleQuotes));
  16. }
  17. public void test_0_g() throws Exception {
  18. JSONSerializer serializer = new JSONSerializer(new SerializeWriter());
  19. Assert.assertEquals(true, serializer.isEnabled(SerializerFeature.QuoteFieldNames));
  20. Assert.assertEquals(false, serializer.isEnabled(SerializerFeature.UseSingleQuotes));
  21. }
  22. public void test_1() throws Exception {
  23. JSONSerializer serializer = new JSONSerializer(new SerializeWriter());
  24. Assert.assertEquals(true, serializer.isEnabled(SerializerFeature.QuoteFieldNames));
  25. Assert.assertEquals(false, serializer.isEnabled(SerializerFeature.UseSingleQuotes));
  26. serializer.config(SerializerFeature.UseSingleQuotes, true);
  27. Assert.assertEquals(true, serializer.isEnabled(SerializerFeature.UseSingleQuotes));
  28. serializer.write("abc");
  29. Assert.assertEquals("'abc'", serializer.getWriter().toString());
  30. }
  31. public void test_1_s() throws Exception {
  32. JSONSerializer serializer = new JSONSerializer(new SerializeWriter());
  33. Assert.assertEquals(true, serializer.isEnabled(SerializerFeature.QuoteFieldNames));
  34. Assert.assertEquals(false, serializer.isEnabled(SerializerFeature.UseSingleQuotes));
  35. serializer.config(SerializerFeature.UseSingleQuotes, true);
  36. Assert.assertEquals(true, serializer.isEnabled(SerializerFeature.UseSingleQuotes));
  37. serializer.write("abc");
  38. Assert.assertEquals("'abc'", serializer.getWriter().toString());
  39. }
  40. public void test_2() throws Exception {
  41. JSONSerializer serializer = new JSONSerializer(new SerializeWriter());
  42. serializer.config(SerializerFeature.UseSingleQuotes, true);
  43. Assert.assertEquals(true, serializer.isEnabled(SerializerFeature.UseSingleQuotes));
  44. serializer.write(Collections.singletonMap("age", 33));
  45. Assert.assertEquals("{'age':33}", serializer.getWriter().toString());
  46. }
  47. public void test_2_s() throws Exception {
  48. JSONSerializer serializer = new JSONSerializer(new SerializeWriter());
  49. serializer.config(SerializerFeature.UseSingleQuotes, true);
  50. Assert.assertEquals(true, serializer.isEnabled(SerializerFeature.UseSingleQuotes));
  51. serializer.write(Collections.singletonMap("age", 33));
  52. Assert.assertEquals("{'age':33}", serializer.getWriter().toString());
  53. }
  54. public void test_3() throws Exception {
  55. JSONSerializer serializer = new JSONSerializer(new SerializeWriter());
  56. serializer.config(SerializerFeature.QuoteFieldNames, false);
  57. Assert.assertEquals(false, serializer.isEnabled(SerializerFeature.QuoteFieldNames));
  58. serializer.write(Collections.singletonMap("age", 33));
  59. Assert.assertEquals("{age:33}", serializer.getWriter().toString());
  60. }
  61. public void test_3_s() throws Exception {
  62. JSONSerializer serializer = new JSONSerializer(new SerializeWriter());
  63. serializer.config(SerializerFeature.QuoteFieldNames, false);
  64. Assert.assertEquals(false, serializer.isEnabled(SerializerFeature.QuoteFieldNames));
  65. serializer.write(Collections.singletonMap("age", 33));
  66. Assert.assertEquals("{age:33}", serializer.getWriter().toString());
  67. }
  68. public void test_4() throws Exception {
  69. JSONSerializer serializer = new JSONSerializer(new SerializeWriter());
  70. serializer.config(SerializerFeature.QuoteFieldNames, false);
  71. Assert.assertEquals(false, serializer.isEnabled(SerializerFeature.QuoteFieldNames));
  72. serializer.write(Collections.singletonMap("a\nge", 33));
  73. Assert.assertEquals("{\"a\\nge\":33}", serializer.getWriter().toString());
  74. }
  75. public void test_4_s() throws Exception {
  76. JSONSerializer serializer = new JSONSerializer(new SerializeWriter());
  77. serializer.config(SerializerFeature.QuoteFieldNames, false);
  78. Assert.assertEquals(false, serializer.isEnabled(SerializerFeature.QuoteFieldNames));
  79. serializer.write(Collections.singletonMap("a\nge", 33));
  80. Assert.assertEquals("{\"a\\nge\":33}", serializer.getWriter().toString());
  81. }
  82. public void test_5() throws Exception {
  83. JSONSerializer serializer = new JSONSerializer(new SerializeWriter());
  84. serializer.config(SerializerFeature.QuoteFieldNames, false);
  85. Assert.assertEquals(false, serializer.isEnabled(SerializerFeature.QuoteFieldNames));
  86. serializer.config(SerializerFeature.UseSingleQuotes, true);
  87. Assert.assertEquals(true, serializer.isEnabled(SerializerFeature.UseSingleQuotes));
  88. serializer.write(Collections.singletonMap("a\nge", 33));
  89. Assert.assertEquals("{'a\\nge':33}", serializer.getWriter().toString());
  90. }
  91. public void test_5_s() throws Exception {
  92. JSONSerializer serializer = new JSONSerializer(new SerializeWriter());
  93. serializer.config(SerializerFeature.QuoteFieldNames, false);
  94. Assert.assertEquals(false, serializer.isEnabled(SerializerFeature.QuoteFieldNames));
  95. serializer.config(SerializerFeature.UseSingleQuotes, true);
  96. Assert.assertEquals(true, serializer.isEnabled(SerializerFeature.UseSingleQuotes));
  97. serializer.write(Collections.singletonMap("a\nge", 33));
  98. Assert.assertEquals("{'a\\nge':33}", serializer.getWriter().toString());
  99. }
  100. public void test_6() throws Exception {
  101. JSONSerializer serializer = new JSONSerializer(new SerializeWriter());
  102. serializer.config(SerializerFeature.QuoteFieldNames, false);
  103. Assert.assertEquals(false, serializer.isEnabled(SerializerFeature.QuoteFieldNames));
  104. serializer.config(SerializerFeature.UseSingleQuotes, true);
  105. Assert.assertEquals(true, serializer.isEnabled(SerializerFeature.UseSingleQuotes));
  106. serializer.write(Collections.singletonMap("a'ge", 33));
  107. Assert.assertEquals("{'a\\'ge':33}", serializer.getWriter().toString());
  108. }
  109. public void test_6_s() throws Exception {
  110. JSONSerializer serializer = new JSONSerializer(new SerializeWriter());
  111. serializer.config(SerializerFeature.QuoteFieldNames, false);
  112. Assert.assertEquals(false, serializer.isEnabled(SerializerFeature.QuoteFieldNames));
  113. serializer.config(SerializerFeature.UseSingleQuotes, true);
  114. Assert.assertEquals(true, serializer.isEnabled(SerializerFeature.UseSingleQuotes));
  115. serializer.write(Collections.singletonMap("a'ge", 33));
  116. Assert.assertEquals("{'a\\'ge':33}", serializer.getWriter().toString());
  117. }
  118. public void test_7() throws Exception {
  119. JSONSerializer serializer = new JSONSerializer();
  120. serializer.config(SerializerFeature.QuoteFieldNames, false);
  121. Assert.assertEquals(false, serializer.isEnabled(SerializerFeature.QuoteFieldNames));
  122. serializer.write(new User(33));
  123. Assert.assertEquals("{age:33}", serializer.getWriter().toString());
  124. }
  125. public void test_7_s() throws Exception {
  126. JSONSerializer serializer = new JSONSerializer();
  127. serializer.config(SerializerFeature.QuoteFieldNames, false);
  128. Assert.assertEquals(false, serializer.isEnabled(SerializerFeature.QuoteFieldNames));
  129. serializer.write(new User(33));
  130. Assert.assertEquals("{age:33}", serializer.getWriter().toString());
  131. }
  132. public void test_8() throws Exception {
  133. JSONSerializer serializer = new JSONSerializer();
  134. serializer.config(SerializerFeature.UseSingleQuotes, true);
  135. Assert.assertEquals(true, serializer.isEnabled(SerializerFeature.UseSingleQuotes));
  136. serializer.write(new User(33));
  137. Assert.assertEquals("{'age':33}", serializer.getWriter().toString());
  138. }
  139. public void test_8_s() throws Exception {
  140. JSONSerializer serializer = new JSONSerializer();
  141. serializer.config(SerializerFeature.UseSingleQuotes, true);
  142. Assert.assertEquals(true, serializer.isEnabled(SerializerFeature.UseSingleQuotes));
  143. serializer.write(new User(33));
  144. Assert.assertEquals("{'age':33}", serializer.getWriter().toString());
  145. }
  146. public void test_9() throws Exception {
  147. JSONSerializer serializer = new JSONSerializer();
  148. serializer.config(SerializerFeature.QuoteFieldNames, false);
  149. Assert.assertEquals(false, serializer.isEnabled(SerializerFeature.QuoteFieldNames));
  150. serializer.config(SerializerFeature.WriteMapNullValue, false);
  151. Assert.assertEquals(false, serializer.isEnabled(SerializerFeature.WriteMapNullValue));
  152. StringWriter out = new StringWriter();
  153. Map map = new LinkedHashMap();
  154. map.put("a", null);
  155. map.put("age", 33);
  156. map.put("c", null);
  157. serializer.write(map);
  158. Assert.assertEquals("{age:33}", serializer.getWriter().toString());
  159. }
  160. public void test_9_s() throws Exception {
  161. JSONSerializer serializer = new JSONSerializer();
  162. serializer.config(SerializerFeature.QuoteFieldNames, false);
  163. Assert.assertEquals(false, serializer.isEnabled(SerializerFeature.QuoteFieldNames));
  164. serializer.config(SerializerFeature.WriteMapNullValue, false);
  165. Assert.assertEquals(false, serializer.isEnabled(SerializerFeature.WriteMapNullValue));
  166. SerializeWriter out = new SerializeWriter();
  167. Map map = new LinkedHashMap();
  168. map.put("a", null);
  169. map.put("age", 33);
  170. map.put("c", null);
  171. serializer.write(map);
  172. Assert.assertEquals("{age:33}", serializer.getWriter().toString());
  173. }
  174. public static class User {
  175. private int age;
  176. public User(){
  177. }
  178. public User(int age){
  179. this.age = age;
  180. }
  181. public int getAge() {
  182. return age;
  183. }
  184. public void setAge(int age) {
  185. this.age = age;
  186. }
  187. }
  188. }