package org.dita2indesign.util; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.InputStream; import java.io.StringBufferInputStream; import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; import org.apache.log4j.Logger; import org.w3c.dom.Document; /** * Test ability to read an INX file. */ public class DataUtilTests extends TestCase { Logger logger = Logger.getLogger(this.getClass()); public static Test suite() { TestSuite suite = new TestSuite(DataUtilTests.class); return suite; } public void setUp() throws Exception { super.setUp(); } public void testSerializeDom() throws Exception { String xmlString = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" + "<doc><foo id=\"x\"><bar/><baz/></foo></doc>"; InputStream inStream = new StringBufferInputStream(xmlString); Document dom = DataUtil.constructNonValidatingDocumentBuilder().parse(inStream); assertNotNull("DOM is null", dom); File resultFile = File.createTempFile("testSerializeDom_", ".xml"); resultFile.deleteOnExit(); DataUtil.serializeDomToFile(dom, resultFile); assertTrue("File does not exist", resultFile.exists()); assertTrue("File has no data", resultFile.length() > 0); BufferedReader reader = new BufferedReader(new FileReader(resultFile)); StringBuilder inString = new StringBuilder(); String line = reader.readLine(); while (line != null) { inString.append(line); line = reader.readLine(); } String newXmlString = inString.toString(); logger.info("XML as serialized=" + newXmlString); assertTrue("No XML declaration", newXmlString.startsWith("<?xml version=\"1.0\"")); } }