diff --git a/build.xml b/build.xml
index b48d8853d1..c1ddf4a5f7 100644
--- a/build.xml
+++ b/build.xml
@@ -844,7 +844,8 @@ Authors:
- -->
+ -->
+
diff --git a/tests/dom/serialize/TestSerializeDOMOut.java b/tests/dom/serialize/TestSerializeDOMOut.java
index 617f9be429..e67fb45e84 100644
--- a/tests/dom/serialize/TestSerializeDOMOut.java
+++ b/tests/dom/serialize/TestSerializeDOMOut.java
@@ -17,14 +17,16 @@
package dom.serialize;
+import java.io.File;
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
+import junit.framework.TestCase;
+
import org.apache.xerces.dom.DocumentImpl;
-import org.apache.xerces.parsers.DOMParser;
import org.w3c.dom.Document;
-
-import dom.Writer;
+import org.w3c.dom.Element;
+import org.w3c.dom.Text;
/**
@@ -39,7 +41,7 @@
*/
-public class TestSerializeDOMOut
+public class TestSerializeDOMOut extends TestCase
{
public TestSerializeDOMOut(){
@@ -63,62 +65,30 @@ public void serializeDOM( Document doc, String nameSerializedFile ){
}
}
+ public void testSerializeRoundTrip() throws Exception {
+ DocumentImpl doc = new DocumentImpl();
+ Element root = doc.createElement("root");
+ doc.appendChild(root);
+ root.setAttribute("attr", "value");
+ Text text = doc.createTextNode("hello");
+ root.appendChild(text);
- public static void main (String[] argv)
- {
-
- if ( argv.length != 1 ) {
- System.out.println("Error - Usage: java TestOut yourFile.xml" );
- System.exit(1);
- }
-
- String xmlFilename = argv[0];
-
-
+ File temp = File.createTempFile("xerces-serialize", ".ser");
+ temp.deleteOnExit();
try {
- DOMParser parser = new DOMParser();
-
- parser.parse( xmlFilename );
-
- DocumentImpl doc = (DocumentImpl) parser.getDocument();
-
- int indexOfextension = xmlFilename.indexOf("." );
-
-
-
- String nameOfSerializedFile = null;
-
- if ( indexOfextension == -1 ) {
- nameOfSerializedFile = xmlFilename +".ser" ;
- } else {
- nameOfSerializedFile =
- xmlFilename.substring(0,indexOfextension) + ".ser";
- }
-
- System.out.println( "Writing Serialize DOM to file = " + nameOfSerializedFile );
-
-
- FileOutputStream fileOut = new FileOutputStream( nameOfSerializedFile );
-
-
- TestSerializeDOMOut tstOut = new TestSerializeDOMOut();
-
- tstOut.serializeDOM( doc, nameOfSerializedFile );
-
-
- System.out.println( "Reading Serialize DOM from " + nameOfSerializedFile );
-
-
- TestSerializeDOMIn tstIn = new TestSerializeDOMIn();
- doc = tstIn.deserializeDOM( nameOfSerializedFile );
-
- Writer prettyWriter = new Writer( false );
- prettyWriter.setOutput(System.out, "UTF8");
- System.out.println( "Here is the whole Document" );
- prettyWriter.write( doc.getDocumentElement() );
- } catch ( Exception ex ){
- ex.printStackTrace();
+ TestSerializeDOMOut tstOut = new TestSerializeDOMOut();
+ tstOut.serializeDOM(doc, temp.getAbsolutePath());
+ TestSerializeDOMIn tstIn = new TestSerializeDOMIn();
+ DocumentImpl result = tstIn.deserializeDOM(temp.getAbsolutePath());
+ assertNotNull("Result should not be null", result);
+ Element resultRoot = result.getDocumentElement();
+ assertNotNull("Root element should not be null", resultRoot);
+ assertEquals("root", resultRoot.getNodeName());
+ assertEquals("value", resultRoot.getAttribute("attr"));
+ assertEquals("hello", resultRoot.getFirstChild().getNodeValue());
+ } finally {
+ temp.delete();
}
- }
+ }
}