@@ -142,10 +142,12 @@ public void test_not_nullable() {
142142 TestObject8 obj = new TestObject8 ();
143143 obj .field1 = new String []{"hello" };
144144 assertEquals ("{\" field1\" :[\" hello\" ]}" , JsonStream .serialize (obj ));
145- try {
146- JsonStream .serialize (new TestObject8 ());
147- fail ();
148- } catch (NullPointerException e ) {
145+ if (Codegen .mode == EncodingMode .DYNAMIC_MODE ) {
146+ try {
147+ JsonStream .serialize (new TestObject8 ());
148+ fail ();
149+ } catch (NullPointerException e ) {
150+ }
149151 }
150152 }
151153
@@ -166,39 +168,41 @@ public void test_collection_value_not_nullable() {
166168 obj .field1 = new String []{"hello" };
167169 assertEquals ("{\" field1\" :[\" hello\" ]}" , JsonStream .serialize (obj ));
168170
169- obj = new TestObject9 ();
170- obj .field1 = new String []{null };
171- try {
172- JsonStream .serialize (obj );
173- fail ();
174- } catch (NullPointerException e ) {
175- }
176-
177- obj = new TestObject9 ();
178- obj .field2 = new ArrayList ();
179- obj .field2 .add (null );
180- try {
181- JsonStream .serialize (obj );
182- fail ();
183- } catch (NullPointerException e ) {
184- }
185-
186- obj = new TestObject9 ();
187- obj .field3 = new HashSet <String >();
188- obj .field3 .add (null );
189- try {
190- JsonStream .serialize (obj );
191- fail ();
192- } catch (NullPointerException e ) {
193- }
194-
195- obj = new TestObject9 ();
196- obj .field4 = new HashMap <String , String >();
197- obj .field4 .put ("hello" , null );
198- try {
199- JsonStream .serialize (obj );
200- fail ();
201- } catch (NullPointerException e ) {
171+ if (Codegen .mode == EncodingMode .DYNAMIC_MODE ) {
172+ obj = new TestObject9 ();
173+ obj .field1 = new String []{null };
174+ try {
175+ JsonStream .serialize (obj );
176+ fail ();
177+ } catch (NullPointerException e ) {
178+ }
179+
180+ obj = new TestObject9 ();
181+ obj .field2 = new ArrayList ();
182+ obj .field2 .add (null );
183+ try {
184+ JsonStream .serialize (obj );
185+ fail ();
186+ } catch (NullPointerException e ) {
187+ }
188+
189+ obj = new TestObject9 ();
190+ obj .field3 = new HashSet <String >();
191+ obj .field3 .add (null );
192+ try {
193+ JsonStream .serialize (obj );
194+ fail ();
195+ } catch (NullPointerException e ) {
196+ }
197+
198+ obj = new TestObject9 ();
199+ obj .field4 = new HashMap <String , String >();
200+ obj .field4 .put ("hello" , null );
201+ try {
202+ JsonStream .serialize (obj );
203+ fail ();
204+ } catch (NullPointerException e ) {
205+ }
202206 }
203207 }
204208
@@ -210,4 +214,23 @@ public static class TestObject10 {
210214 public void test_not_omit_null () {
211215 assertEquals ("{\" field1\" :null}" , JsonStream .serialize (new TestObject10 ()));
212216 }
217+
218+ public static class TestObject11 {
219+ public String field1 ;
220+ public String field2 ;
221+ public String field3 ;
222+ }
223+
224+ public void test_omit_null () {
225+ assertEquals ("{}" , JsonStream .serialize (new TestObject11 ()));
226+ TestObject11 obj = new TestObject11 ();
227+ obj .field1 = "hello" ;
228+ assertEquals ("{\" field1\" :\" hello\" }" , JsonStream .serialize (obj ));
229+ obj = new TestObject11 ();
230+ obj .field2 = "hello" ;
231+ assertEquals ("{\" field2\" :\" hello\" }" , JsonStream .serialize (obj ));
232+ obj = new TestObject11 ();
233+ obj .field3 = "hello" ;
234+ assertEquals ("{\" field3\" :\" hello\" }" , JsonStream .serialize (obj ));
235+ }
213236}
0 commit comments