diff options
author | Vladimir Glazunov <vg@openoffice.org> | 2010-10-14 14:25:42 +0200 |
---|---|---|
committer | Vladimir Glazunov <vg@openoffice.org> | 2010-10-14 14:25:42 +0200 |
commit | af1173a471d487659176a63751c9bd4074ae70e1 (patch) | |
tree | 66f603a3cc7827306f36b44eafe1d4212305e7c8 /framework/qa/complex/framework/autosave | |
parent | a2e4d00c0f35801e19b9bb81ebaece76e927e46f (diff) | |
parent | ce240e8dbf9dd613e9da724ee1d8ac12ff364d1c (diff) |
CWS-TOOLING: integrate CWS sb123
Diffstat (limited to 'framework/qa/complex/framework/autosave')
3 files changed, 181 insertions, 117 deletions
diff --git a/framework/qa/complex/framework/autosave/AutoSave.java b/framework/qa/complex/framework/autosave/AutoSave.java index a1bf20b466..95f1179b2e 100644 --- a/framework/qa/complex/framework/autosave/AutoSave.java +++ b/framework/qa/complex/framework/autosave/AutoSave.java @@ -27,24 +27,48 @@ package complex.framework.autosave; -import com.sun.star.frame.*; -import com.sun.star.lang.*; -import com.sun.star.util.*; -import com.sun.star.beans.*; -import com.sun.star.uno.*; -import com.sun.star.sheet.*; -import com.sun.star.table.*; + +import com.sun.star.beans.PropertyValue; +import com.sun.star.frame.FeatureStateEvent; +import com.sun.star.frame.XDispatch; +import com.sun.star.frame.XDispatchProvider; +import com.sun.star.frame.XModel; +import com.sun.star.frame.XStatusListener; +import com.sun.star.frame.XStorable; +import com.sun.star.lang.XMultiServiceFactory; +import com.sun.star.sheet.FillDirection; +import com.sun.star.sheet.XCellSeries; +import com.sun.star.table.XCellRange; +import com.sun.star.util.XCloseable; +import com.sun.star.sheet.XSpreadsheet; +import com.sun.star.sheet.XSpreadsheetDocument; +import com.sun.star.sheet.XSpreadsheets; +import com.sun.star.uno.AnyConverter; +import com.sun.star.uno.Type; +import com.sun.star.uno.UnoRuntime; +import com.sun.star.uno.XInterface; +import com.sun.star.util.URL; +import com.sun.star.util.XURLTransformer; import java.util.*; +import util.utils; + -import complexlib.*; -import helper.*; -import util.*; +// ---------- junit imports ----------------- +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 util.SOfficeFactory; +import static org.junit.Assert.*; +// ------------------------------------------ //----------------------------------------------- /** @short Check some use cases of the AutoSave feature */ -public class AutoSave extends ComplexTestCase +public class AutoSave { //------------------------------------------- class AutoSaveListener implements XStatusListener @@ -64,9 +88,7 @@ public class AutoSave extends ComplexTestCase { m_xAutoSave = xAutoSave; - XURLTransformer xParser = (XURLTransformer)UnoRuntime.queryInterface( - XURLTransformer.class, - xSMGR.createInstance("com.sun.star.util.URLTransformer")); + XURLTransformer xParser = UnoRuntime.queryInterface(XURLTransformer.class, xSMGR.createInstance("com.sun.star.util.URLTransformer")); URL[] aURL = new URL[1]; aURL[0] = new URL(); aURL[0].Complete = "vnd.sun.star.autorecovery:/doAutoSave"; @@ -169,13 +191,13 @@ public class AutoSave extends ComplexTestCase @return All test methods. @todo Think about selection of tests from outside ... */ - public String[] getTestMethodNames() - { - return new String[] - { - "checkConcurrentAutoSaveToNormalUISave", - }; - } +// public String[] getTestMethodNames() +// { +// return new String[] +// { +// "checkConcurrentAutoSaveToNormalUISave", +// }; +// } //------------------------------------------- /** @short Create the environment for following tests. @@ -183,22 +205,20 @@ public class AutoSave extends ComplexTestCase @descr create an empty test frame, where we can load different components inside. */ - public void before() + @Before public void before() { m_aLog = new Protocol(Protocol.MODE_HTML | Protocol.MODE_STDOUT, Protocol.FILTER_NONE, utils.getUsersTempDir() + "/complex_log_ascii_01.html"); try { // get uno service manager from global test environment - m_xSMGR = (XMultiServiceFactory)param.getMSF(); + m_xSMGR = getMSF(); // get another helper to e.g. create test documents m_aSOF = SOfficeFactory.getFactory(m_xSMGR); // create AutoSave instance - m_xAutoSave = (XDispatch)UnoRuntime.queryInterface( - XDispatch.class, - m_xSMGR.createInstance("com.sun.star.comp.framework.AutoRecovery")); + m_xAutoSave = UnoRuntime.queryInterface(XDispatch.class, m_xSMGR.createInstance("com.sun.star.comp.framework.AutoRecovery")); // prepare AutoSave // make sure it will be started every 1 min @@ -209,22 +229,20 @@ public class AutoSave extends ComplexTestCase aConfig = null; // is needed to parse dispatch commands - m_xURLParser = (XURLTransformer)UnoRuntime.queryInterface( - XURLTransformer.class, - m_xSMGR.createInstance("com.sun.star.util.URLTransformer")); + m_xURLParser = UnoRuntime.queryInterface(XURLTransformer.class, m_xSMGR.createInstance("com.sun.star.util.URLTransformer")); } catch(java.lang.Throwable ex) { m_aLog.log(ex); - failed("Couldn't create test environment"); + fail("Couldn't create test environment"); } } //------------------------------------------- /** @short close the environment. */ - public void after() + @After public void after() { // ??? } @@ -249,9 +267,7 @@ public class AutoSave extends ComplexTestCase xSheet.getCellByPosition(0, 1).setFormula("=a1+1"); m_aLog.log("Retrieve big range."); XCellRange xRange = xSheet.getCellRangeByName("A1:Z9999"); - XCellSeries xSeries = (XCellSeries)UnoRuntime.queryInterface( - XCellSeries.class, - xRange); + XCellSeries xSeries = UnoRuntime.queryInterface(XCellSeries.class, xRange); m_aLog.log("Duplicate cells from top to bottom inside range."); xSeries.fillAuto(FillDirection.TO_BOTTOM, 2); m_aLog.log("Duplicate cells from left to right inside range."); @@ -281,12 +297,8 @@ public class AutoSave extends ComplexTestCase aURL[0].Complete = ".uno:SaveAs"; m_xURLParser.parseStrict(aURL); - XModel xModel = (XModel)UnoRuntime.queryInterface( - XModel.class, - xDoc); - XDispatchProvider xProvider = (XDispatchProvider)UnoRuntime.queryInterface( - XDispatchProvider.class, - xModel.getCurrentController()); + XModel xModel = UnoRuntime.queryInterface(XModel.class, xDoc); + XDispatchProvider xProvider = UnoRuntime.queryInterface(XDispatchProvider.class, xModel.getCurrentController()); XDispatch xDispatch = xProvider.queryDispatch(aURL[0], "_self", 0); PropertyValue[] lArgs = new PropertyValue[3]; @@ -334,9 +346,7 @@ public class AutoSave extends ComplexTestCase { try { - XCloseable xClose = (XCloseable)UnoRuntime.queryInterface( - XCloseable.class, - xDoc); + XCloseable xClose = UnoRuntime.queryInterface(XCloseable.class, xDoc); if (xClose != null) { xClose.close(false); @@ -344,7 +354,9 @@ public class AutoSave extends ComplexTestCase nRetry = 0; } else + { m_aLog.log(Protocol.TYPE_ERROR, "closeDoc() = ERROR. Doc doesnt provide needed interface!"); + } } catch(com.sun.star.util.CloseVetoException exVeto) { @@ -402,7 +414,7 @@ public class AutoSave extends ComplexTestCase * from another thread. So these operations should be started at the same time. * It should not crash. The AutoSave request must be postphoned. */ - public void checkConcurrentAutoSaveToNormalUISave() + @Test public void checkConcurrentAutoSaveToNormalUISave() { m_aLog.log(Protocol.TYPE_TESTMARK , "AutoSave"); m_aLog.log(Protocol.TYPE_SCOPE_OPEN, "checkConcurrentAutoSaveToNormalUISave()"); @@ -451,4 +463,27 @@ public class AutoSave extends ComplexTestCase closeDoc(xDoc); } } + + 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/framework/qa/complex/framework/autosave/ConfigHelper.java b/framework/qa/complex/framework/autosave/ConfigHelper.java index 3bc4683f4f..a7f5df8cc7 100644 --- a/framework/qa/complex/framework/autosave/ConfigHelper.java +++ b/framework/qa/complex/framework/autosave/ConfigHelper.java @@ -1,6 +1,5 @@ package complex.framework.autosave; -import java.lang.*; import com.sun.star.uno.*; import com.sun.star.lang.*; import com.sun.star.container.*; @@ -20,9 +19,7 @@ class ConfigHelper { m_xSMGR = xSMGR; - XMultiServiceFactory xConfigRoot = (XMultiServiceFactory)UnoRuntime.queryInterface( - XMultiServiceFactory.class, - m_xSMGR.createInstance("com.sun.star.configuration.ConfigurationProvider")); + XMultiServiceFactory xConfigRoot = UnoRuntime.queryInterface(XMultiServiceFactory.class, m_xSMGR.createInstance("com.sun.star.configuration.ConfigurationProvider")); PropertyValue[] lParams = new PropertyValue[1]; lParams[0] = new PropertyValue(); @@ -31,20 +28,20 @@ class ConfigHelper Object aConfig; if (bReadOnly) - aConfig = xConfigRoot.createInstanceWithArguments( - "com.sun.star.configuration.ConfigurationAccess", - lParams); + { + aConfig = xConfigRoot.createInstanceWithArguments("com.sun.star.configuration.ConfigurationAccess", lParams); + } else - aConfig = xConfigRoot.createInstanceWithArguments( - "com.sun.star.configuration.ConfigurationUpdateAccess", - lParams); + { + aConfig = xConfigRoot.createInstanceWithArguments("com.sun.star.configuration.ConfigurationUpdateAccess", lParams); + } - m_xConfig = (XHierarchicalNameAccess)UnoRuntime.queryInterface( - XHierarchicalNameAccess.class, - aConfig); + m_xConfig = UnoRuntime.queryInterface(XHierarchicalNameAccess.class, aConfig); if (m_xConfig == null) - throw new com.sun.star.uno.Exception("Could not open configuration \""+sConfigPath+"\""); + { + throw new com.sun.star.uno.Exception("Could not open configuration \"" + sConfigPath + "\""); + } } //----------------------------------------------- @@ -54,9 +51,7 @@ class ConfigHelper { try { - XPropertySet xPath = (XPropertySet)UnoRuntime.queryInterface( - XPropertySet.class, - m_xConfig.getByHierarchicalName(sRelPath)); + XPropertySet xPath = UnoRuntime.queryInterface(XPropertySet.class, m_xConfig.getByHierarchicalName(sRelPath)); return xPath.getPropertyValue(sKey); } catch(com.sun.star.uno.Exception ex) @@ -73,9 +68,7 @@ class ConfigHelper { try { - XPropertySet xPath = (XPropertySet)UnoRuntime.queryInterface( - XPropertySet.class, - m_xConfig.getByHierarchicalName(sRelPath)); + XPropertySet xPath = UnoRuntime.queryInterface(XPropertySet.class, m_xConfig.getByHierarchicalName(sRelPath)); xPath.setPropertyValue(sKey, aValue); } catch(com.sun.star.uno.Exception ex) @@ -89,9 +82,7 @@ class ConfigHelper { try { - XChangesBatch xBatch = (XChangesBatch)UnoRuntime.queryInterface( - XChangesBatch.class, - m_xConfig); + XChangesBatch xBatch = UnoRuntime.queryInterface(XChangesBatch.class, m_xConfig); xBatch.commitChanges(); } catch(com.sun.star.uno.Exception ex) diff --git a/framework/qa/complex/framework/autosave/makefile.mk b/framework/qa/complex/framework/autosave/makefile.mk index e903c9ad5f..2e8e3dca1f 100644 --- a/framework/qa/complex/framework/autosave/makefile.mk +++ b/framework/qa/complex/framework/autosave/makefile.mk @@ -24,66 +24,104 @@ # for a copy of the LGPLv3 License. # #************************************************************************* -PRJ = ..$/..$/..$/.. -TARGET = AutoSave -PRJNAME = framework -PACKAGE = complex$/framework$/autosave - -# --- Settings ----------------------------------------------------- -.INCLUDE: settings.mk - - -#----- compile .java files ----------------------------------------- - -JARFILES = mysql.jar ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar \ - OOoRunner.jar mysql.jar -JAVAFILES = AutoSave.java ConfigHelper.java Protocol.java -JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class) - -#----- make a jar from compiled files ------------------------------ - -MAXLINELENGTH = 100000 - -JARCLASSDIRS = $(PACKAGE) -JARTARGET = $(TARGET).jar -JARCOMPRESS = TRUE -# --- Parameters for the test -------------------------------------- - -# start an office if the parameter is set for the makefile -.IF "$(OFFICE)" == "" -CT_APPEXECCOMMAND = +.IF "$(OOO_SUBSEQUENT_TESTS)" == "" +nothing .PHONY: .ELSE -CT_APPEXECCOMMAND = -AppExecutionCommand "$(OFFICE)$/soffice -accept=socket,host=localhost,port=8100;urp;" -.ENDIF -# test base is java complex -CT_TESTBASE = -TestBase java_complex +PRJ = ../../../.. +PRJNAME = framework +TARGET = qa_complex_framework_autosave -# test looks something like the.full.package.TestName -CT_TEST = -o $(PACKAGE:s\$/\.\).$(JAVAFILES:b) +.IF "$(OOO_JUNIT_JAR)" != "" +PACKAGE = complex/framework/autosave -# start the runner application -CT_APP = org.openoffice.Runner +# here store only Files which contain a @Test +JAVATESTFILES = \ + AutoSave.java -# --- Targets ------------------------------------------------------ +# put here all other files +JAVAFILES = $(JAVATESTFILES) \ + ConfigHelper.java \ + Protocol.java -.IF "$(depend)" == "" -$(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props : ALLTAR -.ELSE -$(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props : ALLDEP -.ENDIF +JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar +EXTRAJARFILES = $(OOO_JUNIT_JAR) -.INCLUDE : target.mk +# Sample how to debug +# JAVAIFLAGS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9003,suspend=y -#$(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props : $(JAVAFILES:b).props -# cp $(JAVAFILES:b).props $(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props -# jar uf $(CLASSDIR)$/$(JARTARGET) -C $(CLASSDIR) $(PACKAGE)$/$(JAVAFILES:b).props +.END -RUN: run - -run: - +java -cp $(CLASSPATH) $(CT_APP) $(CT_TESTBASE) $(CT_APPEXECCOMMAND) $(CT_TEST) +.INCLUDE: settings.mk +.INCLUDE: target.mk +.INCLUDE: installationtest.mk +ALLTAR : javatest +.END +# +# PRJ = ..$/..$/..$/.. +# TARGET = AutoSave +# PRJNAME = framework +# PACKAGE = complex$/framework$/autosave +# +# # --- Settings ----------------------------------------------------- +# .INCLUDE: settings.mk +# +# +# #----- compile .java files ----------------------------------------- +# +# JARFILES = mysql.jar ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar \ +# OOoRunner.jar mysql.jar +# JAVAFILES = AutoSave.java ConfigHelper.java Protocol.java +# JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class) +# +# #----- make a jar from compiled files ------------------------------ +# +# MAXLINELENGTH = 100000 +# +# JARCLASSDIRS = $(PACKAGE) +# JARTARGET = $(TARGET).jar +# JARCOMPRESS = TRUE +# +# # --- 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 +# +# # test looks something like the.full.package.TestName +# CT_TEST = -o $(PACKAGE:s\$/\.\).$(JAVAFILES:b) +# +# # start the runner application +# CT_APP = org.openoffice.Runner +# +# # --- Targets ------------------------------------------------------ +# +# .IF "$(depend)" == "" +# $(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props : ALLTAR +# .ELSE +# $(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props : ALLDEP +# .ENDIF +# +# .INCLUDE : target.mk +# +# #$(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props : $(JAVAFILES:b).props +# # cp $(JAVAFILES:b).props $(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props +# # jar uf $(CLASSDIR)$/$(JARTARGET) -C $(CLASSDIR) $(PACKAGE)$/$(JAVAFILES:b).props +# +# RUN: run +# +# run: +# +java -cp $(CLASSPATH) $(CT_APP) $(CT_TESTBASE) $(CT_APPEXECCOMMAND) $(CT_TEST) +# +# +# |