12
12
13
13
public class XmlGeneratorTest extends XmlTestBase
14
14
{
15
+ private final XmlFactory XML_F = new XmlFactory ();
16
+
15
17
public void testSimpleElement () throws Exception
16
18
{
17
- XmlFactory f = new XmlFactory ();
18
19
StringWriter out = new StringWriter ();
19
- ToXmlGenerator gen = f .createGenerator (out );
20
+ ToXmlGenerator gen = XML_F .createGenerator (out );
20
21
// root name is special, need to be fed first:
21
22
gen .setNextName (new QName ("root" ));
22
23
gen .writeStartObject ();
@@ -30,11 +31,37 @@ public void testSimpleElement() throws Exception
30
31
assertEquals ("<root><elem>value</elem></root>" , xml );
31
32
}
32
33
34
+ public void testNullValuedElement () throws Exception
35
+ {
36
+ // First explicitly written
37
+ StringWriter out = new StringWriter ();
38
+ ToXmlGenerator gen = XML_F .createGenerator (out );
39
+ gen .setNextName (new QName ("root" ));
40
+ gen .writeStartObject ();
41
+ gen .writeFieldName ("elem" );
42
+ gen .writeNull ();
43
+ gen .writeEndObject ();
44
+ gen .close ();
45
+ String xml = removeSjsxpNamespace (out .toString ());
46
+ assertEquals ("<root><elem/></root>" , xml );
47
+
48
+ // and then indirectly (see [dataformat-xml#413])
49
+ out = new StringWriter ();
50
+ gen = XML_F .createGenerator (out );
51
+ gen .setNextName (new QName ("root" ));
52
+ gen .writeStartObject ();
53
+ gen .writeFieldName ("elem" );
54
+ gen .writeString ((String ) null );
55
+ gen .writeEndObject ();
56
+ gen .close ();
57
+ xml = removeSjsxpNamespace (out .toString ());
58
+ assertEquals ("<root><elem/></root>" , xml );
59
+ }
60
+
33
61
public void testSimpleAttribute () throws Exception
34
62
{
35
- XmlFactory f = new XmlFactory ();
36
63
StringWriter out = new StringWriter ();
37
- ToXmlGenerator gen = f .createGenerator (out );
64
+ ToXmlGenerator gen = XML_F .createGenerator (out );
38
65
// root name is special, need to be fed first:
39
66
gen .setNextName (new QName ("root" ));
40
67
gen .writeStartObject ();
@@ -52,9 +79,8 @@ public void testSimpleAttribute() throws Exception
52
79
53
80
public void testSecondLevelAttribute () throws Exception
54
81
{
55
- XmlFactory f = new XmlFactory ();
56
82
StringWriter out = new StringWriter ();
57
- ToXmlGenerator gen = f .createGenerator (out );
83
+ ToXmlGenerator gen = XML_F .createGenerator (out );
58
84
gen .setNextName (new QName ("root" ));
59
85
gen .writeStartObject ();
60
86
gen .writeFieldName ("elem" );
@@ -74,9 +100,8 @@ public void testSecondLevelAttribute() throws Exception
74
100
75
101
public void testAttrAndElem () throws Exception
76
102
{
77
- XmlFactory f = new XmlFactory ();
78
103
StringWriter out = new StringWriter ();
79
- ToXmlGenerator gen = f .createGenerator (out );
104
+ ToXmlGenerator gen = XML_F .createGenerator (out );
80
105
gen .setNextName (new QName ("root" ));
81
106
gen .writeStartObject ();
82
107
// and also need to force attribute
@@ -109,9 +134,8 @@ public void testWriteToFile() throws Exception
109
134
110
135
public void testRawSimpleValue () throws Exception
111
136
{
112
- XmlFactory f = new XmlFactory ();
113
137
StringWriter out = new StringWriter ();
114
- ToXmlGenerator gen = f .createGenerator (out );
138
+ ToXmlGenerator gen = XML_F .createGenerator (out );
115
139
// root name is special, need to be fed first:
116
140
gen .setNextName (new QName ("root" ));
117
141
gen .writeStartObject ();
@@ -127,9 +151,8 @@ public void testRawSimpleValue() throws Exception
127
151
128
152
public void testRawOffsetValue () throws Exception
129
153
{
130
- XmlFactory f = new XmlFactory ();
131
154
StringWriter out = new StringWriter ();
132
- ToXmlGenerator gen = f .createGenerator (out );
155
+ ToXmlGenerator gen = XML_F .createGenerator (out );
133
156
// root name is special, need to be fed first:
134
157
gen .setNextName (new QName ("root" ));
135
158
gen .writeStartObject ();
@@ -145,9 +168,8 @@ public void testRawOffsetValue() throws Exception
145
168
146
169
public void testRawCharArrayValue () throws Exception
147
170
{
148
- XmlFactory f = new XmlFactory ();
149
171
StringWriter out = new StringWriter ();
150
- ToXmlGenerator gen = f .createGenerator (out );
172
+ ToXmlGenerator gen = XML_F .createGenerator (out );
151
173
// root name is special, need to be fed first:
152
174
gen .setNextName (new QName ("root" ));
153
175
gen .writeStartObject ();
@@ -163,9 +185,8 @@ public void testRawCharArrayValue() throws Exception
163
185
164
186
public void testRawSimpleAttribute () throws Exception
165
187
{
166
- XmlFactory f = new XmlFactory ();
167
188
StringWriter out = new StringWriter ();
168
- ToXmlGenerator gen = f .createGenerator (out );
189
+ ToXmlGenerator gen = XML_F .createGenerator (out );
169
190
// root name is special, need to be fed first:
170
191
gen .setNextName (new QName ("root" ));
171
192
gen .writeStartObject ();
@@ -183,9 +204,8 @@ public void testRawSimpleAttribute() throws Exception
183
204
184
205
public void testRawOffsetAttribute () throws Exception
185
206
{
186
- XmlFactory f = new XmlFactory ();
187
207
StringWriter out = new StringWriter ();
188
- ToXmlGenerator gen = f .createGenerator (out );
208
+ ToXmlGenerator gen = XML_F .createGenerator (out );
189
209
// root name is special, need to be fed first:
190
210
gen .setNextName (new QName ("root" ));
191
211
gen .writeStartObject ();
@@ -203,9 +223,8 @@ public void testRawOffsetAttribute() throws Exception
203
223
204
224
public void testRawCharArratAttribute () throws Exception
205
225
{
206
- XmlFactory f = new XmlFactory ();
207
226
StringWriter out = new StringWriter ();
208
- ToXmlGenerator gen = f .createGenerator (out );
227
+ ToXmlGenerator gen = XML_F .createGenerator (out );
209
228
// root name is special, need to be fed first:
210
229
gen .setNextName (new QName ("root" ));
211
230
gen .writeStartObject ();
0 commit comments