blob: 590103b2246cc767b39afb0ab6c15de8ff8058ae [file] [log] [blame]
package org.codehaus.jackson.xml;
import java.io.*;
public class TestXmlGenerator extends BaseXmlTest
{
/*
public void testSimpleElement() throws Exception
{
XmlFactory f = new XmlFactory();
StringWriter out = new StringWriter();
ToXmlGenerator gen = f.createJsonGenerator(out);
// root name is special, need to be fed first:
gen.setNextElementName("", "root");
gen.writeStartObject();
gen.writeFieldName("elem");
gen.writeString("value");
gen.writeEndObject();
gen.close();
String xml = out.toString();
// one more thing: remove that annoying 'xmlns' decl, if it's there:
xml = removeSjsxpNamespace(xml);
assertEquals("<root><elem>value</elem></root>", xml);
}
*/
public void testSimpleAttribute() throws Exception
{
XmlFactory f = new XmlFactory();
StringWriter out = new StringWriter();
ToXmlGenerator gen = f.createJsonGenerator(out);
// root name is special, need to be fed first:
gen.setNextElementName("", "root");
gen.writeStartObject();
// and also need to force attribute
gen.setNextIsAttribute(true);
gen.writeFieldName("attr");
gen.writeString("value");
gen.writeEndObject();
gen.close();
String xml = out.toString();
// one more thing: remove that annoying 'xmlns' decl, if it's there:
xml = removeSjsxpNamespace(xml);
assertEquals("<root attr=\"value\"></root>", xml);
}
public void testSecondLevelAttribute() throws Exception
{
XmlFactory f = new XmlFactory();
StringWriter out = new StringWriter();
ToXmlGenerator gen = f.createJsonGenerator(out);
gen.setNextElementName("", "root");
gen.writeStartObject();
gen.writeFieldName("elem");
gen.writeStartObject();
// and also need to force attribute
gen.setNextIsAttribute(true);
gen.writeFieldName("attr");
gen.writeString("value");
gen.writeEndObject();
gen.writeEndObject();
gen.close();
String xml = out.toString();
// one more thing: remove that annoying 'xmlns' decl, if it's there:
xml = removeSjsxpNamespace(xml);
assertEquals("<root><elem attr=\"value\"></elem></root>", xml);
}
public void testAttrAndElem() throws Exception
{
XmlFactory f = new XmlFactory();
StringWriter out = new StringWriter();
ToXmlGenerator gen = f.createJsonGenerator(out);
gen.setNextElementName("", "root");
gen.writeStartObject();
// and also need to force attribute
gen.writeFieldName("attr");
gen.setNextIsAttribute(true);
gen.writeNumber(-3);
// Also let's add child element as well
gen.setNextIsAttribute(false);
gen.writeFieldName("elem");
gen.writeNumber(13);
gen.writeEndObject();
gen.close();
String xml = removeSjsxpNamespace(out.toString());
assertEquals("<root attr=\"-3\"><elem>13</elem></root>", xml);
}
}