1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.yaml.snakeyaml.issues.issue48;
17
18 import junit.framework.TestCase;
19
20 import org.yaml.snakeyaml.Yaml;
21 import org.yaml.snakeyaml.introspector.Property;
22 import org.yaml.snakeyaml.nodes.NodeTuple;
23 import org.yaml.snakeyaml.nodes.Tag;
24 import org.yaml.snakeyaml.representer.Representer;
25
26 public class SkipJavaBeanPropertyTest extends TestCase {
27 public void testWithNull() {
28 Bean bean = new Bean();
29 bean.setValue(3);
30 Yaml yaml = new Yaml();
31 String output = yaml.dumpAsMap(bean);
32
33 assertEquals("name: null\nvalue: 3\n", output);
34 }
35
36 public void testWithoutNull() {
37 Bean bean = new Bean();
38 bean.setValue(5);
39 Yaml yaml = new Yaml(new MyRepresenter());
40 String output = yaml.dumpAsMap(bean);
41
42 assertEquals("value: 5\n", output);
43 }
44
45 private class MyRepresenter extends Representer {
46 @Override
47 protected NodeTuple representJavaBeanProperty(Object bean, Property property, Object value,
48 Tag customTag) {
49 if (value != null) {
50 return super.representJavaBeanProperty(bean, property, value, customTag);
51 } else {
52 return null;
53 }
54 }
55 }
56 }