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 @@
package complex.sfx2;
import com.sun.star.beans.Pair;
import com.sun.star.rdf.Literal;
import com.sun.star.rdf.XLiteral;
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 static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import helper.StreamSimulator;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.XComponentContext;
import com.sun.star.lang.XMultiServiceFactory;
import com.sun.star.lang.XComponent;
import java.io.IOException;
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 org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
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
......@@ -119,10 +122,8 @@ public class DocumentMetadataAccess
*/
private static TestParameters param = null;
@Before public void before()
@Before public void before() throws Exception
{
try {
xMSF = getMSF();
param = new TestParameters();
param.put("ServiceFactory", xMSF); // important for param.getMSF()
......@@ -167,10 +168,6 @@ public class DocumentMetadataAccess
assertNotNull("odf_StylesFile", odf_StylesFile);
odf_Element = URI.createKnown(xContext, URIs.ODF_ELEMENT);
assertNotNull("odf_Element", odf_Element);
} catch (Exception e) {
report(e);
}
}
@After public void after()
......@@ -180,7 +177,7 @@ public class DocumentMetadataAccess
xDMA = null;
}
@Test public void check()
@Test public void check() throws Exception
{
XComponent xComp = null;
XComponent xComp2 = null;
......@@ -595,15 +592,13 @@ public class DocumentMetadataAccess
System.out.println("...done");
} catch (Exception e) {
report(e);
} finally {
close(xComp);
close(xComp2);
}
}
@Test public void checkRDFa()
@Test public void checkRDFa() throws Exception
{
XComponent xComp = null;
try {
......@@ -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...");
XStorable xStor = UnoRuntime.queryInterface(XStorable.class, xComp);
......@@ -633,16 +626,11 @@ public class DocumentMetadataAccess
xStor.storeToURL(file, new PropertyValue[0]);
System.out.println("...done");
} catch (Exception e) {
report(e);
}
}
private XComponent loadRDFa(String file)
private XComponent loadRDFa(String file) throws Exception
{
XComponent xComp = null;
try {
System.out.println("Loading test document...");
......@@ -851,22 +839,12 @@ public class DocumentMetadataAccess
System.out.println("...done");
} catch (Exception e) {
report(e);
close(xComp);
}
return xComp;
}
// utilities -------------------------------------------------------------
public void report(Exception e) {
System.out.println("Exception occurred:");
e.printStackTrace(System.err);
fail();
}
static void close(XComponent i_comp)
{
try {
......
......@@ -84,8 +84,8 @@ public class DocumentProperties
}
}
@Test public void check() {
try {
@Test public void check() throws Exception
{
XMultiServiceFactory xMSF = getMSF();
assertNotNull("could not create MultiServiceFactory.", xMSF);
XPropertySet xPropertySet = UnoRuntime.queryInterface(XPropertySet.class, xMSF);
......@@ -454,10 +454,6 @@ public class DocumentProperties
assertTrue("Removed Listener UserDefined Add", !listener.reset());
System.out.println("...done");
} catch (Exception e) {
report(e);
}
}
// grrr...
......@@ -504,13 +500,6 @@ public class DocumentProperties
return false;
}
public void report(Exception e) {
System.out.println("Exception occurred:");
e.printStackTrace();
fail();
}
private XMultiServiceFactory getMSF()
{
final XMultiServiceFactory xMSF1 = UnoRuntime.queryInterface( XMultiServiceFactory.class, connection.getComponentContext().getServiceManager() );
......
......@@ -42,8 +42,11 @@ import com.sun.star.document.XUndoAction;
import com.sun.star.lang.EventObject;
import com.sun.star.lang.IndexOutOfBoundsException;
import com.sun.star.lang.XEventListener;
import java.lang.reflect.InvocationTargetException;
import org.openoffice.test.tools.OfficeDocument;
import com.sun.star.document.XUndoManagerSupplier;
import com.sun.star.document.XUndoManager;
import com.sun.star.document.XUndoManagerListener;
......@@ -60,28 +63,34 @@ import com.sun.star.script.ScriptEventDescriptor;
import com.sun.star.script.XEventAttacherManager;
import com.sun.star.script.XLibraryContainer;
import com.sun.star.task.XJob;
import com.sun.star.uno.Exception;
import com.sun.star.uno.Type;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.XComponentContext;
import com.sun.star.util.InvalidStateException;
import com.sun.star.util.NotLockedException;
import com.sun.star.view.XControlAccess;
import complex.sfx2.undo.CalcDocumentTest;
import complex.sfx2.undo.ChartDocumentTest;
import complex.sfx2.undo.DocumentTest;
import complex.sfx2.undo.DrawDocumentTest;
import complex.sfx2.undo.ImpressDocumentTest;
import complex.sfx2.undo.WriterDocumentTest;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Stack;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;
import org.openoffice.test.OfficeConnection;
import org.openoffice.test.tools.DocumentType;
import org.openoffice.test.tools.SpreadsheetDocument;
......@@ -118,7 +127,7 @@ public class UndoManager
//FIXME fails fdo#35663 @Test
public void checkCalcUndo() throws Exception
public void checkCalcUndo() throws java.lang.Exception
{
m_currentTestCase = new CalcDocumentTest( getORB() );
impl_checkUndo();
......@@ -385,9 +394,7 @@ public class UndoManager
private void impl_assignScript( final XPropertySet i_controlModel, final String i_interfaceName,
final String i_interfaceMethod, final String i_scriptURI )
{
try
final String i_interfaceMethod, final String i_scriptURI ) throws Exception
{
final XChild modelAsChild = UnoRuntime.queryInterface( XChild.class, i_controlModel );
final XIndexContainer parentForm = UnoRuntime.queryInterface( XIndexContainer.class, modelAsChild.getParent() );
......@@ -413,11 +420,6 @@ public class UndoManager
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
......@@ -1195,7 +1197,7 @@ public class UndoManager
@BeforeClass
public static void setUpConnection() throws Exception
public static void setUpConnection() throws java.lang.Exception
{
System.out.println( "--------------------------------------------------------------------------------" );
System.out.println( "starting class: " + UndoManager.class.getName() );
......
......@@ -185,15 +185,8 @@ public class WriterHelper {
*
* @return returns the gained XExtendedToolkit Interface
*/
public XExtendedToolkit getToolkit() {
Object toolkit = null;
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);
}
public XExtendedToolkit getToolkit() throws com.sun.star.uno.Exception {
Object toolkit = m_xMSF.createInstance("com.sun.star.awt.Toolkit");
XExtendedToolkit tk = UnoRuntime.queryInterface(XExtendedToolkit.class,
toolkit);
......@@ -207,15 +200,8 @@ public class WriterHelper {
*
* @return returns the gained XDesktop interface
*/
private XDesktop getDesktop() {
Object desk = null;
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);
}
private XDesktop getDesktop() throws com.sun.star.uno.Exception {
Object desk = m_xMSF.createInstance("com.sun.star.frame.Desktop");
XDesktop xDesktop = UnoRuntime.queryInterface(XDesktop.class, desk);
......
......@@ -115,11 +115,9 @@ public class ChartDocumentTest implements DocumentTest
return wallProperties;
}
private XPropertySet impl_getYAxisProperties()
private XPropertySet impl_getYAxisProperties() throws IndexOutOfBoundsException
{
XPropertySet axisProperties = null;
try
{
final XChartDocument chartDoc = UnoRuntime.queryInterface( XChartDocument.class, m_chartDocument.getDocument() );
final XDiagram diagram = chartDoc.getFirstDiagram();
final XCoordinateSystemContainer coordContainer = UnoRuntime.queryInterface( XCoordinateSystemContainer.class, diagram );
......@@ -127,11 +125,6 @@ public class ChartDocumentTest implements DocumentTest
final XCoordinateSystem coordSystem = coordSystems[0];
final XAxis primaryYAxis = coordSystem.getAxisByDimension( 1, 0 );
axisProperties = UnoRuntime.queryInterface( XPropertySet.class, primaryYAxis );
}
catch ( Exception ex )
{
fail( "internal error: could not retrieve primary Y axis properties" );
}
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