Kaydet (Commit) 3c4da0f6 authored tarafından Noel Grandin's avatar Noel Grandin

java: let the unit-test framework catch exceptions

and report them for us, instead of inventing our own mechanisms

Change-Id: Id9186a2b01dad33c377e4785e1ca07bccea48b07
üst af412141
...@@ -18,55 +18,58 @@ ...@@ -18,55 +18,58 @@
package complex.sfx2; package complex.sfx2;
import com.sun.star.beans.Pair; import static org.junit.Assert.assertNotNull;
import com.sun.star.rdf.Literal; import static org.junit.Assert.assertTrue;
import com.sun.star.rdf.XLiteral; import static org.junit.Assert.fail;
import com.sun.star.rdf.XNamedGraph;
import com.sun.star.rdf.BlankNode;
import com.sun.star.rdf.XQuerySelectResult;
import com.sun.star.rdf.XNode;
import com.sun.star.rdf.XDocumentRepository;
import com.sun.star.rdf.XMetadatable;
import com.sun.star.rdf.Statement;
import com.sun.star.rdf.FileFormat;
import com.sun.star.rdf.URIs;
import com.sun.star.rdf.URI;
import com.sun.star.rdf.XDocumentMetadataAccess;
import com.sun.star.rdf.XRepositorySupplier;
import com.sun.star.rdf.XRepository;
import com.sun.star.rdf.XBlankNode;
import com.sun.star.rdf.XURI;
import helper.StreamSimulator; import helper.StreamSimulator;
import com.sun.star.uno.UnoRuntime; import java.io.IOException;
import com.sun.star.uno.XComponentContext;
import com.sun.star.lang.XMultiServiceFactory;
import com.sun.star.lang.XComponent;
import com.sun.star.lang.XServiceInfo;
import com.sun.star.lang.IllegalArgumentException;
import com.sun.star.beans.XPropertySet;
import com.sun.star.beans.PropertyValue;
import com.sun.star.beans.StringPair;
import com.sun.star.container.XEnumerationAccess;
import com.sun.star.container.XEnumeration;
import com.sun.star.io.XInputStream;
import com.sun.star.util.XCloseable;
import com.sun.star.frame.XStorable;
import com.sun.star.text.XTextDocument;
import com.sun.star.text.XTextRange;
import com.sun.star.text.XText;
import complex.sfx2.tools.TestDocument;
import lib.TestParameters; import lib.TestParameters;
import org.junit.After; import org.junit.After;
import org.junit.AfterClass; import org.junit.AfterClass;
import org.junit.Before; import org.junit.Before;
import org.junit.BeforeClass; import org.junit.BeforeClass;
import org.junit.Test; import org.junit.Test;
import org.openoffice.test.OfficeConnection; import org.openoffice.test.OfficeConnection;
import static org.junit.Assert.*;
import com.sun.star.beans.Pair;
import com.sun.star.beans.PropertyValue;
import com.sun.star.beans.StringPair;
import com.sun.star.beans.XPropertySet;
import com.sun.star.container.XEnumeration;
import com.sun.star.container.XEnumerationAccess;
import com.sun.star.frame.XStorable;
import com.sun.star.io.XInputStream;
import com.sun.star.lang.IllegalArgumentException;
import com.sun.star.lang.XComponent;
import com.sun.star.lang.XMultiServiceFactory;
import com.sun.star.lang.XServiceInfo;
import com.sun.star.rdf.BlankNode;
import com.sun.star.rdf.FileFormat;
import com.sun.star.rdf.Literal;
import com.sun.star.rdf.Statement;
import com.sun.star.rdf.URI;
import com.sun.star.rdf.URIs;
import com.sun.star.rdf.XBlankNode;
import com.sun.star.rdf.XDocumentMetadataAccess;
import com.sun.star.rdf.XDocumentRepository;
import com.sun.star.rdf.XLiteral;
import com.sun.star.rdf.XMetadatable;
import com.sun.star.rdf.XNamedGraph;
import com.sun.star.rdf.XNode;
import com.sun.star.rdf.XQuerySelectResult;
import com.sun.star.rdf.XRepository;
import com.sun.star.rdf.XRepositorySupplier;
import com.sun.star.rdf.XURI;
import com.sun.star.text.XText;
import com.sun.star.text.XTextDocument;
import com.sun.star.text.XTextRange;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.XComponentContext;
import com.sun.star.util.XCloseable;
import complex.sfx2.tools.TestDocument;
/** /**
* Test case for interface com.sun.star.rdf.XDocumentMetadataAccess * Test case for interface com.sun.star.rdf.XDocumentMetadataAccess
...@@ -119,10 +122,8 @@ public class DocumentMetadataAccess ...@@ -119,10 +122,8 @@ public class DocumentMetadataAccess
*/ */
private static TestParameters param = null; private static TestParameters param = null;
@Before public void before() @Before public void before() throws Exception
{ {
try {
xMSF = getMSF(); xMSF = getMSF();
param = new TestParameters(); param = new TestParameters();
param.put("ServiceFactory", xMSF); // important for param.getMSF() param.put("ServiceFactory", xMSF); // important for param.getMSF()
...@@ -167,10 +168,6 @@ public class DocumentMetadataAccess ...@@ -167,10 +168,6 @@ public class DocumentMetadataAccess
assertNotNull("odf_StylesFile", odf_StylesFile); assertNotNull("odf_StylesFile", odf_StylesFile);
odf_Element = URI.createKnown(xContext, URIs.ODF_ELEMENT); odf_Element = URI.createKnown(xContext, URIs.ODF_ELEMENT);
assertNotNull("odf_Element", odf_Element); assertNotNull("odf_Element", odf_Element);
} catch (Exception e) {
report(e);
}
} }
@After public void after() @After public void after()
...@@ -180,7 +177,7 @@ public class DocumentMetadataAccess ...@@ -180,7 +177,7 @@ public class DocumentMetadataAccess
xDMA = null; xDMA = null;
} }
@Test public void check() @Test public void check() throws Exception
{ {
XComponent xComp = null; XComponent xComp = null;
XComponent xComp2 = null; XComponent xComp2 = null;
...@@ -595,15 +592,13 @@ public class DocumentMetadataAccess ...@@ -595,15 +592,13 @@ public class DocumentMetadataAccess
System.out.println("...done"); System.out.println("...done");
} catch (Exception e) {
report(e);
} finally { } finally {
close(xComp); close(xComp);
close(xComp2); close(xComp2);
} }
} }
@Test public void checkRDFa() @Test public void checkRDFa() throws Exception
{ {
XComponent xComp = null; XComponent xComp = null;
try { try {
...@@ -622,10 +617,8 @@ public class DocumentMetadataAccess ...@@ -622,10 +617,8 @@ public class DocumentMetadataAccess
} }
} }
private void storeRDFa(XComponent xComp, String file) private void storeRDFa(XComponent xComp, String file) throws com.sun.star.io.IOException
{ {
try {
System.out.println("Storing test document..."); System.out.println("Storing test document...");
XStorable xStor = UnoRuntime.queryInterface(XStorable.class, xComp); XStorable xStor = UnoRuntime.queryInterface(XStorable.class, xComp);
...@@ -633,16 +626,11 @@ public class DocumentMetadataAccess ...@@ -633,16 +626,11 @@ public class DocumentMetadataAccess
xStor.storeToURL(file, new PropertyValue[0]); xStor.storeToURL(file, new PropertyValue[0]);
System.out.println("...done"); System.out.println("...done");
} catch (Exception e) {
report(e);
}
} }
private XComponent loadRDFa(String file) private XComponent loadRDFa(String file) throws Exception
{ {
XComponent xComp = null; XComponent xComp = null;
try {
System.out.println("Loading test document..."); System.out.println("Loading test document...");
...@@ -851,22 +839,12 @@ public class DocumentMetadataAccess ...@@ -851,22 +839,12 @@ public class DocumentMetadataAccess
System.out.println("...done"); System.out.println("...done");
} catch (Exception e) {
report(e);
close(xComp);
}
return xComp; return xComp;
} }
// utilities ------------------------------------------------------------- // utilities -------------------------------------------------------------
public void report(Exception e) {
System.out.println("Exception occurred:");
e.printStackTrace(System.err);
fail();
}
static void close(XComponent i_comp) static void close(XComponent i_comp)
{ {
try { try {
......
...@@ -84,8 +84,8 @@ public class DocumentProperties ...@@ -84,8 +84,8 @@ public class DocumentProperties
} }
} }
@Test public void check() { @Test public void check() throws Exception
try { {
XMultiServiceFactory xMSF = getMSF(); XMultiServiceFactory xMSF = getMSF();
assertNotNull("could not create MultiServiceFactory.", xMSF); assertNotNull("could not create MultiServiceFactory.", xMSF);
XPropertySet xPropertySet = UnoRuntime.queryInterface(XPropertySet.class, xMSF); XPropertySet xPropertySet = UnoRuntime.queryInterface(XPropertySet.class, xMSF);
...@@ -454,10 +454,6 @@ public class DocumentProperties ...@@ -454,10 +454,6 @@ public class DocumentProperties
assertTrue("Removed Listener UserDefined Add", !listener.reset()); assertTrue("Removed Listener UserDefined Add", !listener.reset());
System.out.println("...done"); System.out.println("...done");
} catch (Exception e) {
report(e);
}
} }
// grrr... // grrr...
...@@ -504,13 +500,6 @@ public class DocumentProperties ...@@ -504,13 +500,6 @@ public class DocumentProperties
return false; return false;
} }
public void report(Exception e) {
System.out.println("Exception occurred:");
e.printStackTrace();
fail();
}
private XMultiServiceFactory getMSF() private XMultiServiceFactory getMSF()
{ {
final XMultiServiceFactory xMSF1 = UnoRuntime.queryInterface( XMultiServiceFactory.class, connection.getComponentContext().getServiceManager() ); final XMultiServiceFactory xMSF1 = UnoRuntime.queryInterface( XMultiServiceFactory.class, connection.getComponentContext().getServiceManager() );
......
...@@ -42,8 +42,11 @@ import com.sun.star.document.XUndoAction; ...@@ -42,8 +42,11 @@ import com.sun.star.document.XUndoAction;
import com.sun.star.lang.EventObject; import com.sun.star.lang.EventObject;
import com.sun.star.lang.IndexOutOfBoundsException; import com.sun.star.lang.IndexOutOfBoundsException;
import com.sun.star.lang.XEventListener; import com.sun.star.lang.XEventListener;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import org.openoffice.test.tools.OfficeDocument; import org.openoffice.test.tools.OfficeDocument;
import com.sun.star.document.XUndoManagerSupplier; import com.sun.star.document.XUndoManagerSupplier;
import com.sun.star.document.XUndoManager; import com.sun.star.document.XUndoManager;
import com.sun.star.document.XUndoManagerListener; import com.sun.star.document.XUndoManagerListener;
...@@ -60,28 +63,34 @@ import com.sun.star.script.ScriptEventDescriptor; ...@@ -60,28 +63,34 @@ import com.sun.star.script.ScriptEventDescriptor;
import com.sun.star.script.XEventAttacherManager; import com.sun.star.script.XEventAttacherManager;
import com.sun.star.script.XLibraryContainer; import com.sun.star.script.XLibraryContainer;
import com.sun.star.task.XJob; import com.sun.star.task.XJob;
import com.sun.star.uno.Exception;
import com.sun.star.uno.Type; import com.sun.star.uno.Type;
import com.sun.star.uno.UnoRuntime; import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.XComponentContext; import com.sun.star.uno.XComponentContext;
import com.sun.star.util.InvalidStateException; import com.sun.star.util.InvalidStateException;
import com.sun.star.util.NotLockedException; import com.sun.star.util.NotLockedException;
import com.sun.star.view.XControlAccess; import com.sun.star.view.XControlAccess;
import complex.sfx2.undo.CalcDocumentTest; import complex.sfx2.undo.CalcDocumentTest;
import complex.sfx2.undo.ChartDocumentTest; import complex.sfx2.undo.ChartDocumentTest;
import complex.sfx2.undo.DocumentTest; import complex.sfx2.undo.DocumentTest;
import complex.sfx2.undo.DrawDocumentTest; import complex.sfx2.undo.DrawDocumentTest;
import complex.sfx2.undo.ImpressDocumentTest; import complex.sfx2.undo.ImpressDocumentTest;
import complex.sfx2.undo.WriterDocumentTest; import complex.sfx2.undo.WriterDocumentTest;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Iterator; import java.util.Iterator;
import java.util.Stack; import java.util.Stack;
import org.junit.After; import org.junit.After;
import org.junit.AfterClass; import org.junit.AfterClass;
import org.junit.Before; import org.junit.Before;
import org.junit.BeforeClass; import org.junit.BeforeClass;
import org.junit.Test; import org.junit.Test;
import static org.junit.Assert.*; import static org.junit.Assert.*;
import org.openoffice.test.OfficeConnection; import org.openoffice.test.OfficeConnection;
import org.openoffice.test.tools.DocumentType; import org.openoffice.test.tools.DocumentType;
import org.openoffice.test.tools.SpreadsheetDocument; import org.openoffice.test.tools.SpreadsheetDocument;
...@@ -118,7 +127,7 @@ public class UndoManager ...@@ -118,7 +127,7 @@ public class UndoManager
//FIXME fails fdo#35663 @Test //FIXME fails fdo#35663 @Test
public void checkCalcUndo() throws Exception public void checkCalcUndo() throws java.lang.Exception
{ {
m_currentTestCase = new CalcDocumentTest( getORB() ); m_currentTestCase = new CalcDocumentTest( getORB() );
impl_checkUndo(); impl_checkUndo();
...@@ -385,9 +394,7 @@ public class UndoManager ...@@ -385,9 +394,7 @@ public class UndoManager
private void impl_assignScript( final XPropertySet i_controlModel, final String i_interfaceName, private void impl_assignScript( final XPropertySet i_controlModel, final String i_interfaceName,
final String i_interfaceMethod, final String i_scriptURI ) final String i_interfaceMethod, final String i_scriptURI ) throws Exception
{
try
{ {
final XChild modelAsChild = UnoRuntime.queryInterface( XChild.class, i_controlModel ); final XChild modelAsChild = UnoRuntime.queryInterface( XChild.class, i_controlModel );
final XIndexContainer parentForm = UnoRuntime.queryInterface( XIndexContainer.class, modelAsChild.getParent() ); final XIndexContainer parentForm = UnoRuntime.queryInterface( XIndexContainer.class, modelAsChild.getParent() );
...@@ -413,11 +420,6 @@ public class UndoManager ...@@ -413,11 +420,6 @@ public class UndoManager
i_scriptURI i_scriptURI
) ); ) );
} }
catch( com.sun.star.uno.Exception e )
{
fail( "caught an exception while assigning the script event to the button: " + e.toString() );
}
}
private void impl_clickButton( final XPropertySet i_buttonModel ) throws NoSuchElementException, IndexOutOfBoundsException private void impl_clickButton( final XPropertySet i_buttonModel ) throws NoSuchElementException, IndexOutOfBoundsException
...@@ -1195,7 +1197,7 @@ public class UndoManager ...@@ -1195,7 +1197,7 @@ public class UndoManager
@BeforeClass @BeforeClass
public static void setUpConnection() throws Exception public static void setUpConnection() throws java.lang.Exception
{ {
System.out.println( "--------------------------------------------------------------------------------" ); System.out.println( "--------------------------------------------------------------------------------" );
System.out.println( "starting class: " + UndoManager.class.getName() ); System.out.println( "starting class: " + UndoManager.class.getName() );
......
...@@ -185,15 +185,8 @@ public class WriterHelper { ...@@ -185,15 +185,8 @@ public class WriterHelper {
* *
* @return returns the gained XExtendedToolkit Interface * @return returns the gained XExtendedToolkit Interface
*/ */
public XExtendedToolkit getToolkit() { public XExtendedToolkit getToolkit() throws com.sun.star.uno.Exception {
Object toolkit = null; Object toolkit = m_xMSF.createInstance("com.sun.star.awt.Toolkit");
try {
toolkit = m_xMSF.createInstance("com.sun.star.awt.Toolkit");
} catch (com.sun.star.uno.Exception e) {
System.out.println("Couldn't get toolkit");
e.printStackTrace(System.err);
}
XExtendedToolkit tk = UnoRuntime.queryInterface(XExtendedToolkit.class, XExtendedToolkit tk = UnoRuntime.queryInterface(XExtendedToolkit.class,
toolkit); toolkit);
...@@ -207,15 +200,8 @@ public class WriterHelper { ...@@ -207,15 +200,8 @@ public class WriterHelper {
* *
* @return returns the gained XDesktop interface * @return returns the gained XDesktop interface
*/ */
private XDesktop getDesktop() { private XDesktop getDesktop() throws com.sun.star.uno.Exception {
Object desk = null; Object desk = m_xMSF.createInstance("com.sun.star.frame.Desktop");
try {
desk = m_xMSF.createInstance("com.sun.star.frame.Desktop");
} catch (com.sun.star.uno.Exception e) {
System.out.println("Couldn't get desktop");
e.printStackTrace(System.err);
}
XDesktop xDesktop = UnoRuntime.queryInterface(XDesktop.class, desk); XDesktop xDesktop = UnoRuntime.queryInterface(XDesktop.class, desk);
......
...@@ -115,11 +115,9 @@ public class ChartDocumentTest implements DocumentTest ...@@ -115,11 +115,9 @@ public class ChartDocumentTest implements DocumentTest
return wallProperties; return wallProperties;
} }
private XPropertySet impl_getYAxisProperties() private XPropertySet impl_getYAxisProperties() throws IndexOutOfBoundsException
{ {
XPropertySet axisProperties = null; XPropertySet axisProperties = null;
try
{
final XChartDocument chartDoc = UnoRuntime.queryInterface( XChartDocument.class, m_chartDocument.getDocument() ); final XChartDocument chartDoc = UnoRuntime.queryInterface( XChartDocument.class, m_chartDocument.getDocument() );
final XDiagram diagram = chartDoc.getFirstDiagram(); final XDiagram diagram = chartDoc.getFirstDiagram();
final XCoordinateSystemContainer coordContainer = UnoRuntime.queryInterface( XCoordinateSystemContainer.class, diagram ); final XCoordinateSystemContainer coordContainer = UnoRuntime.queryInterface( XCoordinateSystemContainer.class, diagram );
...@@ -127,11 +125,6 @@ public class ChartDocumentTest implements DocumentTest ...@@ -127,11 +125,6 @@ public class ChartDocumentTest implements DocumentTest
final XCoordinateSystem coordSystem = coordSystems[0]; final XCoordinateSystem coordSystem = coordSystems[0];
final XAxis primaryYAxis = coordSystem.getAxisByDimension( 1, 0 ); final XAxis primaryYAxis = coordSystem.getAxisByDimension( 1, 0 );
axisProperties = UnoRuntime.queryInterface( XPropertySet.class, primaryYAxis ); axisProperties = UnoRuntime.queryInterface( XPropertySet.class, primaryYAxis );
}
catch ( Exception ex )
{
fail( "internal error: could not retrieve primary Y axis properties" );
}
return axisProperties; return axisProperties;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment