sb123:#i111449# cleanups in forms qa/complex tests
This commit is contained in:
parent
ca1a016c5c
commit
7067099242
3 changed files with 226 additions and 107 deletions
|
@ -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
|
||||
|
|
|
@ -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 {
|
||||
public class CheckOGroupBoxModel
|
||||
{
|
||||
|
||||
private XMultiPropertySet xPropSet = null;
|
||||
private XMultiPropertySet m_xPropSet;
|
||||
private XComponent m_xDrawDoc;
|
||||
|
||||
public String[] getTestMethodNames() {
|
||||
return new String[] {"setPropertyValues"};
|
||||
}
|
||||
// public String[] getTestMethodNames() {
|
||||
// return new String[] {"setPropertyValues"};
|
||||
// }
|
||||
@Before public void before()
|
||||
{
|
||||
// XComponent xDrawDoc = null;
|
||||
SOfficeFactory SOF = SOfficeFactory.getFactory(getMSF());
|
||||
|
||||
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.");
|
||||
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<boundPropsToTest.length; i++) {
|
||||
System.out.println("Trying to change all properties.");
|
||||
for (int i = 0; i < boundPropsToTest.length; i++)
|
||||
{
|
||||
newValue[i] = ValueChanger.changePValue(gValues[i]);
|
||||
}
|
||||
try {
|
||||
xPropSet.setPropertyValues(boundPropsToTest, newValue);
|
||||
} catch (com.sun.star.beans.PropertyVetoException e) {
|
||||
e.printStackTrace((PrintWriter)log);
|
||||
failed("Exception occured while trying to change the properties.");
|
||||
} catch (com.sun.star.lang.IllegalArgumentException e) {
|
||||
e.printStackTrace((PrintWriter)log);
|
||||
failed("Exception occured while trying to change the properties.");
|
||||
} catch (com.sun.star.lang.WrappedTargetException e) {
|
||||
e.printStackTrace((PrintWriter)log);
|
||||
failed("Exception occured while trying to change the properties.");
|
||||
try
|
||||
{
|
||||
m_xPropSet.setPropertyValues(boundPropsToTest, newValue);
|
||||
}
|
||||
catch (com.sun.star.beans.PropertyVetoException e)
|
||||
{
|
||||
fail("Exception occured while trying to change the properties.");
|
||||
}
|
||||
catch (com.sun.star.lang.IllegalArgumentException e)
|
||||
{
|
||||
fail("Exception occured while trying to change the properties.");
|
||||
}
|
||||
catch (com.sun.star.lang.WrappedTargetException e)
|
||||
{
|
||||
fail("Exception occured while trying to change the properties.");
|
||||
} // end of try-catch
|
||||
|
||||
assure("Listener was not called.", ml.wasListenerCalled());
|
||||
xPropSet.removePropertiesChangeListener(ml);
|
||||
assertTrue("Listener was not called.", ml.wasListenerCalled());
|
||||
m_xPropSet.removePropertiesChangeListener(ml);
|
||||
}
|
||||
|
||||
private String[] getBoundPropsToTest() {
|
||||
Property[] properties = xPropSet.getPropertySetInfo().getProperties();
|
||||
private String[] getBoundPropsToTest()
|
||||
{
|
||||
Property[] properties = m_xPropSet.getPropertySetInfo().getProperties();
|
||||
String[] testPropsNames = null;
|
||||
|
||||
Vector tNames = new Vector();
|
||||
Vector<String> tNames = new Vector<String>();
|
||||
|
||||
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);
|
||||
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) {
|
||||
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();
|
||||
}
|
||||
|
|
|
@ -25,54 +25,97 @@
|
|||
#
|
||||
#*************************************************************************
|
||||
|
||||
PRJ = ..$/..$/..
|
||||
TARGET = CheckOGroupBoxModel
|
||||
PRJNAME = $(TARGET)
|
||||
PACKAGE = complex$/forms
|
||||
.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
|
||||
nothing .PHONY:
|
||||
@echo "OOO_SUBSEQUENT_TESTS not set, do nothing."
|
||||
.ELSE
|
||||
|
||||
PRJ = ../../..
|
||||
PRJNAME = forms
|
||||
TARGET = qa_complex_forms
|
||||
|
||||
.IF "$(OOO_JUNIT_JAR)" != ""
|
||||
PACKAGE = complex/forms
|
||||
|
||||
# here store only Files which contain a @Test
|
||||
JAVATESTFILES = \
|
||||
CheckOGroupBoxModel.java
|
||||
|
||||
# put here all other files
|
||||
JAVAFILES = $(JAVATESTFILES)
|
||||
|
||||
|
||||
JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
|
||||
EXTRAJARFILES = $(OOO_JUNIT_JAR)
|
||||
|
||||
# subdirectories
|
||||
# SUBDIRS = helper
|
||||
|
||||
# Sample how to debug
|
||||
# JAVAIFLAGS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9003,suspend=y
|
||||
|
||||
.END
|
||||
|
||||
# --- Settings -----------------------------------------------------
|
||||
.INCLUDE: settings.mk
|
||||
.INCLUDE: target.mk
|
||||
.INCLUDE: installationtest.mk
|
||||
|
||||
ALLTAR : javatest
|
||||
|
||||
.END
|
||||
|
||||
|
||||
#----- 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)
|
||||
#
|
||||
#
|
||||
#
|
||||
# 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)
|
||||
|
|
Loading…
Reference in a new issue