package xml.c1586; import junit.framework.TestCase; import org.exolab.castor.mapping.Mapping; import org.exolab.castor.xml.Marshaller; import org.exolab.castor.xml.Unmarshaller; import org.exolab.castor.xml.XMLContext; import org.xml.sax.InputSource; import java.io.StringWriter; /** * Unit Test */ public class TextContentTest extends TestCase { private static final String MAPPING_FILE = "mapping.xml"; private XMLContext xmlContext; private Mapping mapping; private Marshaller marshaller; private StringWriter writer; private Unmarshaller unmarshaller; /* (non-Javadoc) * @see junit.framework.TestCase#setUp() */ protected void setUp() throws Exception { super.setUp(); this.xmlContext = new XMLContext(); // das Test Objekt vorbereiten this.writer = new StringWriter(); } /* (non-Javadoc) * @see junit.framework.TestCase#tearDown() */ protected void tearDown() throws Exception { super.tearDown(); this.writer = null; this.xmlContext = null; } /** * Will throw exception when setting mapping in unmarshaller */ public void testTextContentNotWorking() throws Exception { // das Mapping laden mapping = new Mapping(getClass().getClassLoader()); mapping.loadMapping(new InputSource(getClass().getResourceAsStream(MAPPING_FILE))); // den Marshaller erzeugen marshaller = xmlContext.createMarshaller(); marshaller.setWriter(writer); // marshaller = new Marshaller(writer); marshaller.setMapping(mapping); marshaller.setEncoding("UTF-8"); marshaller.setValidation(true); // den Unmarshaller erzeugen unmarshaller = xmlContext.createUnmarshaller(); // unmarshaller = new Unmarshaller(); unmarshaller.setClassLoader(getClass().getClassLoader()); unmarshaller.setValidation(false); unmarshaller.setMapping(mapping); unmarshaller.setWhitespacePreserve(true); // den Marshaller erzeugen marshaller = xmlContext.createMarshaller(); marshaller.setWriter(writer); // marshaller = new Marshaller(writer); marshaller.setMapping(mapping); marshaller.setEncoding("UTF-8"); marshaller.setValidation(true); } /** * Everything works */ public void testTextContentWorking() throws Exception { // das Mapping laden mapping = new Mapping(getClass().getClassLoader()); mapping.loadMapping(getClass().getResource(MAPPING_FILE)); // den Marshaller erzeugen marshaller = xmlContext.createMarshaller(); marshaller.setWriter(writer); // marshaller = new Marshaller(writer); marshaller.setMapping(mapping); marshaller.setEncoding("UTF-8"); marshaller.setValidation(true); // den Unmarshaller erzeugen unmarshaller = xmlContext.createUnmarshaller(); // unmarshaller = new Unmarshaller(); unmarshaller.setClassLoader(getClass().getClassLoader()); unmarshaller.setValidation(false); unmarshaller.setMapping(mapping); unmarshaller.setWhitespacePreserve(true); } }