You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by an...@apache.org on 2010/10/17 15:31:50 UTC
svn commit: r1023498 -
/openejb/branches/openejb-3.1.x/container/openejb-core/src/test/java/org/apache/openejb/config/OpenEjb2ConversionTest.java
Author: andygumbrecht
Date: Sun Oct 17 13:31:49 2010
New Revision: 1023498
URL: http://svn.apache.org/viewvc?rev=1023498&view=rev
Log:
Fix test for carriage-return/whitespace processing issues.
Modified:
openejb/branches/openejb-3.1.x/container/openejb-core/src/test/java/org/apache/openejb/config/OpenEjb2ConversionTest.java
Modified: openejb/branches/openejb-3.1.x/container/openejb-core/src/test/java/org/apache/openejb/config/OpenEjb2ConversionTest.java
URL: http://svn.apache.org/viewvc/openejb/branches/openejb-3.1.x/container/openejb-core/src/test/java/org/apache/openejb/config/OpenEjb2ConversionTest.java?rev=1023498&r1=1023497&r2=1023498&view=diff
==============================================================================
--- openejb/branches/openejb-3.1.x/container/openejb-core/src/test/java/org/apache/openejb/config/OpenEjb2ConversionTest.java (original)
+++ openejb/branches/openejb-3.1.x/container/openejb-core/src/test/java/org/apache/openejb/config/OpenEjb2ConversionTest.java Sun Oct 17 13:31:49 2010
@@ -30,8 +30,12 @@ import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
+import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.StringReader;
+import org.custommonkey.xmlunit.XMLUnit;
/**
* @version $Rev$ $Date$
@@ -40,14 +44,14 @@ public class OpenEjb2ConversionTest exte
public void testSimple() throws Exception {
String prefix = "convert/oej2/simple/";
-
+
AppModule appModule = deploy(prefix);
// compare the results to the expected results
EjbModule ejbModule = appModule.getEjbModules().get(0);
- assertJaxb(prefix + "geronimo-openejb.xml", ejbModule.getAltDDs().get("geronimo-openejb.xml"), GeronimoEjbJarType.class);
assertJaxb(prefix + "openejb-jar-expected.xml", ejbModule.getOpenejbJar(), OpenejbJar.class);
+ assertJaxb(prefix + "geronimo-openejb.xml", ejbModule.getAltDDs().get("geronimo-openejb.xml"), GeronimoEjbJarType.class);
}
public void testItests22() throws Exception {
@@ -97,29 +101,34 @@ public class OpenEjb2ConversionTest exte
assertJaxb(prefix + "orm.xml", appModule.getCmpMappings(), EntityMappings.class);
}
- private void assertJaxb(String expectedFile, Object object, Class<?> type) throws IOException, JAXBException, SAXException {
- assertSame(type, object.getClass());
- String expected = read(expectedFile).replaceAll("\r\n", "\n");
-
- String actual = toString(object, type).replaceAll("\r\n", "\n");
-
-// System.out.println("expected = " + expected);
-// System.out.println("actual = " + actual);
+ private void assertJaxb(String expectedFile, Object object, Class<?> type) throws IOException, JAXBException, SAXException {
- Diff myDiff = new Diff(expected, actual);
- assertTrue("Files are similar " + myDiff, myDiff.similar());
- }
+ assertSame(type, object.getClass());
- private String read(String name) throws IOException {
- InputStream in = getClass().getClassLoader().getResource(name).openStream();
- StringBuffer sb = new StringBuffer();
- in = new BufferedInputStream(in);
- int i = in.read();
- while (i != -1) {
- sb.append((char) i);
- i = in.read();
+ final String actual = toString(object, type);
+ final boolean nw = XMLUnit.getNormalizeWhitespace();
+ final boolean n = XMLUnit.getNormalize();
+ InputStreamReader isr = null;
+
+ try {
+
+ XMLUnit.setNormalizeWhitespace(true);
+ XMLUnit.setNormalize(true);
+
+ isr = new InputStreamReader(getClass().getClassLoader().getResource(expectedFile).openStream());
+ final org.w3c.dom.Document actualDoc = XMLUnit.buildDocument(XMLUnit.newTestParser(), new StringReader(actual));
+ final org.w3c.dom.Document expectedDoc = XMLUnit.buildDocument(XMLUnit.newControlParser(), isr);
+
+ Diff myDiff = new Diff(expectedDoc, actualDoc);
+ assertTrue("Files are similar " + myDiff, myDiff.similar());
+ } finally {
+ XMLUnit.setNormalizeWhitespace(nw);
+ XMLUnit.setNormalize(n);
+
+ if(null != isr){
+ isr.close();
+ }
}
- return sb.toString().trim();
}
private AppModule deploy(String prefix) throws OpenEJBException {
@@ -144,7 +153,6 @@ public class OpenEjb2ConversionTest exte
return appModule;
}
-
private String toString(Object object, Class<?> type) throws JAXBException {
JAXBContext jaxbContext = JAXBContextFactory.newInstance(type);
@@ -157,6 +165,4 @@ public class OpenEjb2ConversionTest exte
String actual = new String(baos.toByteArray());
return actual.trim();
}
-
-
}