From 70670992422a1dc2531f03e36df99b0f65b4ec7d Mon Sep 17 00:00:00 2001 From: Lars Langhans Date: Thu, 17 Jun 2010 12:39:47 +0200 Subject: sb123:#i111449# cleanups in forms qa/complex tests --- forms/prj/build.lst | 1 + forms/qa/complex/forms/CheckOGroupBoxModel.java | 203 ++++++++++++++++-------- forms/qa/complex/forms/makefile.mk | 117 +++++++++----- 3 files changed, 220 insertions(+), 101 deletions(-) (limited to 'forms') diff --git a/forms/prj/build.lst b/forms/prj/build.lst index cc71868b734d..2d7c5f49c7e5 100644 --- a/forms/prj/build.lst +++ b/forms/prj/build.lst @@ -16,3 +16,4 @@ fm forms\source\runtime nmake - all frm_runtime NULL fm forms\util nmake - all fm_util fm_component fm_solar_component fm_solar_control fm_helper fm_misc fm_resource fm_richtext frm_runtime fm_xforms NULL fm forms\qa nmake - all fm_qa NULL fm forms\qa\unoapi nmake - all fm_qa_unoapi NULL +fm forms\qa\complex\forms nmake - all fm_qa_complex NULL diff --git a/forms/qa/complex/forms/CheckOGroupBoxModel.java b/forms/qa/complex/forms/CheckOGroupBoxModel.java index 8a2ae5c7f0e4..490a2ae695c5 100755 --- a/forms/qa/complex/forms/CheckOGroupBoxModel.java +++ b/forms/qa/complex/forms/CheckOGroupBoxModel.java @@ -24,7 +24,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - package complex.forms; import com.sun.star.beans.Property; @@ -37,88 +36,127 @@ import com.sun.star.drawing.XControlShape; import com.sun.star.lang.XComponent; import com.sun.star.lang.XMultiServiceFactory; import com.sun.star.uno.UnoRuntime; -import complexlib.ComplexTestCase; -import java.io.PrintWriter; +// import complexlib.ComplexTestCase; +import com.sun.star.util.CloseVetoException; +import com.sun.star.util.XCloseable; import java.util.Vector; +import java.util.logging.Level; +import java.util.logging.Logger; import util.FormTools; import util.SOfficeFactory; import util.ValueChanger; +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.*; + /** */ -public class CheckOGroupBoxModel extends ComplexTestCase { - - private XMultiPropertySet xPropSet = null; - - public String[] getTestMethodNames() { - return new String[] {"setPropertyValues"}; - } - - public void before() { - XComponent xDrawDoc = null; - SOfficeFactory SOF = SOfficeFactory.getFactory(((XMultiServiceFactory) param.getMSF())); - - try { - log.println("creating a draw document"); - xDrawDoc = SOF.createDrawDoc(null); - } catch (com.sun.star.uno.Exception e) { - e.printStackTrace((PrintWriter)log); - failed("Couldn't create document."); +public class CheckOGroupBoxModel +{ + + private XMultiPropertySet m_xPropSet; + private XComponent m_xDrawDoc; + +// public String[] getTestMethodNames() { +// return new String[] {"setPropertyValues"}; +// } + @Before public void before() + { + // XComponent xDrawDoc = null; + SOfficeFactory SOF = SOfficeFactory.getFactory(getMSF()); + + try + { + System.out.println("creating a draw document"); + m_xDrawDoc = SOF.createDrawDoc(null); + } + catch (com.sun.star.uno.Exception e) + { + fail("Couldn't create document."); } String objName = "GroupBox"; - XControlShape shape = FormTools.insertControlShape(xDrawDoc, 5000, 7000, 2000, 2000, objName); - xPropSet = (XMultiPropertySet)UnoRuntime.queryInterface(XMultiPropertySet.class, shape.getControl()); + XControlShape shape = FormTools.insertControlShape(m_xDrawDoc, 5000, 7000, 2000, 2000, objName); + m_xPropSet = UnoRuntime.queryInterface(XMultiPropertySet.class, shape.getControl()); } - - public void setPropertyValues() { + @After public void after() + { + XCloseable xClose = UnoRuntime.queryInterface(XCloseable.class, m_xDrawDoc); + if (xClose != null) + { + try + { + xClose.close(true); + } + catch (CloseVetoException ex) + { + fail("Can't close document. Exception caught: " + ex.getMessage()); + /* ignore! */ + } + } + } + @Test public void setPropertyValues() + { String[] boundPropsToTest = getBoundPropsToTest(); MyChangeListener ml = new MyChangeListener(); - xPropSet.addPropertiesChangeListener(boundPropsToTest, ml); + m_xPropSet.addPropertiesChangeListener(boundPropsToTest, ml); - Object[] gValues = xPropSet.getPropertyValues(boundPropsToTest); + Object[] gValues = m_xPropSet.getPropertyValues(boundPropsToTest); Object[] newValue = new Object[gValues.length]; - log.println("Trying to change all properties."); - for (int i=0; i tNames = new Vector(); - for (int i = 0; i < properties.length; i++) { + for (int i = 0; i < properties.length; i++) + { Property property = properties[i]; String name = property.Name; - boolean isWritable = ((property.Attributes & - PropertyAttribute.READONLY) == 0); - boolean isNotNull = ((property.Attributes & - PropertyAttribute.MAYBEVOID) == 0); - boolean isBound = ((property.Attributes & - PropertyAttribute.BOUND) != 0); - - if ( isWritable && isNotNull && isBound) { + boolean isWritable = ((property.Attributes + & PropertyAttribute.READONLY) == 0); + boolean isNotNull = ((property.Attributes + & PropertyAttribute.MAYBEVOID) == 0); + boolean isBound = ((property.Attributes + & PropertyAttribute.BOUND) != 0); + + if (isWritable && isNotNull && isBound) + { tNames.add(name); } @@ -126,22 +164,59 @@ public class CheckOGroupBoxModel extends ComplexTestCase { //get a array of bound properties testPropsNames = new String[tNames.size()]; - testPropsNames = (String[])tNames.toArray(testPropsNames); + testPropsNames = tNames.toArray(testPropsNames); return testPropsNames; } /** - * Listener implementation which sets a flag when - * listener was called. - */ - public class MyChangeListener implements XPropertiesChangeListener { + * Listener implementation which sets a flag when + * listener was called. + */ + public class MyChangeListener implements XPropertiesChangeListener + { + boolean propertiesChanged = false; - public void propertiesChange(PropertyChangeEvent[] e) { - propertiesChanged = true; + + public void propertiesChange(PropertyChangeEvent[] e) + { + propertiesChanged = true; + } + + public void disposing(EventObject obj) + { + } + + public boolean wasListenerCalled() + { + return propertiesChanged; + } + + public void reset() + { + propertiesChanged = false; } - public void disposing (EventObject obj) {} - public boolean wasListenerCalled() { return propertiesChanged; } - public void reset() { propertiesChanged = false; } }; + private XMultiServiceFactory getMSF() + { + final XMultiServiceFactory xMSF1 = UnoRuntime.queryInterface(XMultiServiceFactory.class, connection.getComponentContext().getServiceManager()); + return xMSF1; + } + + // setup and close connections + @BeforeClass + public static void setUpConnection() throws Exception + { + System.out.println("setUpConnection()"); + connection.setUp(); + } + + @AfterClass + public static void tearDownConnection() + throws InterruptedException, com.sun.star.uno.Exception + { + System.out.println("tearDownConnection()"); + connection.tearDown(); + } + private static final OfficeConnection connection = new OfficeConnection(); } diff --git a/forms/qa/complex/forms/makefile.mk b/forms/qa/complex/forms/makefile.mk index 6caf244cddc1..c1c6ee0db66c 100755 --- a/forms/qa/complex/forms/makefile.mk +++ b/forms/qa/complex/forms/makefile.mk @@ -25,54 +25,97 @@ # #************************************************************************* -PRJ = ..$/..$/.. -TARGET = CheckOGroupBoxModel -PRJNAME = $(TARGET) -PACKAGE = complex$/forms - -# --- Settings ----------------------------------------------------- -.INCLUDE: settings.mk +.IF "$(OOO_SUBSEQUENT_TESTS)" == "" +nothing .PHONY: + @echo "OOO_SUBSEQUENT_TESTS not set, do nothing." +.ELSE +PRJ = ../../.. +PRJNAME = forms +TARGET = qa_complex_forms -#----- compile .java files ----------------------------------------- +.IF "$(OOO_JUNIT_JAR)" != "" +PACKAGE = complex/forms -JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar mysql.jar -JAVAFILES = CheckOGroupBoxModel.java -JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class) +# here store only Files which contain a @Test +JAVATESTFILES = \ + CheckOGroupBoxModel.java -#----- make a jar from compiled files ------------------------------ +# put here all other files +JAVAFILES = $(JAVATESTFILES) -MAXLINELENGTH = 100000 -JARCLASSDIRS = $(PACKAGE) +JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar +EXTRAJARFILES = $(OOO_JUNIT_JAR) -# --- Parameters for the test -------------------------------------- +# subdirectories +# SUBDIRS = helper -# start an office if the parameter is set for the makefile -.IF "$(OFFICE)" == "" -CT_APPEXECCOMMAND = -.ELSE -CT_APPEXECCOMMAND = -AppExecutionCommand "$(OFFICE)$/soffice -accept=socket,host=localhost,port=8100;urp;" -.ENDIF +# Sample how to debug +# JAVAIFLAGS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9003,suspend=y -# test base is java complex -CT_TESTBASE = -TestBase java_complex +.END -# build up package name with "." instead of $/ -CT_PACKAGE = -o $(PACKAGE:s\$/\.\) - -# start the runner application -CT_APP = org.openoffice.Runner +.INCLUDE: settings.mk +.INCLUDE: target.mk +.INCLUDE: installationtest.mk -# --- Targets ------------------------------------------------------ +ALLTAR : javatest -.IF "$(depend)" == "" -run : ALLTAR -.ELSE -run : ALLDEP -.ENDIF +.END -.INCLUDE : target.mk -run: - +java -cp $(CLASSPATH) $(CT_APP) $(CT_APPEXECCOMMAND) $(CT_TESTBASE) $(CT_PACKAGE).$(JAVAFILES:b) +# +# +# +# PRJ = ..$/..$/.. +# TARGET = CheckOGroupBoxModel +# PRJNAME = $(TARGET) +# PACKAGE = complex$/forms +# +# # --- Settings ----------------------------------------------------- +# .INCLUDE: settings.mk +# +# +# #----- compile .java files ----------------------------------------- +# +# JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar mysql.jar +# JAVAFILES = CheckOGroupBoxModel.java +# JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class) +# +# #----- make a jar from compiled files ------------------------------ +# +# MAXLINELENGTH = 100000 +# +# JARCLASSDIRS = $(PACKAGE) +# +# # --- Parameters for the test -------------------------------------- +# +# # start an office if the parameter is set for the makefile +# .IF "$(OFFICE)" == "" +# CT_APPEXECCOMMAND = +# .ELSE +# CT_APPEXECCOMMAND = -AppExecutionCommand "$(OFFICE)$/soffice -accept=socket,host=localhost,port=8100;urp;" +# .ENDIF +# +# # test base is java complex +# CT_TESTBASE = -TestBase java_complex +# +# # build up package name with "." instead of $/ +# CT_PACKAGE = -o $(PACKAGE:s\$/\.\) +# +# # start the runner application +# CT_APP = org.openoffice.Runner +# +# # --- Targets ------------------------------------------------------ +# +# .IF "$(depend)" == "" +# run : ALLTAR +# .ELSE +# run : ALLDEP +# .ENDIF +# +# .INCLUDE : target.mk +# +# run: +# +java -cp $(CLASSPATH) $(CT_APP) $(CT_APPEXECCOMMAND) $(CT_TESTBASE) $(CT_PACKAGE).$(JAVAFILES:b) -- cgit