summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathias Bauer <mba@openoffice.org>2010-10-21 15:10:42 +0200
committerMathias Bauer <mba@openoffice.org>2010-10-21 15:10:42 +0200
commite2cfe20f42c94c784531446ebeddc0d720e277d8 (patch)
tree885d184cbd8bb55ce2356e47e328a7f4aa3c86ad
parente0faaafbb9b1124246cb616b0b1b22fabd2592b8 (diff)
parent05590019be0e6a959af78cfe39bf5ca0b90373c7 (diff)
CWS changehid: resync to m90ooo/DEV300_m91
-rw-r--r--configmgr/source/components.cxx84
-rw-r--r--configmgr/source/components.hxx8
-rw-r--r--configmgr/source/configurationprovider.cxx16
-rw-r--r--desktop/inc/app.hxx1
-rw-r--r--desktop/prj/build.lst1
-rw-r--r--desktop/qa/deployment_misc/makefile.mk16
-rw-r--r--desktop/qa/deployment_misc/test_dp_version.cxx9
-rw-r--r--desktop/qa/deployment_misc/version.map2
-rw-r--r--desktop/scripts/soffice.sh2
-rw-r--r--desktop/scripts/unopkg.sh2
-rw-r--r--desktop/source/app/app.cxx32
-rw-r--r--desktop/source/deployment/manager/dp_commandenvironments.cxx38
-rw-r--r--desktop/source/deployment/manager/dp_commandenvironments.hxx23
-rw-r--r--desktop/source/deployment/manager/dp_extensionmanager.cxx416
-rw-r--r--desktop/source/deployment/manager/dp_extensionmanager.hxx17
-rw-r--r--framework/prj/build.lst34
-rw-r--r--framework/qa/complex/ModuleManager/CheckXModuleManager.java137
-rw-r--r--framework/qa/complex/ModuleManager/makefile.mk69
-rw-r--r--framework/qa/complex/XUserInputInterception/EventTest.java169
-rw-r--r--framework/qa/complex/XUserInputInterception/makefile.mk142
-rw-r--r--framework/qa/complex/accelerators/AcceleratorsConfigurationTest.java593
-rw-r--r--framework/qa/complex/accelerators/KeyMapping.java (renamed from framework/qa/complex/accelerators/helper/KeyMapping.java)2
-rw-r--r--framework/qa/complex/accelerators/helper/makefile.mk4
-rw-r--r--framework/qa/complex/accelerators/makefile.mk73
-rwxr-xr-xframework/qa/complex/api_internal/CheckAPI.java103
-rwxr-xr-xframework/qa/complex/api_internal/makefile.mk73
-rwxr-xr-xframework/qa/complex/broken_document/LoadDocument.java75
-rw-r--r--framework/qa/complex/broken_document/TestDocument.java41
-rwxr-xr-xframework/qa/complex/broken_document/makefile.mk67
-rwxr-xr-xframework/qa/complex/broken_document/test_documents/dbf.dbf.emf (renamed from framework/qa/complex/broken_document/dbf.dbf.emf)0
-rw-r--r--framework/qa/complex/contextMenuInterceptor/CheckContextMenuInterceptor.java381
-rw-r--r--framework/qa/complex/contextMenuInterceptor/ContextMenuInterceptor.java138
-rw-r--r--framework/qa/complex/contextMenuInterceptor/makefile.mk66
-rw-r--r--framework/qa/complex/contextMenuInterceptor/space-metal.jpgbin0 -> 4313 bytes
-rwxr-xr-xframework/qa/complex/desktop/DesktopTerminate.java157
-rwxr-xr-xframework/qa/complex/desktop/makefile.mk67
-rw-r--r--framework/qa/complex/dispatches/Interceptor.java (renamed from framework/qa/complex/dispatches/helper/Interceptor.java)83
-rw-r--r--framework/qa/complex/dispatches/checkdispatchapi.java330
-rw-r--r--framework/qa/complex/dispatches/helper/makefile.mk9
-rw-r--r--framework/qa/complex/dispatches/makefile.mk141
-rwxr-xr-xframework/qa/complex/disposing/GetServiceWhileDisposingOffice.java86
-rwxr-xr-xframework/qa/complex/disposing/makefile.mk61
-rw-r--r--framework/qa/complex/framework/autosave/AutoSave.java123
-rw-r--r--framework/qa/complex/framework/autosave/ConfigHelper.java37
-rw-r--r--framework/qa/complex/framework/autosave/makefile.mk138
-rw-r--r--framework/qa/complex/framework/recovery/RecoveryTest.java10
-rwxr-xr-xframework/qa/complex/imageManager/CheckImageManager.java174
-rwxr-xr-xframework/qa/complex/imageManager/_XComponent.java (renamed from framework/qa/complex/imageManager/interfaces/_XComponent.java)32
-rwxr-xr-xframework/qa/complex/imageManager/_XImageManager.java (renamed from framework/qa/complex/imageManager/interfaces/_XImageManager.java)17
-rwxr-xr-xframework/qa/complex/imageManager/_XInitialization.java (renamed from framework/qa/complex/imageManager/interfaces/_XInitialization.java)13
-rwxr-xr-xframework/qa/complex/imageManager/_XTypeProvider.java (renamed from framework/qa/complex/imageManager/interfaces/_XTypeProvider.java)21
-rwxr-xr-xframework/qa/complex/imageManager/_XUIConfiguration.java (renamed from framework/qa/complex/imageManager/interfaces/_XUIConfiguration.java)13
-rwxr-xr-xframework/qa/complex/imageManager/_XUIConfigurationPersistence.java (renamed from framework/qa/complex/imageManager/interfaces/_XUIConfigurationPersistence.java)19
-rwxr-xr-xframework/qa/complex/imageManager/interfaces/makefile.mk16
-rwxr-xr-xframework/qa/complex/imageManager/makefile.mk122
-rw-r--r--framework/qa/complex/loadAllDocuments/CheckXComponentLoader.java449
-rw-r--r--framework/qa/complex/loadAllDocuments/InteractionHandler.java (renamed from framework/qa/complex/loadAllDocuments/helper/InteractionHandler.java)2
-rw-r--r--framework/qa/complex/loadAllDocuments/StatusIndicator.java (renamed from framework/qa/complex/loadAllDocuments/helper/StatusIndicator.java)2
-rw-r--r--framework/qa/complex/loadAllDocuments/StreamSimulator.java (renamed from framework/qa/complex/loadAllDocuments/helper/StreamSimulator.java)2
-rw-r--r--framework/qa/complex/loadAllDocuments/TestDocument.java41
-rw-r--r--framework/qa/complex/loadAllDocuments/helper/makefile.mk9
-rw-r--r--framework/qa/complex/loadAllDocuments/makefile.mk145
-rw-r--r--framework/qa/complex/loadAllDocuments/testdocuments/password_check.sxw (renamed from framework/qa/complex/loadAllDocuments/password_check.sxw)bin5128 -> 5128 bytes
-rwxr-xr-xframework/qa/complex/path_settings/PathSettingsTest.java1236
-rwxr-xr-xframework/qa/complex/path_settings/makefile.mk70
-rwxr-xr-xframework/qa/complex/path_substitution/PathSubstitutionTest.java229
-rwxr-xr-xframework/qa/complex/path_substitution/makefile.mk127
-rwxr-xr-xframework/qa/complex/sequence/CheckSequenceOfEnum.java95
-rwxr-xr-xframework/qa/complex/sequence/makefile.mk98
-rwxr-xr-xframework/qa/unoapi/framework.sce4
-rw-r--r--framework/source/services/pathsettings.cxx7
-rw-r--r--linguistic/prj/build.lst4
-rw-r--r--linguistic/qa/complex/linguistic/HangulHanjaConversion.java122
-rw-r--r--linguistic/qa/complex/linguistic/TestDocument.java41
-rw-r--r--linguistic/qa/complex/linguistic/makefile.mk60
-rw-r--r--sfx2/prj/build.lst6
-rw-r--r--sfx2/qa/complex/CheckGlobalEventBroadcaster_writer1.java243
-rw-r--r--sfx2/qa/complex/docinfo/DocumentProperties.java438
-rw-r--r--sfx2/qa/complex/docinfo/makefile.mk41
-rw-r--r--sfx2/qa/complex/framework/CheckGlobalEventBroadcaster_writer1.java281
-rw-r--r--sfx2/qa/complex/framework/DialogThread.java (renamed from sfx2/qa/complex/DocHelper/DialogThread.java)0
-rw-r--r--sfx2/qa/complex/framework/DocHelper/makefile.mk (renamed from sfx2/qa/complex/DocHelper/makefile.mk)11
-rw-r--r--sfx2/qa/complex/framework/DocumentMetadataAccessTest.java (renamed from sfx2/qa/complex/DocumentMetadataAccessTest.java)563
-rw-r--r--sfx2/qa/complex/framework/DocumentPropertiesTest.java (renamed from sfx2/qa/complex/DocumentMetaData.java)295
-rw-r--r--sfx2/qa/complex/framework/TestDocument.java39
-rw-r--r--sfx2/qa/complex/framework/WriterHelper.java (renamed from sfx2/qa/complex/DocHelper/WriterHelper.java)71
-rw-r--r--sfx2/qa/complex/framework/makefile.mk (renamed from sfx2/qa/complex/makefile.mk)48
-rw-r--r--sfx2/qa/complex/framework/testdocuments/CUSTOM.odt (renamed from sfx2/qa/complex/testdocuments/CUSTOM.odt)bin1021 -> 1021 bytes
-rw-r--r--sfx2/qa/complex/framework/testdocuments/TEST.odt (renamed from sfx2/qa/complex/testdocuments/TEST.odt)bin13803 -> 13803 bytes
-rw-r--r--sfx2/qa/complex/framework/testdocuments/TESTRDFA.odt (renamed from sfx2/qa/complex/testdocuments/TESTRDFA.odt)bin7540 -> 7540 bytes
-rw-r--r--sfx2/qa/complex/framework/testdocuments/empty.rdf13
-rw-r--r--sfx2/qa/complex/standalonedocumentinfo/StandaloneDocumentInfoUnitTest.java66
-rw-r--r--sfx2/qa/complex/standalonedocumentinfo/Test01.java37
-rw-r--r--sfx2/qa/complex/standalonedocumentinfo/TestHelper.java14
-rw-r--r--sfx2/qa/complex/standalonedocumentinfo/makefile.mk69
-rw-r--r--sfx2/qa/unoapi/sfx.sce2
-rw-r--r--svx/qa/unoapi/knownissues.xcl3
-rw-r--r--svx/source/dialog/sendreportunx.cxx2
-rw-r--r--svx/source/gengal/gengal.sh6
-rw-r--r--svx/source/unodraw/unoprov.cxx4
-rw-r--r--svx/source/unodraw/unoshap2.cxx9
-rw-r--r--ucb/prj/build.lst4
-rwxr-xr-xucb/qa/complex/tdoc/CheckContentProvider.java247
-rwxr-xr-xucb/qa/complex/tdoc/CheckTransientDocumentsContent.java81
-rwxr-xr-xucb/qa/complex/tdoc/CheckTransientDocumentsContentProvider.java83
-rwxr-xr-xucb/qa/complex/tdoc/CheckTransientDocumentsDocumentContent.java94
-rw-r--r--ucb/qa/complex/tdoc/TestDocument.java39
-rwxr-xr-xucb/qa/complex/tdoc/_XChild.java (renamed from ucb/qa/complex/tdoc/interfaces/_XChild.java)2
-rwxr-xr-xucb/qa/complex/tdoc/_XCommandInfoChangeNotifier.java (renamed from ucb/qa/complex/tdoc/interfaces/_XCommandInfoChangeNotifier.java)2
-rwxr-xr-xucb/qa/complex/tdoc/_XCommandProcessor.java (renamed from ucb/qa/complex/tdoc/interfaces/_XCommandProcessor.java)2
-rwxr-xr-xucb/qa/complex/tdoc/_XComponent.java (renamed from ucb/qa/complex/tdoc/interfaces/_XComponent.java)2
-rwxr-xr-xucb/qa/complex/tdoc/_XContent.java (renamed from ucb/qa/complex/tdoc/interfaces/_XContent.java)2
-rwxr-xr-xucb/qa/complex/tdoc/_XPropertiesChangeNotifier.java (renamed from ucb/qa/complex/tdoc/interfaces/_XPropertiesChangeNotifier.java)2
-rwxr-xr-xucb/qa/complex/tdoc/_XPropertyContainer.java (renamed from ucb/qa/complex/tdoc/interfaces/_XPropertyContainer.java)2
-rwxr-xr-xucb/qa/complex/tdoc/_XPropertySetInfoChangeNotifier.java (renamed from ucb/qa/complex/tdoc/interfaces/_XPropertySetInfoChangeNotifier.java)2
-rwxr-xr-xucb/qa/complex/tdoc/_XServiceInfo.java (renamed from ucb/qa/complex/tdoc/interfaces/_XServiceInfo.java)2
-rwxr-xr-xucb/qa/complex/tdoc/_XTypeProvider.java (renamed from ucb/qa/complex/tdoc/interfaces/_XTypeProvider.java)2
-rwxr-xr-xucb/qa/complex/tdoc/interfaces/makefile.mk4
-rwxr-xr-xucb/qa/complex/tdoc/makefile.mk83
-rw-r--r--ucb/qa/complex/tdoc/test_documents/Iterator.sxw (renamed from ucb/qa/complex/test_documents/Iterator.sxw)bin5627 -> 5627 bytes
-rw-r--r--ucb/qa/complex/tdoc/test_documents/chinese.sxw (renamed from ucb/qa/complex/test_documents/chinese.sxw)bin5757 -> 5757 bytes
-rw-r--r--ucb/qa/complex/tdoc/test_documents/filter.sxw (renamed from ucb/qa/complex/test_documents/filter.sxw)bin14359 -> 14359 bytes
-rwxr-xr-xucb/qa/complex/ucb/UCB.java171
-rwxr-xr-xucb/qa/complex/ucb/makefile.mk58
-rw-r--r--ucb/source/ucp/gio/gio_provider.cxx8
-rw-r--r--xmloff/qa/unoapi/knownissues.xcl9
-rw-r--r--xmloff/source/draw/sdxmlexp.cxx4
-rw-r--r--xmloff/source/draw/sdxmlimp.cxx4
-rw-r--r--xmloff/source/draw/shapeexport4.cxx50
129 files changed, 6242 insertions, 4224 deletions
diff --git a/configmgr/source/components.cxx b/configmgr/source/components.cxx
index 14102f5628..32478e9681 100644
--- a/configmgr/source/components.cxx
+++ b/configmgr/source/components.cxx
@@ -29,6 +29,7 @@
#include "sal/config.h"
#include <algorithm>
+#include <cstddef>
#include <list>
#include "com/sun/star/beans/Optional.hpp"
@@ -43,8 +44,11 @@
#include "com/sun/star/uno/RuntimeException.hpp"
#include "com/sun/star/uno/XComponentContext.hpp"
#include "com/sun/star/uno/XInterface.hpp"
+#include "osl/conditn.hxx"
#include "osl/diagnose.h"
#include "osl/file.hxx"
+#include "osl/mutex.hxx"
+#include "osl/thread.hxx"
#include "rtl/bootstrap.hxx"
#include "rtl/logfile.h"
#include "rtl/ref.hxx"
@@ -53,10 +57,12 @@
#include "rtl/ustring.h"
#include "rtl/ustring.hxx"
#include "sal/types.h"
+#include "salhelper/simplereferenceobject.hxx"
#include "additions.hxx"
#include "components.hxx"
#include "data.hxx"
+#include "lock.hxx"
#include "modifications.hxx"
#include "node.hxx"
#include "nodemap.hxx"
@@ -148,6 +154,66 @@ static Components * singleton = 0;
}
+class Components::WriteThread:
+ public osl::Thread, public salhelper::SimpleReferenceObject
+{
+public:
+ static void * operator new(std::size_t size)
+ { return Thread::operator new(size); }
+
+ static void operator delete(void * pointer)
+ { Thread::operator delete(pointer); }
+
+ WriteThread(
+ rtl::Reference< WriteThread > * reference, Components & components,
+ rtl::OUString const & url, Data const & data);
+
+ void flush() { delay_.set(); }
+
+private:
+ virtual ~WriteThread() {}
+
+ virtual void SAL_CALL run();
+
+ virtual void SAL_CALL onTerminated() { release(); }
+
+ rtl::Reference< WriteThread > * reference_;
+ Components & components_;
+ rtl::OUString url_;
+ Data const & data_;
+ osl::Condition delay_;
+};
+
+Components::WriteThread::WriteThread(
+ rtl::Reference< WriteThread > * reference, Components & components,
+ rtl::OUString const & url, Data const & data):
+ reference_(reference), components_(components), url_(url), data_(data)
+{
+ OSL_ASSERT(reference != 0);
+ acquire();
+}
+
+void Components::WriteThread::run() {
+ TimeValue t = { 1, 0 }; // 1 sec
+ delay_.wait(&t); // must not throw; result_error is harmless and ignored
+ osl::MutexGuard g(lock); // must not throw
+ try {
+ try {
+ writeModFile(components_, url_, data_);
+ } catch (css::uno::RuntimeException & e) {
+ // Silently ignore write errors, instead of aborting:
+ OSL_TRACE(
+ "configmgr error writing modifications: %s",
+ rtl::OUStringToOString(
+ e.Message, RTL_TEXTENCODING_UTF8).getStr());
+ }
+ } catch (...) {
+ reference_->clear();
+ throw;
+ }
+ reference_->clear();
+}
+
void Components::initSingleton(
css::uno::Reference< css::uno::XComponentContext > const & context)
{
@@ -238,7 +304,23 @@ void Components::addModification(Path const & path) {
}
void Components::writeModifications() {
- writeModFile(*this, getModificationFileUrl(), data_);
+ if (!writeThread_.is()) {
+ writeThread_ = new WriteThread(
+ &writeThread_, *this, getModificationFileUrl(), data_);
+ writeThread_->create();
+ }
+}
+
+void Components::flushModifications() {
+ rtl::Reference< WriteThread > thread;
+ {
+ osl::MutexGuard g(lock);
+ thread = writeThread_;
+ }
+ if (thread.is()) {
+ thread->flush();
+ thread->join();
+ }
}
void Components::insertExtensionXcsFile(
diff --git a/configmgr/source/components.hxx b/configmgr/source/components.hxx
index 4fc47f7918..1c735efca6 100644
--- a/configmgr/source/components.hxx
+++ b/configmgr/source/components.hxx
@@ -94,6 +94,11 @@ public:
void writeModifications();
+ void flushModifications();
+ // must be called with configmgr::lock unaquired; must be called before
+ // shutdown if writeModifications has ever been called (probably
+ // indirectly, via removeExtensionXcuFile)
+
void insertExtensionXcsFile(bool shared, rtl::OUString const & fileUri);
void insertExtensionXcuFile(
@@ -160,11 +165,14 @@ private:
com::sun::star::beans::XPropertySet > >
ExternalServices;
+ class WriteThread;
+
com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >
context_;
Data data_;
WeakRootSet roots_;
ExternalServices externalServices_;
+ rtl::Reference< WriteThread > writeThread_;
};
}
diff --git a/configmgr/source/configurationprovider.cxx b/configmgr/source/configurationprovider.cxx
index 78d71e73e7..3cd58b145b 100644
--- a/configmgr/source/configurationprovider.cxx
+++ b/configmgr/source/configurationprovider.cxx
@@ -114,6 +114,8 @@ public:
private:
virtual ~Service() {}
+ virtual void SAL_CALL disposing() { flushModifications(); }
+
virtual rtl::OUString SAL_CALL getImplementationName()
throw (css::uno::RuntimeException)
{ return configuration_provider::getImplementationName(); }
@@ -166,6 +168,8 @@ private:
virtual css::lang::Locale SAL_CALL getLocale()
throw (css::uno::RuntimeException);
+ void flushModifications() const;
+
css::uno::Reference< css::uno::XComponentContext > context_;
rtl::OUString locale_;
};
@@ -326,7 +330,7 @@ void Service::removeRefreshListener(
}
void Service::flush() throw (css::uno::RuntimeException) {
- //TODO
+ flushModifications();
cppu::OInterfaceContainerHelper * cont = rBHelper.getContainer(
cppu::UnoType< css::util::XFlushListener >::get());
if (cont != 0) {
@@ -380,6 +384,16 @@ css::lang::Locale Service::getLocale() throw (css::uno::RuntimeException) {
return loc;
}
+void Service::flushModifications() const {
+ Components * components;
+ {
+ osl::MutexGuard guard(lock);
+ Components::initSingleton(context_);
+ components = &Components::getSingleton();
+ }
+ components->flushModifications();
+}
+
class Factory:
public cppu::WeakImplHelper1< css::lang::XSingleComponentFactory >,
private boost::noncopyable
diff --git a/desktop/inc/app.hxx b/desktop/inc/app.hxx
index 510b16d8e0..5c3d3a3dd3 100644
--- a/desktop/inc/app.hxx
+++ b/desktop/inc/app.hxx
@@ -155,6 +155,7 @@ class Desktop : public Application
sal_Bool InitializeInstallation( const rtl::OUString& rAppFilename );
sal_Bool InitializeConfiguration();
+ void FlushConfiguration();
sal_Bool InitializeQuickstartMode( com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory >& rSMgr );
void HandleBootstrapPathErrors( ::utl::Bootstrap::Status, const ::rtl::OUString& aMsg );
diff --git a/desktop/prj/build.lst b/desktop/prj/build.lst
index dc5d7a99b2..0fedcd4c2d 100644
--- a/desktop/prj/build.lst
+++ b/desktop/prj/build.lst
@@ -41,3 +41,4 @@ dt desktop\registry\data\org\openoffice\Office nmake - a
dt desktop\source\registration\com\sun\star\servicetag\resources get - all sn_svctagres NULL
dt desktop\source\registration\com\sun\star\servicetag nmake - all sn_svctag NULL
dt desktop\source\registration\com\sun\star\registration nmake - all sn_regjob sn_svctag NULL
+dt desktop\qa\deployment_misc nmake - all sn_qa_deployment_misc dt_dp_misc dt_inc NULL
diff --git a/desktop/qa/deployment_misc/makefile.mk b/desktop/qa/deployment_misc/makefile.mk
index 15faef0dc4..16223914e7 100644
--- a/desktop/qa/deployment_misc/makefile.mk
+++ b/desktop/qa/deployment_misc/makefile.mk
@@ -35,20 +35,22 @@ ENABLE_EXCEPTIONS := TRUE
.INCLUDE: $(PRJ)$/source$/deployment$/inc$/dp_misc.mk
CFLAGSCXX += $(CPPUNIT_CFLAGS)
-DLLPRE = # no leading "lib" on .so files
+
+# TODO: On Windows, test_dp_version.cxx fails due to BOOL redefinition between
+# windef.h and tools/solar.h caused by including "precompiled_desktop.hxx"; this
+# hack to temporarily disable PCH will become unnecessary with the fix for issue
+# 112600:
+CFLAGSCXX += -DDISABLE_PCH_HACK
SHL1TARGET = $(TARGET)
SHL1OBJS = $(SLO)$/test_dp_version.obj
-SHL1STDLIBS = $(CPPUNITLIB) $(DEPLOYMENTMISCLIB) $(SALLIB) $(TESTSHL2LIB)
+SHL1STDLIBS = $(CPPUNITLIB) $(DEPLOYMENTMISCLIB) $(SALLIB)
SHL1VERSIONMAP = version.map
+SHL1RPATH = NONE
SHL1IMPLIB = i$(SHL1TARGET)
DEF1NAME = $(SHL1TARGET)
SLOFILES = $(SHL1OBJS)
.INCLUDE: target.mk
-
-ALLTAR: test
-
-test .PHONY: $(SHL1TARGETN)
- $(TESTSHL2) $(SHL1TARGETN)
+.INCLUDE : _cppunit.mk
diff --git a/desktop/qa/deployment_misc/test_dp_version.cxx b/desktop/qa/deployment_misc/test_dp_version.cxx
index 5640335990..cc543fc1b9 100644
--- a/desktop/qa/deployment_misc/test_dp_version.cxx
+++ b/desktop/qa/deployment_misc/test_dp_version.cxx
@@ -32,7 +32,10 @@
#include <cstddef>
-#include "testshl/simpleheader.hxx"
+#include "cppunit/TestAssert.h"
+#include "cppunit/TestFixture.h"
+#include "cppunit/extensions/HelperMacros.h"
+#include "cppunit/plugin/TestPlugIn.h"
#include "rtl/ustring.h"
#include "rtl/ustring.hxx"
@@ -83,8 +86,8 @@ void Test::test() {
}
}
-CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(Test, "alltests");
+CPPUNIT_TEST_SUITE_REGISTRATION(Test);
}
-NOADDITIONAL;
+CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/desktop/qa/deployment_misc/version.map b/desktop/qa/deployment_misc/version.map
index f313c44bd7..0dbbcc5a73 100644
--- a/desktop/qa/deployment_misc/version.map
+++ b/desktop/qa/deployment_misc/version.map
@@ -27,7 +27,7 @@
UDK_3_0_0 {
global:
- registerAllTestFunction;
+ cppunitTestPlugIn;
local:
*;
diff --git a/desktop/scripts/soffice.sh b/desktop/scripts/soffice.sh
index 6ac6c0ca68..a268536181 100644
--- a/desktop/scripts/soffice.sh
+++ b/desktop/scripts/soffice.sh
@@ -95,7 +95,7 @@ if [ -x "$sd_prog/../basis-link/ure-link/bin/javaldx" ] ; then
my_path=`"$sd_prog/../basis-link/ure-link/bin/javaldx" $BOOTSTRAPVARS \
"-env:INIFILENAME=vnd.sun.star.pathname:$sd_prog/redirectrc"`
if [ -n "$my_path" ] ; then
- LD_LIBRARY_PATH=$my_path${LD_LIBRARY_PATH+:$LD_LIBRARY_PATH}
+ LD_LIBRARY_PATH=$my_path${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
export LD_LIBRARY_PATH
fi
fi
diff --git a/desktop/scripts/unopkg.sh b/desktop/scripts/unopkg.sh
index 8a9f638df0..520f9755fa 100644
--- a/desktop/scripts/unopkg.sh
+++ b/desktop/scripts/unopkg.sh
@@ -56,7 +56,7 @@ if [ -x "$sd_prog/../basis-link/ure-link/bin/javaldx" ] ; then
my_path=`"$sd_prog/../basis-link/ure-link/bin/javaldx" $BOOTSTRAPVARS \
"-env:INIFILENAME=vnd.sun.star.pathname:$sd_prog/redirectrc"`
if [ -n "$my_path" ] ; then
- LD_LIBRARY_PATH=$my_path${LD_LIBRARY_PATH+:$LD_LIBRARY_PATH}
+ LD_LIBRARY_PATH=$my_path${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
export LD_LIBRARY_PATH
fi
fi
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index 741ec83988..948073c755 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -754,6 +754,7 @@ void Desktop::DeInit()
// instead of removing of the configManager just let it commit all the changes
RTL_LOGFILE_CONTEXT_TRACE( aLog, "<- store config items" );
utl::ConfigManager::GetConfigManager()->StoreConfigItems();
+ FlushConfiguration();
RTL_LOGFILE_CONTEXT_TRACE( aLog, "<- store config items" );
// close splashscreen if it's still open
@@ -784,6 +785,7 @@ BOOL Desktop::QueryExit()
{
RTL_LOGFILE_CONTEXT_TRACE( aLog, "<- store config items" );
utl::ConfigManager::GetConfigManager()->StoreConfigItems();
+ FlushConfiguration();
RTL_LOGFILE_CONTEXT_TRACE( aLog, "<- store config items" );
}
catch ( RuntimeException& )
@@ -1436,18 +1438,7 @@ USHORT Desktop::Exception(USHORT nError)
if ( bAllowRecoveryAndSessionManagement )
bRestart = SaveTasks();
- // because there is no method to flush the condiguration data, we must dispose the ConfigManager
- Reference < XFlushable > xCFGFlush( ::utl::ConfigManager::GetConfigManager()->GetConfigurationProvider(), UNO_QUERY );
- if (xCFGFlush.is())
- {
- xCFGFlush->flush();
- }
- else
- {
- Reference < XComponent > xCFGDispose( ::utl::ConfigManager::GetConfigManager()->GetConfigurationProvider(), UNO_QUERY );
- if (xCFGDispose.is())
- xCFGDispose->dispose();
- }
+ FlushConfiguration();
switch( nError & EXC_MAJORTYPE )
{
@@ -1976,6 +1967,7 @@ void Desktop::Main()
// remove temp directory
RemoveTemporaryDirectory();
+ FlushConfiguration();
// The acceptors in the AcceptorMap must be released (in DeregisterServices)
// with the solar mutex unlocked, to avoid deadlock:
nAcquireCount = Application::ReleaseSolarMutex();
@@ -2073,6 +2065,22 @@ sal_Bool Desktop::InitializeConfiguration()
return bOk;
}
+void Desktop::FlushConfiguration()
+{
+ Reference < XFlushable > xCFGFlush( ::utl::ConfigManager::GetConfigManager()->GetConfigurationProvider(), UNO_QUERY );
+ if (xCFGFlush.is())
+ {
+ xCFGFlush->flush();
+ }
+ else
+ {
+ // because there is no method to flush the condiguration data, we must dispose the ConfigManager
+ Reference < XComponent > xCFGDispose( ::utl::ConfigManager::GetConfigManager()->GetConfigurationProvider(), UNO_QUERY );
+ if (xCFGDispose.is())
+ xCFGDispose->dispose();
+ }
+}
+
sal_Bool Desktop::InitializeQuickstartMode( Reference< XMultiServiceFactory >& rSMgr )
{
try
diff --git a/desktop/source/deployment/manager/dp_commandenvironments.cxx b/desktop/source/deployment/manager/dp_commandenvironments.cxx
index 789cac177b..f6995b9495 100644
--- a/desktop/source/deployment/manager/dp_commandenvironments.cxx
+++ b/desktop/source/deployment/manager/dp_commandenvironments.cxx
@@ -31,6 +31,8 @@
#include "com/sun/star/deployment/VersionException.hpp"
#include "com/sun/star/deployment/LicenseException.hpp"
#include "com/sun/star/deployment/InstallException.hpp"
+#include "com/sun/star/deployment/DependencyException.hpp"
+#include "com/sun/star/deployment/PlatformException.hpp"
#include "com/sun/star/task/XInteractionApprove.hpp"
#include "com/sun/star/task/XInteractionAbort.hpp"
#include "com/sun/star/task/XInteractionHandler.hpp"
@@ -250,7 +252,43 @@ void NoLicenseCommandEnv::handle(
handle_(approve, abort, xRequest);
}
+// SilentCheckPrerequisitesCommandEnv::SilentCheckPrerequisitesCommandEnv(
+// css::uno::Reference< css::task::XInteractionHandler> const & handler):
+// BaseCommandEnv(handler)
+// {
+// }
+SilentCheckPrerequisitesCommandEnv::SilentCheckPrerequisitesCommandEnv()
+{
+}
+void SilentCheckPrerequisitesCommandEnv::handle(
+ Reference< task::XInteractionRequest> const & xRequest )
+ throw (uno::RuntimeException)
+{
+ uno::Any request( xRequest->getRequest() );
+ OSL_ASSERT( request.getValueTypeClass() == uno::TypeClass_EXCEPTION );
+
+ deployment::LicenseException licExc;
+ deployment::PlatformException platformExc;
+ deployment::DependencyException depExc;
+ bool approve = false;
+ bool abort = false;
+
+ if (request >>= licExc)
+ {
+ approve = true;
+ handle_(approve, abort, xRequest);
+ }
+ else if ((request >>= platformExc)
+ || (request >>= depExc))
+ {
+ m_Exception = request;
+ }
+ else
+ {
+ m_UnknownException = request;
+ }
+}
// NoExceptionCommandEnv::NoExceptionCommandEnv(
// css::uno::Reference< css::task::XInteractionHandler> const & handler,
// css::uno::Type const & type):
diff --git a/desktop/source/deployment/manager/dp_commandenvironments.hxx b/desktop/source/deployment/manager/dp_commandenvironments.hxx
index 702b1b331f..6662d1fb50 100644
--- a/desktop/source/deployment/manager/dp_commandenvironments.hxx
+++ b/desktop/source/deployment/manager/dp_commandenvironments.hxx
@@ -135,6 +135,29 @@ public:
};
+/* For use in XExtensionManager::addExtension in the call to
+ XPackage::checkPrerequisites
+ It prevents all user interactions. The license is always accepted.
+ It remembers if there was a platform or a dependency exception in
+ the member m_bException. if there was any other exception then m_bUnknownException
+ is set.
+
+ */
+class SilentCheckPrerequisitesCommandEnv : public BaseCommandEnv
+{
+public:
+ SilentCheckPrerequisitesCommandEnv();
+ // XInteractionHandler
+ virtual void SAL_CALL handle(
+ css::uno::Reference<css::task::XInteractionRequest > const & xRequest )
+ throw (css::uno::RuntimeException);
+
+ // Set to true if a PlatformException or a DependencyException were handled.
+ css::uno::Any m_Exception;
+ // Set to true if an unknown exception was handled.
+ css::uno::Any m_UnknownException;
+};
+
// class NoExceptionCommandEnv : public BaseCommandEnv
// {
// css::uno::Type m_type;
diff --git a/desktop/source/deployment/manager/dp_extensionmanager.cxx b/desktop/source/deployment/manager/dp_extensionmanager.cxx
index ab0baa78e3..c80968511d 100644
--- a/desktop/source/deployment/manager/dp_extensionmanager.cxx
+++ b/desktop/source/deployment/manager/dp_extensionmanager.cxx
@@ -139,6 +139,37 @@ void writeLastModified(OUString & url, Reference<ucb::XCommandEnvironment> const
OUSTR("Failed to update") + url, 0, exc);
}
}
+
+class ExtensionRemoveGuard
+{
+ css::uno::Reference<css::deployment::XPackage> m_extension;
+ css::uno::Reference<css::deployment::XPackageManager> m_xPackageManager;
+
+public:
+ ExtensionRemoveGuard(
+ css::uno::Reference<css::deployment::XPackage> const & extension,
+ css::uno::Reference<css::deployment::XPackageManager> const & xPackageManager):
+ m_extension(extension), m_xPackageManager(xPackageManager) {}
+ ~ExtensionRemoveGuard();
+
+ void reset(css::uno::Reference<css::deployment::XPackage> const & extension) {
+ m_extension = extension;
+ }
+};
+
+ExtensionRemoveGuard::~ExtensionRemoveGuard()
+{
+ try {
+ if (m_xPackageManager.is() && m_extension.is())
+ m_xPackageManager->removePackage(
+ dp_misc::getIdentifier(m_extension), ::rtl::OUString(),
+ css::uno::Reference<css::task::XAbortChannel>(),
+ css::uno::Reference<css::ucb::XCommandEnvironment>());
+ } catch (...) {
+ OSL_ASSERT(0);
+ }
+}
+
} //end namespace
namespace dp_manager {
@@ -500,6 +531,107 @@ ExtensionManager::getSupportedPackageTypes()
{
return m_userRepository->getSupportedPackageTypes();
}
+//Do some necessary checks and user interaction. This function does not
+//aquire the extension manager mutex and that mutex must not be aquired
+//when this function is called. doChecksForAddExtension does synchronous
+//user interactions which may require aquiring the solar mutex.
+//Returns true if the extension can be installed.
+bool ExtensionManager::doChecksForAddExtension(
+ Reference<deploy::XPackageManager> const & xPackageMgr,
+ uno::Sequence<beans::NamedValue> const & properties,
+ css::uno::Reference<css::deployment::XPackage> const & xTmpExtension,
+ Reference<task::XAbortChannel> const & xAbortChannel,
+ Reference<ucb::XCommandEnvironment> const & xCmdEnv,
+ Reference<deploy::XPackage> & out_existingExtension )
+ throw (deploy::DeploymentException,
+ ucb::CommandFailedException,
+ ucb::CommandAbortedException,
+ lang::IllegalArgumentException,
+ uno::RuntimeException)
+{
+ try
+ {
+ Reference<deploy::XPackage> xOldExtension;
+ const OUString sIdentifier = dp_misc::getIdentifier(xTmpExtension);
+ const OUString sFileName = xTmpExtension->getName();
+ const OUString sDisplayName = xTmpExtension->getDisplayName();
+ const OUString sVersion = xTmpExtension->getVersion();
+
+ try
+ {
+ xOldExtension = xPackageMgr->getDeployedPackage(
+ sIdentifier, sFileName, xCmdEnv);
+ out_existingExtension = xOldExtension;
+ }
+ catch (lang::IllegalArgumentException &)
+ {
+ }
+ bool bCanInstall = false;
+
+ //This part is not guarded against other threads removing, adding, disabling ...
+ //etc. the same extension.
+ //checkInstall is safe because it notifies the user if the extension is not yet
+ //installed in the same repository. Because addExtension has its own guard
+ //(m_addMutex), another thread cannot add the extension in the meantime.
+ //checkUpdate is called if the same extension exists in the same
+ //repository. The user is asked if they want to replace it. Another
+ //thread
+ //could already remove the extension. So asking the user was not
+ //necessary. No harm is done. The other thread may also ask the user
+ //if he wants to remove the extension. This depends on the
+ //XCommandEnvironment which it passes to removeExtension.
+ if (xOldExtension.is())
+ {
+ //throws a CommandFailedException if the user cancels
+ //the action.
+ checkUpdate(sVersion, sDisplayName,xOldExtension, xCmdEnv);
+ }
+ else
+ {
+ //throws a CommandFailedException if the user cancels
+ //the action.
+ checkInstall(sDisplayName, xCmdEnv);
+ }
+ //Prevent showing the license if requested.
+ Reference<ucb::XCommandEnvironment> _xCmdEnv(xCmdEnv);
+ ExtensionProperties props(OUString(), properties, Reference<ucb::XCommandEnvironment>());
+
+ dp_misc::DescriptionInfoset info(dp_misc::getDescriptionInfoset(xTmpExtension->getURL()));
+ const ::boost::optional<dp_misc::SimpleLicenseAttributes> licenseAttributes =
+ info.getSimpleLicenseAttributes();
+
+ if (licenseAttributes && licenseAttributes->suppressIfRequired
+ && props.isSuppressedLicense())
+ _xCmdEnv = Reference<ucb::XCommandEnvironment>(
+ new NoLicenseCommandEnv(xCmdEnv->getInteractionHandler()));
+
+ bCanInstall = xTmpExtension->checkPrerequisites(
+ xAbortChannel, _xCmdEnv, xOldExtension.is() || props.isExtensionUpdate()) == 0 ? true : false;
+
+ return bCanInstall;
+ }
+ catch (deploy::DeploymentException& ) {
+ throw;
+ } catch (ucb::CommandFailedException & ) {
+ throw;
+ } catch (ucb::CommandAbortedException & ) {
+ throw;
+ } catch (lang::IllegalArgumentException &) {
+ throw;
+ } catch (uno::RuntimeException &) {
+ throw;
+ } catch (uno::Exception &) {
+ uno::Any excOccurred = ::cppu::getCaughtException();
+ deploy::DeploymentException exc(
+ OUSTR("Extension Manager: exception in doChecksForAddExtension"),
+ static_cast<OWeakObject*>(this), excOccurred);
+ throw exc;
+ } catch (...) {
+ throw uno::RuntimeException(
+ OUSTR("Extension Manager: unexpected exception in doChecksForAddExtension"),
+ static_cast<OWeakObject*>(this));
+ }
+}
// Only add to shared and user repository
Reference<deploy::XPackage> ExtensionManager::addExtension(
@@ -524,166 +656,184 @@ Reference<deploy::XPackage> ExtensionManager::addExtension(
throw lang::IllegalArgumentException(
OUSTR("No valid repository name provided."),
static_cast<cppu::OWeakObject*>(this), 0);
- ::osl::MutexGuard guard(getMutex());
+ //We must make sure that the xTmpExtension is not create twice, because this
+ //would remove the first one.
+ ::osl::MutexGuard addGuard(m_addMutex);
+
Reference<deploy::XPackage> xTmpExtension =
getTempExtension(url, xAbortChannel, xCmdEnv);
+ //Make sure the extension is removed from the tmp repository in case
+ //of an exception
+ ExtensionRemoveGuard tmpExtensionRemoveGuard(xTmpExtension, m_tmpRepository);
const OUString sIdentifier = dp_misc::getIdentifier(xTmpExtension);
const OUString sFileName = xTmpExtension->getName();
- const OUString sDisplayName = xTmpExtension->getDisplayName();
- const OUString sVersion = xTmpExtension->getVersion();
- dp_misc::DescriptionInfoset info(dp_misc::getDescriptionInfoset(xTmpExtension->getURL()));
- const ::boost::optional<dp_misc::SimpleLicenseAttributes> licenseAttributes =
- info.getSimpleLicenseAttributes();
Reference<deploy::XPackage> xOldExtension;
Reference<deploy::XPackage> xExtensionBackup;
- uno::Any excOccurred1;
uno::Any excOccurred2;
bool bUserDisabled = false;
- try
+ bool bCanInstall = doChecksForAddExtension(
+ xPackageManager,
+ properties,
+ xTmpExtension,
+ xAbortChannel,
+ xCmdEnv,
+ xOldExtension );
+
{
- bUserDisabled = isUserDisabled(sIdentifier, sFileName);
- try
- {
- xOldExtension = xPackageManager->getDeployedPackage(
- sIdentifier, sFileName, xCmdEnv);
- }
- catch (lang::IllegalArgumentException &)
- {
- }
- bool bCanInstall = false;
- try
+ // In this garded section (getMutex) we must not use the argument xCmdEnv
+ // because it may bring up dialogs (XInteractionHandler::handle) this
+ //may potententially deadlock. See issue
+ //http://qa.openoffice.org/issues/show_bug.cgi?id=114933
+ //By not providing xCmdEnv the underlying APIs will throw an exception if
+ //the XInteractionRequest cannot be handled
+ ::osl::MutexGuard guard(getMutex());
+
+ if (bCanInstall)
{
- if (xOldExtension.is())
+ try
{
- //throws a CommandFailedException if the user cancels
- //the action.
- checkUpdate(sVersion, sDisplayName,xOldExtension, xCmdEnv);
+ bUserDisabled = isUserDisabled(sIdentifier, sFileName);
+ if (xOldExtension.is())
+ {
+ try
+ {
+ xOldExtension->revokePackage(
+ xAbortChannel, Reference<ucb::XCommandEnvironment>());
+ //save the old user extension in case the user aborts
+ //store the extension in the tmp repository, this will overwrite
+ //xTmpPackage (same identifier). Do not let the user abort or
+ //interact
+ //importing the old extension in the tmp repository will remove
+ //the xTmpExtension
+ //no command environment supplied, only this class shall interact
+ //with the user!
+ xExtensionBackup = m_tmpRepository->importExtension(
+ xOldExtension, Reference<task::XAbortChannel>(),
+ Reference<ucb::XCommandEnvironment>());
+ tmpExtensionRemoveGuard.reset(xExtensionBackup);
+ //xTmpExtension will later be used to check the dependencies
+ //again. However, only xExtensionBackup will be later removed
+ //from the tmp repository
+ xTmpExtension = xExtensionBackup;
+ OSL_ASSERT(xTmpExtension.is());
+ }
+ catch (lang::DisposedException &)
+ {
+ //Another thread might have removed the extension meanwhile
+ }
+ }
+ //check again dependencies but prevent user interaction,
+ //We can disregard the license, because the user must have already
+ //accepted it, whe we called checkPrerequisites the first time
+ SilentCheckPrerequisitesCommandEnv * pSilentCommandEnv =
+ new SilentCheckPrerequisitesCommandEnv();
+ Reference<ucb::XCommandEnvironment> silentCommandEnv(pSilentCommandEnv);
+
+ sal_Int32 failedPrereq = xTmpExtension->checkPrerequisites(
+ xAbortChannel, silentCommandEnv, true);
+ if (failedPrereq == 0)
+ {
+ xNewExtension = xPackageManager->addPackage(
+ url, properties, OUString(), xAbortChannel,
+ Reference<ucb::XCommandEnvironment>());
+ //If we add a user extension and there is already one which was
+ //disabled by a user, then the newly installed one is enabled. If we
+ //add to another repository then the user extension remains
+ //disabled.
+ bool bUserDisabled2 = bUserDisabled;
+ if (repository.equals(OUSTR("user")))
+ bUserDisabled2 = false;
+
+ activateExtension(
+ dp_misc::getIdentifier(xNewExtension),
+ xNewExtension->getName(), bUserDisabled2, false, xAbortChannel,
+ Reference<ucb::XCommandEnvironment>());
+ }
+ else
+ {
+ if (pSilentCommandEnv->m_Exception.hasValue())
+ ::cppu::throwException(pSilentCommandEnv->m_Exception);
+ else if ( pSilentCommandEnv->m_UnknownException.hasValue())
+ ::cppu::throwException(pSilentCommandEnv->m_UnknownException);
+ else
+ throw deploy::DeploymentException (
+ OUSTR("Extension Manager: exception during addExtension, ckeckPrerequisites failed"),
+ static_cast<OWeakObject*>(this), uno::Any());
+ }
}
- else
- {
- //throws a CommandFailedException if the user cancels
- //the action.
- checkInstall(sDisplayName, xCmdEnv);
+ catch (deploy::DeploymentException& ) {
+ excOccurred2 = ::cppu::getCaughtException();
+ } catch (ucb::CommandFailedException & ) {
+ excOccurred2 = ::cppu::getCaughtException();
+ } catch (ucb::CommandAbortedException & ) {
+ excOccurred2 = ::cppu::getCaughtException();
+ } catch (lang::IllegalArgumentException &) {
+ excOccurred2 = ::cppu::getCaughtException();
+ } catch (uno::RuntimeException &) {
+ excOccurred2 = ::cppu::getCaughtException();
+ } catch (...) {
+ excOccurred2 = ::cppu::getCaughtException();
+ deploy::DeploymentException exc(
+ OUSTR("Extension Manager: exception during addExtension, url: ")
+ + url, static_cast<OWeakObject*>(this), excOccurred2);
+ excOccurred2 <<= exc;
}
- //Prevent showing the license if requested.
- Reference<ucb::XCommandEnvironment> _xCmdEnv(xCmdEnv);
- ExtensionProperties props(OUString(), properties, Reference<ucb::XCommandEnvironment>());
- if (licenseAttributes && licenseAttributes->suppressIfRequired
- && props.isSuppressedLicense())
- _xCmdEnv = Reference<ucb::XCommandEnvironment>(
- new NoLicenseCommandEnv(xCmdEnv->getInteractionHandler()));
-
- bCanInstall = xTmpExtension->checkPrerequisites(
- xAbortChannel, _xCmdEnv, xOldExtension.is() || props.isExtensionUpdate()) == 0 ? true : false;
- }
- catch (deploy::DeploymentException& ) {
- excOccurred1 = ::cppu::getCaughtException();
- } catch (ucb::CommandFailedException & ) {
- excOccurred1 = ::cppu::getCaughtException();
- } catch (ucb::CommandAbortedException & ) {
- excOccurred1 = ::cppu::getCaughtException();
- } catch (lang::IllegalArgumentException &) {
- excOccurred1 = ::cppu::getCaughtException();
- } catch (uno::RuntimeException &) {
- excOccurred1 = ::cppu::getCaughtException();
- } catch (...) {
- excOccurred1 = ::cppu::getCaughtException();
- deploy::DeploymentException exc(
- OUSTR("Extension Manager: exception during addExtension, url: ")
- + url, static_cast<OWeakObject*>(this), excOccurred1);
- excOccurred1 <<= exc;
}
- if (bCanInstall)
+ if (excOccurred2.hasValue())
{
- if (xOldExtension.is())
+ //It does not matter what exception is thrown. We try to
+ //recover the original status.
+ //If the user aborted installation then a ucb::CommandAbortedException
+ //is thrown.
+ //Use a private AbortChannel so the user cannot interrupt.
+ try
+ {
+ if (xExtensionBackup.is())
+ {
+ Reference<deploy::XPackage> xRestored =
+ xPackageManager->importExtension(
+ xExtensionBackup, Reference<task::XAbortChannel>(),
+ Reference<ucb::XCommandEnvironment>());
+ }
+ activateExtension(
+ sIdentifier, sFileName, bUserDisabled, false,
+ Reference<task::XAbortChannel>(), Reference<ucb::XCommandEnvironment>());
+ }
+ catch (...)
{
- xOldExtension->revokePackage(xAbortChannel, xCmdEnv);
- //save the old user extension in case the user aborts
- //store the extension in the tmp repository, this will overwrite
- //xTmpPackage (same identifier). Do not let the user abort or
- //interact
- Reference<ucb::XCommandEnvironment> tmpCmdEnv(
- new TmpRepositoryCommandEnv(xCmdEnv->getInteractionHandler()));
- //importing the old extension in the tmp repository will remove
- //the xTmpExtension
- xTmpExtension = 0;
- xExtensionBackup = m_tmpRepository->importExtension(
- xOldExtension, Reference<task::XAbortChannel>(),
- tmpCmdEnv);
}
- xNewExtension = xPackageManager->addPackage(
- url, properties, OUString(), xAbortChannel, xCmdEnv);
- //If we add a user extension and there is already one which was
- //disabled by a user, then the newly installed one is enabled. If we
- //add to another repository then the user extension remains
- //disabled.
- bool bUserDisabled2 = bUserDisabled;
- if (repository.equals(OUSTR("user")))
- bUserDisabled2 = false;
- activateExtension(
- dp_misc::getIdentifier(xNewExtension),
- xNewExtension->getName(), bUserDisabled2, false, xAbortChannel, xCmdEnv);
- fireModified();
+ ::cppu::throwException(excOccurred2);
}
- }
- catch (deploy::DeploymentException& ) {
- excOccurred2 = ::cppu::getCaughtException();
+ } // leaving the garded section (getMutex())
+
+ try
+ {
+ fireModified();
+
+ }catch (deploy::DeploymentException& ) {
+ throw;
} catch (ucb::CommandFailedException & ) {
- excOccurred2 = ::cppu::getCaughtException();
+ throw;
} catch (ucb::CommandAbortedException & ) {
- excOccurred2 = ::cppu::getCaughtException();
+ throw;
} catch (lang::IllegalArgumentException &) {
- excOccurred2 = ::cppu::getCaughtException();
+ throw;
} catch (uno::RuntimeException &) {
- excOccurred2 = ::cppu::getCaughtException();
- } catch (...) {
- excOccurred2 = ::cppu::getCaughtException();
+ throw;
+ } catch (uno::Exception &) {
+ uno::Any excOccurred = ::cppu::getCaughtException();
deploy::DeploymentException exc(
- OUSTR("Extension Manager: exception during addExtension, url: ")
- + url, static_cast<OWeakObject*>(this), excOccurred2);
- excOccurred2 <<= exc;
- }
-
- if (excOccurred2.hasValue())
- {
- //It does not matter what exception is thrown. We try to
- //recover the original status.
- //If the user aborted installation then a ucb::CommandAbortedException
- //is thrown.
- //Use a private AbortChannel so the user cannot interrupt.
- try
- {
- Reference<ucb::XCommandEnvironment> tmpCmdEnv(
- new TmpRepositoryCommandEnv(xCmdEnv->getInteractionHandler()));
- if (xExtensionBackup.is())
- {
- Reference<deploy::XPackage> xRestored =
- xPackageManager->importExtension(
- xExtensionBackup, Reference<task::XAbortChannel>(),
- tmpCmdEnv);
- }
- activateExtension(
- sIdentifier, sFileName, bUserDisabled, false,
- Reference<task::XAbortChannel>(), tmpCmdEnv);
- if (xTmpExtension.is() || xExtensionBackup.is())
- m_tmpRepository->removePackage(
- sIdentifier, OUString(), xAbortChannel, xCmdEnv);
- fireModified();
- }
- catch (...)
- {
- }
- ::cppu::throwException(excOccurred2);
+ OUSTR("Extension Manager: exception in doChecksForAddExtension"),
+ static_cast<OWeakObject*>(this), excOccurred);
+ throw exc;
+ } catch (...) {
+ throw uno::RuntimeException(
+ OUSTR("Extension Manager: unexpected exception in doChecksForAddExtension"),
+ static_cast<OWeakObject*>(this));
}
- if (xTmpExtension.is() || xExtensionBackup.is())
- m_tmpRepository->removePackage(
- sIdentifier,OUString(), xAbortChannel, xCmdEnv);
- if (excOccurred1.hasValue())
- ::cppu::throwException(excOccurred1);
-
return xNewExtension;
}
diff --git a/desktop/source/deployment/manager/dp_extensionmanager.hxx b/desktop/source/deployment/manager/dp_extensionmanager.hxx
index d928ea1427..be86f483f1 100644
--- a/desktop/source/deployment/manager/dp_extensionmanager.hxx
+++ b/desktop/source/deployment/manager/dp_extensionmanager.hxx
@@ -235,6 +235,8 @@ private:
css::uno::Reference<css::deployment::XPackageManager> m_bundledRepository;
css::uno::Reference<css::deployment::XPackageManager> m_tmpRepository;
+ //only to be used within addExtension
+ ::osl::Mutex m_addMutex;
/* contains the names of all repositories (except tmp) in order of there
priority. That is, the first element is "user" follod by "shared" and
then "bundled"
@@ -296,6 +298,21 @@ private:
css::uno::Reference<css::deployment::XPackageManager>
getPackageManager(::rtl::OUString const & repository)
throw (css::lang::IllegalArgumentException);
+
+ bool doChecksForAddExtension(
+ css::uno::Reference<css::deployment::XPackageManager> const & xPackageMgr,
+ css::uno::Sequence<css::beans::NamedValue> const & properties,
+ css::uno::Reference<css::deployment::XPackage> const & xTmpExtension,
+ css::uno::Reference<css::task::XAbortChannel> const & xAbortChannel,
+ css::uno::Reference<css::ucb::XCommandEnvironment> const & xCmdEnv,
+ css::uno::Reference<css::deployment::XPackage> & out_existingExtension )
+ throw (css::deployment::DeploymentException,
+ css::ucb::CommandFailedException,
+ css::ucb::CommandAbortedException,
+ css::lang::IllegalArgumentException,
+ css::uno::RuntimeException);
+
+
};
}
diff --git a/framework/prj/build.lst b/framework/prj/build.lst
index 5c745e0907..cf99460469 100644
--- a/framework/prj/build.lst
+++ b/framework/prj/build.lst
@@ -21,3 +21,37 @@ fr framework\source\accelerators nmake - all fr_accelerators fr_t
fr framework\source\tabwin nmake - all fr_tabwin fr_threadhelp fr_inc NULL
fr framework\util nmake - all fr_util fr_constant fr_threadhelp fr_classes fr_loadenv fr_jobs fr_interaction fr_helper fr_dispatch fr_services fr_register fr_recording fr_layoutmanager fr_uielement fr_uifactory fr_xml fr_uiconfiguration fr_accelerators fr_tabwin NULL
fr framework\qa\unoapi nmake - all fr_qa_unoapi NULL
+
+# complex tests
+# fails on unxsoli4
+# fr framework\qa\complex\ModuleManager nmake - all fr_qa_complex_modulemanager NULL
+# fr framework\qa\complex\XUserInputInterception nmake - all fr_qa_complex_xuserinputinterception NULL
+
+# fr framework\qa\complex\accelerators nmake - all fr_qa_complex_accel fr_qa_complex_accel_helper NULL
+
+# unclear should be remove
+# fr framework\qa\complex\api_internal nmake - all fr_qa_complex_api_internal NULL
+
+# BUG! opens an error box
+# fr framework\qa\complex\broken_document nmake - all fr_qa_complex_broken_doc NULL
+
+# failed:
+# fr framework\qa\complex\desktop nmake - all fr_qa_complex_desktop NULL
+
+# fr framework\qa\complex\dispatches nmake - all fr_qa_complex_dispatches fr_qa_complex_dispatches_helper NULL
+# fr framework\qa\complex\disposing nmake - all fr_qa_complex_disposing NULL
+
+# GPF
+# fr framework\qa\complex\framework\autosave nmake - all fr_qa_complex_framework_autosave NULL
+
+# much too complex, will not change to new junit
+# fr framework\qa\complex\framework\recovery nmake - all fr_qa_complex_framework_recovery NULL
+
+# fr framework\qa\complex\imageManager nmake - all fr_qa_complex_imageManager fr_qa_complex_imageManager_interfaces NULL
+
+# fr framework\qa\complex\loadAllDocuments nmake - all fr_qa_complex_loadAllDocuments fr_qa_complex_loadAllDocuments_helper NULL
+
+# need cleanups
+# fr framework\qa\complex\path_settings nmake - all fr_qa_complex_path_settings NULL
+# fr framework\qa\complex\path_substitution nmake - all fr_qa_complex_path_substitution NULL
+
diff --git a/framework/qa/complex/ModuleManager/CheckXModuleManager.java b/framework/qa/complex/ModuleManager/CheckXModuleManager.java
index 33bc2c0d0c..47b4f877c4 100644
--- a/framework/qa/complex/ModuleManager/CheckXModuleManager.java
+++ b/framework/qa/complex/ModuleManager/CheckXModuleManager.java
@@ -30,21 +30,27 @@ package complex.ModuleManager;
import com.sun.star.beans.*;
import com.sun.star.frame.*;
import com.sun.star.lang.*;
-import com.sun.star.uno.*;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.UnoRuntime;
import com.sun.star.util.*;
import com.sun.star.container.*;
-import complexlib.ComplexTestCase;
-import helper.URLHelper;
-import java.lang.*;
-import java.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 static org.junit.Assert.*;
+// ------------------------------------------
//-----------------------------------------------
/** @short todo document me
*/
-public class CheckXModuleManager extends ComplexTestCase
+public class CheckXModuleManager
{
//-------------------------------------------
// some const
@@ -71,16 +77,16 @@ public class CheckXModuleManager extends ComplexTestCase
@return All test methods.
@todo Think about selection of tests from outside ...
*/
- public String[] getTestMethodNames()
- {
- return new String[]
- {
- "checkModuleIdentification" ,
- "checkModuleConfigurationReadable" ,
- "checkModuleConfigurationWriteable",
- "checkModuleConfigurationQueries"
- };
- }
+// public String[] getTestMethodNames()
+// {
+// return new String[]
+// {
+// "checkModuleIdentification" ,
+// "checkModuleConfigurationReadable" ,
+// "checkModuleConfigurationWriteable",
+// "checkModuleConfigurationQueries"
+// };
+// }
//-------------------------------------------
/** @short Create the environment for following tests.
@@ -88,36 +94,28 @@ public class CheckXModuleManager extends ComplexTestCase
@descr Use either a component loader from desktop or
from frame
*/
- public void before()
+ @Before public void before()
throws java.lang.Exception
{
// get uno service manager from global test environment
- m_xSmgr = (XMultiServiceFactory)param.getMSF();
+ m_xSmgr = getMSF();
// create module manager
- m_xMM = (XModuleManager)UnoRuntime.queryInterface(
- XModuleManager.class,
- m_xSmgr.createInstance("com.sun.star.frame.ModuleManager"));
+ m_xMM = UnoRuntime.queryInterface(XModuleManager.class, m_xSmgr.createInstance("com.sun.star.frame.ModuleManager"));
// create desktop instance to create a special frame to load documents there.
- XFrame xDesktop = (XFrame)UnoRuntime.queryInterface(
- XFrame.class,
- m_xSmgr.createInstance("com.sun.star.frame.Desktop"));
+ XFrame xDesktop = UnoRuntime.queryInterface(XFrame.class, m_xSmgr.createInstance("com.sun.star.frame.Desktop"));
- m_xLoader = (XComponentLoader)UnoRuntime.queryInterface(
- XComponentLoader.class,
- xDesktop.findFrame("_blank", 0));
+ m_xLoader = UnoRuntime.queryInterface(XComponentLoader.class, xDesktop.findFrame("_blank", 0));
}
//-------------------------------------------
/** @short close the environment.
*/
- public void after()
+ @After public void after()
throws java.lang.Exception
{
- XCloseable xClose = (XCloseable)UnoRuntime.queryInterface(
- XCloseable.class,
- m_xLoader);
+ XCloseable xClose = UnoRuntime.queryInterface(XCloseable.class, m_xLoader);
xClose.close(false);
m_xLoader = null;
@@ -128,7 +126,7 @@ public class CheckXModuleManager extends ComplexTestCase
//-------------------------------------------
/** @todo document me
*/
- public void checkModuleIdentification()
+ @Test public void checkModuleIdentification()
throws java.lang.Exception
{
impl_identifyModulesBasedOnDocs("com.sun.star.text.TextDocument" );
@@ -139,13 +137,14 @@ public class CheckXModuleManager extends ComplexTestCase
impl_identifyModulesBasedOnDocs("com.sun.star.drawing.DrawingDocument" );
impl_identifyModulesBasedOnDocs("com.sun.star.presentation.PresentationDocument");
impl_identifyModulesBasedOnDocs("com.sun.star.sdb.OfficeDatabaseDocument" );
- impl_identifyModulesBasedOnDocs("com.sun.star.chart.ChartDocument" );
+ // TODO: fails
+ // impl_identifyModulesBasedOnDocs("com.sun.star.chart.ChartDocument" );
}
//-------------------------------------------
/** @todo document me
*/
- public void checkModuleConfigurationReadable()
+ @Test public void checkModuleConfigurationReadable()
throws java.lang.Exception
{
}
@@ -153,7 +152,7 @@ public class CheckXModuleManager extends ComplexTestCase
//-------------------------------------------
/** @todo document me
*/
- public void checkModuleConfigurationWriteable()
+ @Test public void checkModuleConfigurationWriteable()
throws java.lang.Exception
{
// modules supporting real documents
@@ -182,7 +181,7 @@ public class CheckXModuleManager extends ComplexTestCase
//-------------------------------------------
/** @todo document me
*/
- public void checkModuleConfigurationQueries()
+ @Test public void checkModuleConfigurationQueries()
throws java.lang.Exception
{
impl_searchModulesByDocumentService("com.sun.star.text.TextDocument" );
@@ -202,14 +201,14 @@ public class CheckXModuleManager extends ComplexTestCase
private void impl_searchModulesByDocumentService(String sDocumentService)
throws java.lang.Exception
{
- log.println("search modules matching document service '"+sDocumentService+"' ...");
+ System.out.println("search modules matching document service '"+sDocumentService+"' ...");
NamedValue[] lProps = new NamedValue[1];
lProps[0] = new NamedValue();
lProps[0].Name = "ooSetupFactoryDocumentService";
lProps[0].Value = sDocumentService;
- XContainerQuery xMM = (XContainerQuery)UnoRuntime.queryInterface(XContainerQuery.class, m_xMM);
+ XContainerQuery xMM = UnoRuntime.queryInterface(XContainerQuery.class, m_xMM);
XEnumeration xResult = xMM.createSubSetEnumerationByProperties(lProps);
while(xResult.hasMoreElements())
{
@@ -221,18 +220,26 @@ public class CheckXModuleManager extends ComplexTestCase
for (i=0; i<c; ++i)
{
if (lModuleProps[i].Name.equals("ooSetupFactoryModuleIdentifier"))
+ {
sFoundModule = AnyConverter.toString(lModuleProps[i].Value);
+ }
if (lModuleProps[i].Name.equals("ooSetupFactoryDocumentService"))
+ {
sFoundDocService = AnyConverter.toString(lModuleProps[i].Value);
+ }
}
if (sFoundModule.length() < 1)
- failed("Miss module identifier in result set. Returned data are incomplete.");
+ {
+ fail("Miss module identifier in result set. Returned data are incomplete.");
+ }
if ( ! sFoundDocService.equals(sDocumentService))
- failed("Query returned wrong module '"+sFoundModule+"' with DocumentService='"+sFoundDocService+"'.");
+ {
+ fail("Query returned wrong module '" + sFoundModule + "' with DocumentService='" + sFoundDocService + "'.");
+ }
- log.println("Found module '"+sFoundModule+"'.");
+ System.out.println("Found module '"+sFoundModule+"'.");
}
}
@@ -242,9 +249,9 @@ public class CheckXModuleManager extends ComplexTestCase
private void impl_identifyModulesBasedOnDocs(String sModule)
throws java.lang.Exception
{
- log.println("check identification of module '"+sModule+"' ...");
+ System.out.println("check identification of module '"+sModule+"' ...");
- XNameAccess xMM = (XNameAccess)UnoRuntime.queryInterface(XNameAccess.class, m_xMM);
+ XNameAccess xMM = UnoRuntime.queryInterface(XNameAccess.class, m_xMM);
PropertyValue[] lModuleProps = (PropertyValue[])AnyConverter.toArray(xMM.getByName(sModule));
int c = lModuleProps.length;
int i = 0;
@@ -265,7 +272,7 @@ public class CheckXModuleManager extends ComplexTestCase
lArgs[0].Value = Boolean.TRUE;
XComponent xModel = m_xLoader.loadComponentFromURL(sFactoryURL, "_self", 0, lArgs);
- XFrame xFrame = (XFrame)UnoRuntime.queryInterface(XFrame.class, m_xLoader);
+ XFrame xFrame = UnoRuntime.queryInterface(XFrame.class, m_xLoader);
XController xController = xFrame.getController();
String sModuleFrame = m_xMM.identify(xFrame );
@@ -273,11 +280,17 @@ public class CheckXModuleManager extends ComplexTestCase
String sModuleModel = m_xMM.identify(xModel );
if ( ! sModuleFrame.equals(sModule))
- failed("Identification of module '"+sModule+"' failed if frame was used as entry point.");
+ {
+ fail("Identification of module '" + sModule + "' failed if frame was used as entry point.");
+ }
if ( ! sModuleController.equals(sModule))
- failed("Identification of module '"+sModule+"' failed if controller was used as entry point.");
+ {
+ fail("Identification of module '" + sModule + "' failed if controller was used as entry point.");
+ }
if ( ! sModuleModel.equals(sModule))
- failed("Identification of module '"+sModule+"' failed if model was used as entry point.");
+ {
+ fail("Identification of module '" + sModule + "' failed if model was used as entry point.");
+ }
}
//-------------------------------------------
@@ -286,7 +299,7 @@ public class CheckXModuleManager extends ComplexTestCase
private void impl_checkReadOnlyPropsOfModule(String sModule)
throws java.lang.Exception
{
- XNameReplace xWrite = (XNameReplace)UnoRuntime.queryInterface(XNameReplace.class, m_xMM);
+ XNameReplace xWrite = UnoRuntime.queryInterface(XNameReplace.class, m_xMM);
impl_checkReadOnlyPropOfModule(xWrite, sModule, "ooSetupFactoryDocumentService" , "test");
impl_checkReadOnlyPropOfModule(xWrite, sModule, "ooSetupFactoryActualFilter" , "test");
@@ -309,13 +322,37 @@ public class CheckXModuleManager extends ComplexTestCase
lChanges[0].Value = aPropValue;
// Note: Exception is expected !
- log.println("check readonly state of module '"+sModule+"' for property '"+sPropName+"' ...");
+ System.out.println("check readonly state of module '"+sModule+"' for property '"+sPropName+"' ...");
try
{
xMM.replaceByName(sModule, lChanges);
- failed("Was able to write READONLY property '"+sPropName+"' of module '"+sModule+"' configuration.");
+ fail("Was able to write READONLY property '"+sPropName+"' of module '"+sModule+"' configuration.");
}
catch(Throwable ex)
{}
}
+
+
+
+ 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/ModuleManager/makefile.mk b/framework/qa/complex/ModuleManager/makefile.mk
index bcef75fca4..4ad6d89290 100644
--- a/framework/qa/complex/ModuleManager/makefile.mk
+++ b/framework/qa/complex/ModuleManager/makefile.mk
@@ -24,60 +24,37 @@
# for a copy of the LGPLv3 License.
#
#*************************************************************************
-PRJ = ..$/..$/..
-TARGET = CheckXModuleManager
-PRJNAME = $(TARGET)
-PACKAGE = complex$/ModuleManager
-
-# --- Settings -----------------------------------------------------
-.INCLUDE: settings.mk
-
-#----- compile .java files -----------------------------------------
-
-JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar \
- OOoRunner.jar mysql.jar
-
-JAVAFILES = CheckXModuleManager.java
-
-JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
-
-#----- make a jar from compiled files ------------------------------
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
+.ELSE
-MAXLINELENGTH = 100000
+PRJ = ../../..
+PRJNAME = framework
+TARGET = qa_complex_ModuleManager
-JARCLASSDIRS = $(PACKAGE)
-JARTARGET = $(TARGET).jar
-JARCOMPRESS = TRUE
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = complex/ModuleManager
-# --- Parameters for the test --------------------------------------
+# here store only Files which contain a @Test
+JAVATESTFILES = \
+ CheckXModuleManager.java
-# 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
+# put here all other files
+JAVAFILES = $(JAVATESTFILES)
-# test base is java complex
-CT_TESTBASE = -TestBase java_complex
+JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
-# test looks something like the.full.package.TestName
-CT_TEST = -o $(PACKAGE:s\$/\.\).$(JAVAFILES:b)
+# Sample how to debug
+# JAVAIFLAGS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9003,suspend=y
-# start the runner application
-CT_APP = org.openoffice.Runner
+.END
-# --- Targets ------------------------------------------------------
-
-#.IF "$(depend)" == ""
-#$(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props : ALLTAR
-#.ELSE
-#$(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props : ALLDEP
-#.ENDIF
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+.INCLUDE: installationtest.mk
-.INCLUDE : target.mk
+ALLTAR : javatest
-RUN: run
+.END
-run:
- +java -cp $(CLASSPATH) $(CT_APP) $(CT_TESTBASE) $(CT_APPEXECCOMMAND) $(CT_TEST)
diff --git a/framework/qa/complex/XUserInputInterception/EventTest.java b/framework/qa/complex/XUserInputInterception/EventTest.java
index 4b9ba0eb6f..c511304672 100644
--- a/framework/qa/complex/XUserInputInterception/EventTest.java
+++ b/framework/qa/complex/XUserInputInterception/EventTest.java
@@ -45,15 +45,24 @@ import com.sun.star.lang.*;
import com.sun.star.lang.EventObject;
import com.sun.star.sheet.XSpreadsheetDocument;
import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
import com.sun.star.util.*;
-import com.sun.star.uno.*;
import java.awt.Robot;
import java.awt.event.InputEvent;
-import complexlib.ComplexTestCase;
import util.AccessibilityTools;
import util.SOfficeFactory;
+// ---------- 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 static org.junit.Assert.*;
+// ------------------------------------------
//-----------------------------------------------
/**
* This <CODE>ComplexTest</CODE> checks the interface
@@ -64,7 +73,7 @@ import util.SOfficeFactory;
* @short Check the interface XUserInputIntercaption
* @descr checks is a simple way the interface XUserInputInteraction
*/
-public class EventTest extends ComplexTestCase {
+public class EventTest {
//-------------------------------------------
// some const
@@ -112,16 +121,16 @@ public class EventTest extends ComplexTestCase {
* @return All test methods.
* @todo Think about selection of tests from outside ...
*/
- public String[] getTestMethodNames() {
- return new String[]
- { "checkTextDocument",
- "checkCalcDocument",
- "checkDrawDocument",
- "checkImpressDocument",
- "checkChartDocument",
- "checkMathDocument",
- };
- }
+// public String[] getTestMethodNames() {
+// return new String[]
+// { "checkTextDocument",
+// "checkCalcDocument",
+// "checkDrawDocument",
+// "checkImpressDocument",
+// "checkChartDocument",
+// "checkMathDocument",
+// };
+// }
//-------------------------------------------
/**
@@ -130,17 +139,17 @@ public class EventTest extends ComplexTestCase {
* @descr create an empty test frame, where we can load
* different components inside.
*/
- public void before() {
+@Before public void before() {
// get uno service manager from global test environment
- m_xMSF = (XMultiServiceFactory)param.getMSF();
+ m_xMSF = getMSF();
// create frame instance
try {
// get a soffice factory object
- m_SOF = SOfficeFactory.getFactory((XMultiServiceFactory) param.getMSF());
+ m_SOF = SOfficeFactory.getFactory(getMSF());
} catch(java.lang.Throwable ex) {
- failed("Could not create the XUserInputInterception instance.");
+ fail("Could not create the XUserInputInterception instance.");
}
}
@@ -151,12 +160,11 @@ public class EventTest extends ComplexTestCase {
* @param xDoc the document to close
*/
public void closeDoc(XInterface xDoc) {
- XCloseable xClose = (XCloseable)UnoRuntime.queryInterface(
- XCloseable.class, xDoc);
+ XCloseable xClose = UnoRuntime.queryInterface(XCloseable.class, xDoc);
try {
xClose.close(false);
} catch(com.sun.star.util.CloseVetoException exVeto) {
- log.println("document couldn't be closed successfully.");
+ System.out.println("document couldn't be closed successfully.");
}
}
@@ -166,14 +174,14 @@ public class EventTest extends ComplexTestCase {
* @see com.sun.star.awt.XKeyHandler
* @see com.sun.star.awt.XMouseClickHandler
*/
- public void checkTextDocument(){
+ @Test public void checkTextDocument(){
XTextDocument xDoc = null;
try{
xDoc = m_SOF.createTextDoc("WriterTest");
} catch (com.sun.star.uno.Exception e){
- failed("Could not create a text document: " +e.toString());
+ fail("Could not create a text document: " +e.toString());
}
checkListener(xDoc);
@@ -187,14 +195,14 @@ public class EventTest extends ComplexTestCase {
* @see com.sun.star.awt.XKeyHandler
* @see com.sun.star.awt.XMouseClickHandler
*/
- public void checkImpressDocument(){
+ @Test public void checkImpressDocument(){
XComponent xDoc = null;
try{
xDoc = m_SOF.createImpressDoc("ImpressTest");
} catch (com.sun.star.uno.Exception e){
- failed("Could not create an impress document: " +e.toString());
+ fail("Could not create an impress document: " +e.toString());
}
checkListener(xDoc);
@@ -208,20 +216,21 @@ public class EventTest extends ComplexTestCase {
* @see com.sun.star.awt.XKeyHandler
* @see com.sun.star.awt.XMouseClickHandler
*/
- public void checkChartDocument(){
-
- XChartDocument xDoc = null;
-
- try{
- xDoc = m_SOF.createChartDoc("ChartTest");
- } catch (com.sun.star.uno.Exception e){
- failed("Could not create a chart document: " +e.toString());
- }
-
- checkListener(xDoc);
-
- closeDoc(xDoc);
- }
+// TODO!
+// @Test public void checkChartDocument(){
+//
+// XChartDocument xDoc = null;
+//
+// try{
+// xDoc = m_SOF.createChartDoc("ChartTest");
+// } catch (com.sun.star.uno.Exception e){
+// fail("Could not create a chart document: " +e.toString());
+// }
+//
+// checkListener(xDoc);
+//
+// closeDoc(xDoc);
+// }
/**
* creates a math document and check the <CODE>XMouseClickHandler</CODE> and
@@ -229,14 +238,14 @@ public class EventTest extends ComplexTestCase {
* @see com.sun.star.awt.XKeyHandler
* @see com.sun.star.awt.XMouseClickHandler
*/
- public void checkMathDocument(){
+ @Test public void checkMathDocument(){
XComponent xDoc = null;
try{
xDoc = m_SOF.createMathDoc("MathTest");
} catch (com.sun.star.uno.Exception e){
- failed("Could not create a math document: " +e.toString());
+ fail("Could not create a math document: " +e.toString());
}
checkListener(xDoc);
@@ -250,14 +259,14 @@ public class EventTest extends ComplexTestCase {
* @see com.sun.star.awt.XKeyHandler
* @see com.sun.star.awt.XMouseClickHandler
*/
- public void checkDrawDocument(){
+ @Test public void checkDrawDocument(){
XComponent xDoc = null;
try{
xDoc = m_SOF.createDrawDoc("DrawTest");
} catch (com.sun.star.uno.Exception e){
- failed("Could not create a draw document: " +e.toString());
+ fail("Could not create a draw document: " +e.toString());
}
checkListener(xDoc);
@@ -271,14 +280,14 @@ public class EventTest extends ComplexTestCase {
* @see com.sun.star.awt.XKeyHandler
* @see com.sun.star.awt.XMouseClickHandler
*/
- public void checkCalcDocument(){
+ @Test public void checkCalcDocument(){
XSpreadsheetDocument xDoc = null;
try{
xDoc = m_SOF.createCalcDoc("CalcTest");
} catch (com.sun.star.uno.Exception e){
- failed("Could not create a calc document: " +e.toString());
+ fail("Could not create a calc document: " +e.toString());
}
checkListener(xDoc);
@@ -293,7 +302,7 @@ public class EventTest extends ComplexTestCase {
*/
private void checkListener(XInterface xDoc){
- XModel xModel = (XModel) UnoRuntime.queryInterface(XModel.class, xDoc);
+ XModel xModel = UnoRuntime.queryInterface(XModel.class, xDoc);
XUserInputInterception xUII = getUII(xModel);
@@ -320,15 +329,15 @@ public class EventTest extends ComplexTestCase {
xUII.addKeyHandler(keyListener);
- log.println("starting thread to check the key listener...");
+ System.out.println("starting thread to check the key listener...");
EventTrigger et = new EventTrigger(xModel, EventTriggerType.KEY_TEXT_INTO_DOC);
et.run();
util.utils.shortWait(m_threadWait);
- log.println("key listener thread should be finished.");
+ System.out.println("key listener thread should be finished.");
- assure("key event does not work!", m_keyPressed && m_keyReleased);
+ assertTrue("key event does not work!", m_keyPressed && m_keyReleased);
xUII.removeKeyHandler(keyListener);
}
@@ -354,15 +363,15 @@ public class EventTest extends ComplexTestCase {
xUII.addMouseClickHandler(mouseListener);
- log.println("starting thread to check the mouse listener...");
+ System.out.println("starting thread to check the mouse listener...");
EventTrigger et = new EventTrigger(xModel, EventTriggerType.MOUSE_KLICK_INTO_DOC);
et.run();
util.utils.shortWait(m_threadWait);
- log.println("mouse listener thread should be finished.");
+ System.out.println("mouse listener thread should be finished.");
- assure("mouse event does not work!", m_mousePressed && m_mouseReleased);
+ assertTrue("mouse event does not work!", m_mousePressed && m_mouseReleased);
xUII.removeMouseClickHandler(mouseListener);
}
@@ -375,10 +384,9 @@ public class EventTest extends ComplexTestCase {
XController xController = xModel.getCurrentController();
- XUserInputInterception xUII = (XUserInputInterception) UnoRuntime.queryInterface(
- XUserInputInterception.class, xController);
+ XUserInputInterception xUII = UnoRuntime.queryInterface(XUserInputInterception.class, xController);
if (xUII == null) {
- failed("could not get XUserInputInterception from XContoller", true);
+ fail("could not get XUserInputInterception from XContoller");
}
return xUII;
}
@@ -395,7 +403,7 @@ public class EventTest extends ComplexTestCase {
* @return returns <CODE>TRUE</CODE> in erery case
*/
public boolean keyPressed( KeyEvent oEvent ){
- log.println("XKeyHandler: keyPressed-Event");
+ System.out.println("XKeyHandler: keyPressed-Event");
m_keyPressed = true;
return true;
}
@@ -406,7 +414,7 @@ public class EventTest extends ComplexTestCase {
* @return returns <CODE>TRUE</CODE> in erery case
*/
public boolean keyReleased( KeyEvent oEvent ){
- log.println("XKeyHandler: keyReleased-Event");
+ System.out.println("XKeyHandler: keyReleased-Event");
m_keyReleased = true;
return true;
}
@@ -415,7 +423,7 @@ public class EventTest extends ComplexTestCase {
* @param oEvent refers to the object that fired the event.
*/
public void disposing( EventObject oEvent ){
- log.println("XKeyHandler: disposing-Event");
+ System.out.println("XKeyHandler: disposing-Event");
}
}
@@ -431,7 +439,7 @@ public class EventTest extends ComplexTestCase {
* @return returns <CODE>TRUE</CODE> in erery case
*/
public boolean mousePressed( MouseEvent oEvent ){
- log.println("XMouseClickHandler: mousePressed-Event");
+ System.out.println("XMouseClickHandler: mousePressed-Event");
m_mousePressed = true;
return true;
}
@@ -442,7 +450,7 @@ public class EventTest extends ComplexTestCase {
* @return returns <CODE>TRUE</CODE> in erery case
*/
public boolean mouseReleased( MouseEvent oEvent ){
- log.println("XMouseClickHandler: mouseReleased-Event");
+ System.out.println("XMouseClickHandler: mouseReleased-Event");
m_mouseReleased = true;
return true;
}
@@ -451,7 +459,7 @@ public class EventTest extends ComplexTestCase {
* @param oEvent refers to the object that fired the event.
*/
public void disposing( EventObject oEvent ){
- log.println("XMouseClickHandler: disposing-Event");
+ System.out.println("XMouseClickHandler: disposing-Event");
}
};
@@ -529,7 +537,7 @@ public class EventTest extends ComplexTestCase {
// get the position and the range of a scroll bar
XWindow xWindow = at.getCurrentWindow(
- (XMultiServiceFactory) param.getMSF(),
+ getMSF(),
xModel);
XAccessible xRoot = at.getAccessibleObject(xWindow);
@@ -537,7 +545,7 @@ public class EventTest extends ComplexTestCase {
XAccessibleContext xPanel = at.getAccessibleObjectForRole(xRoot, AccessibleRole.PANEL);
- XAccessibleComponent xPanelCont = (XAccessibleComponent) UnoRuntime.queryInterface(XAccessibleComponent.class, xPanel);
+ XAccessibleComponent xPanelCont = UnoRuntime.queryInterface(XAccessibleComponent.class, xPanel);
// the position of the panel
Point point = xPanelCont.getLocationOnScreen();
@@ -549,15 +557,15 @@ public class EventTest extends ComplexTestCase {
Robot rob = new Robot();
int x = point.X + (rect.Width / 2);
int y = point.Y + (rect.Height / 2);
- log.println("try to klick into the middle of the document");
+ System.out.println("try to klick into the middle of the document");
rob.mouseMove(x, y);
rob.mousePress(InputEvent.BUTTON1_MASK);
rob.mouseRelease(InputEvent.BUTTON1_MASK);
} catch (java.awt.AWTException e) {
- log.println("couldn't press mouse button");
+ System.out.println("couldn't press mouse button");
}
} catch (java.lang.Exception e){
- log.println("could not click into the scroll bar: " + e.toString());
+ System.out.println("could not click into the scroll bar: " + e.toString());
}
}
@@ -569,11 +577,11 @@ public class EventTest extends ComplexTestCase {
private void keyIntoDoc(){
try {
Robot rob = new Robot();
- log.println("try to press 'A'");
+ System.out.println("try to press 'A'");
rob.keyPress(java.awt.event.KeyEvent.VK_A);
rob.keyRelease(java.awt.event.KeyEvent.VK_A);
} catch (java.awt.AWTException e) {
- log.println("couldn't press key");
+ System.out.println("couldn't press key");
}
}
@@ -590,5 +598,30 @@ public class EventTest extends ComplexTestCase {
/** write some text into a spread sheet*/
final public static int KEY_TEXT_INTO_DOC = 2;
- }
+ }
+
+
+
+
+ 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();
+
} \ No newline at end of file
diff --git a/framework/qa/complex/XUserInputInterception/makefile.mk b/framework/qa/complex/XUserInputInterception/makefile.mk
index d3ca648b02..8b08bec171 100644
--- a/framework/qa/complex/XUserInputInterception/makefile.mk
+++ b/framework/qa/complex/XUserInputInterception/makefile.mk
@@ -24,66 +24,110 @@
# for a copy of the LGPLv3 License.
#
#*************************************************************************
-PRJ = ..$/..$/..
-TARGET = EventTest
-PRJNAME = framework
-PACKAGE = complex$/XUserInputInterception
-
-# --- 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 = EventTest.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
+# we don't want something like this.
+# .IF "$(OS)"=="LINUX"
+# nothing .PHONY:
+# @echo "Test marked as failed on this platform"
+# .END
-# test looks something like the.full.package.TestName
-CT_TEST = -o $(PACKAGE:s\$/\.\).$(JAVAFILES:b)
+PRJ = ../../..
+PRJNAME = framework
+TARGET = qa_complex_xuserinputinterception
-# start the runner application
-CT_APP = org.openoffice.Runner
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = complex/XUserInputInterception
-# --- Targets ------------------------------------------------------
+# here store only Files which contain a @Test
+JAVATESTFILES = \
+ EventTest.java
-.IF "$(depend)" == ""
-$(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props : ALLTAR
-.ELSE
-$(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props : ALLDEP
-.ENDIF
+# put here all other files
+JAVAFILES = $(JAVATESTFILES)
-.INCLUDE : target.mk
+JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
-#$(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
+# Sample how to debug
+# JAVAIFLAGS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9003,suspend=y
-RUN: run
+.END
-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 = EventTest
+# PRJNAME = framework
+# PACKAGE = complex$/XUserInputInterception
+#
+# # --- 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 = EventTest.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)
+#
+#
+#
diff --git a/framework/qa/complex/accelerators/AcceleratorsConfigurationTest.java b/framework/qa/complex/accelerators/AcceleratorsConfigurationTest.java
index a63baf116c..4faa454d1f 100644
--- a/framework/qa/complex/accelerators/AcceleratorsConfigurationTest.java
+++ b/framework/qa/complex/accelerators/AcceleratorsConfigurationTest.java
@@ -24,222 +24,332 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-
package complex.accelerators;
// imports
-import com.sun.star.awt.*;
-import com.sun.star.beans.*;
-import com.sun.star.container.*;
-import com.sun.star.embed.*;
-import com.sun.star.lang.*;
-import com.sun.star.ui.*;
-import com.sun.star.uno.*;
-import com.sun.star.util.*;
-
-import complexlib.ComplexTestCase;
-
-import java.lang.*;
-import java.util.*;
-
-import helper.*;
-
+import com.sun.star.awt.KeyEvent;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.embed.XStorage;
+import com.sun.star.embed.XTransactedObject;
+import com.sun.star.lang.XInitialization;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.ui.XAcceleratorConfiguration;
+import com.sun.star.ui.XUIConfigurationManager;
+import com.sun.star.ui.XUIConfigurationPersistence;
+import com.sun.star.ui.XUIConfigurationStorage;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.XChangesBatch;
+
+// import complex.accelerators.KeyMapping;
+
+
+// ---------- 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.FileHelper;
+import org.openoffice.test.OfficeConnection;
+import static org.junit.Assert.*;
+// ------------------------------------------
//-----------------------------------------------
+
/** @short todo document me
*/
-public class AcceleratorsConfigurationTest extends ComplexTestCase
+public class AcceleratorsConfigurationTest
{
+
/** points to the global uno service manager. */
private XMultiServiceFactory m_xSmgr = null;
-
/** the accelerator configuration for testing. */
private XAcceleratorConfiguration m_xGlobalAccelCfg = null;
private XAcceleratorConfiguration m_xModuleAccelCfg = null;
private XAcceleratorConfiguration m_xDocumentAccelCfg = null;
-
/** XCS/XCU based accelerator configuration. */
private XNameAccess m_xConfig = null;
- private XNameAccess m_xPrimaryKeys = null;
+ private XNameAccess m_xPrimaryKeys = null;
private XNameAccess m_xSecondaryKeys = null;
//-------------------------------------------
// test environment
-
//-----------------------------------------------
/** @short todo document me
*/
- public String[] getTestMethodNames()
- {
- return new String[]
- {
- "checkGlobalAccelCfg",
- "checkModuleAccelCfg",
- "checkDocumentAccelCfg"
- };
- }
-
+// public String[] getTestMethodNames()
+// {
+// return new String[]
+// {
+// "checkGlobalAccelCfg",
+// "checkModuleAccelCfg",
+// "checkDocumentAccelCfg"
+// };
+// }
//-----------------------------------------------
/** @short Create the environment for following tests.
*/
+ @Before
public void before()
- throws java.lang.Exception
+ throws java.lang.Exception
{
// get uno service manager from global test environment
- m_xSmgr = (XMultiServiceFactory)param.getMSF();
-
- m_xGlobalAccelCfg = (XAcceleratorConfiguration)UnoRuntime.queryInterface(
- XAcceleratorConfiguration.class,
- m_xSmgr.createInstance("com.sun.star.ui.GlobalAcceleratorConfiguration"));
- m_xModuleAccelCfg = (XAcceleratorConfiguration)UnoRuntime.queryInterface(
- XAcceleratorConfiguration.class,
- m_xSmgr.createInstance("com.sun.star.ui.ModuleAcceleratorConfiguration"));
- m_xDocumentAccelCfg = (XAcceleratorConfiguration)UnoRuntime.queryInterface(
- XAcceleratorConfiguration.class,
- m_xSmgr.createInstance("com.sun.star.ui.DocumentAcceleratorConfiguration"));
+ m_xSmgr = getMSF();
+
+ m_xGlobalAccelCfg = UnoRuntime.queryInterface(XAcceleratorConfiguration.class, m_xSmgr.createInstance("com.sun.star.ui.GlobalAcceleratorConfiguration"));
+ m_xModuleAccelCfg = UnoRuntime.queryInterface(XAcceleratorConfiguration.class, m_xSmgr.createInstance("com.sun.star.ui.ModuleAcceleratorConfiguration"));
+ m_xDocumentAccelCfg = UnoRuntime.queryInterface(XAcceleratorConfiguration.class, m_xSmgr.createInstance("com.sun.star.ui.DocumentAcceleratorConfiguration"));
String sConfigPath = "org.openoffice.Office.Accelerators";
boolean bReadOnly = false;
- XNameAccess m_xConfig = openConfig(m_xSmgr, sConfigPath, bReadOnly);
- if (m_xConfig != null)
+ XNameAccess m_xConfig2 = openConfig(m_xSmgr, sConfigPath, bReadOnly);
+ if (m_xConfig2 != null)
{
- m_xPrimaryKeys = (XNameAccess)UnoRuntime.queryInterface(XNameAccess.class, m_xConfig.getByName("PrimaryKeys"));
- m_xSecondaryKeys = (XNameAccess)UnoRuntime.queryInterface(XNameAccess.class, m_xConfig.getByName("SecondaryKeys"));
+ m_xPrimaryKeys = UnoRuntime.queryInterface(XNameAccess.class, m_xConfig2.getByName("PrimaryKeys"));
+ m_xSecondaryKeys = UnoRuntime.queryInterface(XNameAccess.class, m_xConfig2.getByName("SecondaryKeys"));
}
}
-
+
//-------------------------------------------
/** @short close the environment.
*/
+ @After
public void after()
- throws java.lang.Exception
+ throws java.lang.Exception
{
- m_xConfig = null;
- m_xGlobalAccelCfg = null;
- m_xModuleAccelCfg = null;
+ m_xConfig = null;
+ m_xGlobalAccelCfg = null;
+ m_xModuleAccelCfg = null;
m_xDocumentAccelCfg = null;
- m_xSmgr = null;
+ m_xSmgr = null;
}
//-------------------------------------------
/** @todo document me.
*/
+ @Test
public void checkGlobalAccelCfg()
- throws java.lang.Exception
+ throws java.lang.Exception
{
- log.println("\n---- check Global accelerator configuration: ----");
+ System.out.println("\n---- check Global accelerator configuration: ----");
String[] sKeys;
- XNameAccess xPrimaryAccess = (XNameAccess)UnoRuntime.queryInterface(XNameAccess.class,m_xPrimaryKeys.getByName("Global"));
- XNameAccess xSecondaryAccess = (XNameAccess)UnoRuntime.queryInterface(XNameAccess.class, m_xSecondaryKeys.getByName("Global"));
+ XNameAccess xPrimaryAccess = UnoRuntime.queryInterface(XNameAccess.class, m_xPrimaryKeys.getByName("Global"));
+ XNameAccess xSecondaryAccess = UnoRuntime.queryInterface(XNameAccess.class, m_xSecondaryKeys.getByName("Global"));
- sKeys = new String[] { "A_MOD1" };
+ sKeys = new String[]
+ {
+ "A_MOD1"
+ };
impl_checkGetKeyCommands(m_xGlobalAccelCfg, xPrimaryAccess, sKeys);
- sKeys = new String[] { "PASTE", "X_SHIFT" };
- String[] sCommands = new String[] { ".uno:test", ".uno:test" };
+ sKeys = new String[]
+ {
+ "PASTE", "X_SHIFT"
+ };
+ String[] sCommands = new String[]
+ {
+ ".uno:test", ".uno:test"
+ };
impl_checkSetKeyCommands(m_xGlobalAccelCfg, xPrimaryAccess, xSecondaryAccess, sKeys, sCommands);
- sKeys = new String[] { "C_MOD1", "CUT" };
+ sKeys = new String[]
+ {
+ "C_MOD1", "CUT"
+ };
impl_checkRemoveKeyCommands(m_xGlobalAccelCfg, xPrimaryAccess, xSecondaryAccess, sKeys);
- String[] sCommandList = new String[] { ".uno:Paste", ".uno:CloseWin" };
+ String[] sCommandList = new String[]
+ {
+ ".uno:Paste", ".uno:CloseWin"
+ };
impl_checkGetPreferredKeyEventsForCommandList(m_xGlobalAccelCfg, xPrimaryAccess, sCommandList);
}
//-------------------------------------------
/** @todo document me.
*/
+ @Test
public void checkModuleAccelCfg()
- throws java.lang.Exception
+ throws java.lang.Exception
{
String[] sModules = new String[]
{
"com.sun.star.frame.StartModule",
"com.sun.star.drawing.DrawingDocument",
"com.sun.star.presentation.PresentationDocument",
- "com.sun.star.sheet.SpreadsheetDocument",
+ "com.sun.star.sheet.SpreadsheetDocument",
"com.sun.star.text.TextDocument",
- // add other modules here
+ // add other modules here
};
- for (int i=0; i<sModules.length; ++i)
+ for (int i = 0; i < sModules.length; ++i)
{
- log.println("\n---- check accelerator configuration depending module: " + sModules[i] + " ----");
+ System.out.println("\n---- check accelerator configuration depending module: " + sModules[i] + " ----");
PropertyValue[] aProp = new PropertyValue[2];
aProp[0] = new PropertyValue();
- aProp[0].Name = "ModuleIdentifier";
+ aProp[0].Name = "ModuleIdentifier";
aProp[0].Value = sModules[i];
aProp[1] = new PropertyValue();
- aProp[1].Name = "Locale";
+ aProp[1].Name = "Locale";
aProp[1].Value = "en-US";
- XInitialization xInit = (XInitialization)UnoRuntime.queryInterface(XInitialization.class, m_xModuleAccelCfg);
+ XInitialization xInit = UnoRuntime.queryInterface(XInitialization.class, m_xModuleAccelCfg);
xInit.initialize(aProp); // to fill cache
-
- XNameAccess xPrimaryModules = (XNameAccess)UnoRuntime.queryInterface(XNameAccess.class, m_xPrimaryKeys.getByName("Modules"));
- XNameAccess xSecondaryModules = (XNameAccess)UnoRuntime.queryInterface(XNameAccess.class, m_xSecondaryKeys.getByName("Modules"));
+
+ XNameAccess xPrimaryModules = UnoRuntime.queryInterface(XNameAccess.class, m_xPrimaryKeys.getByName("Modules"));
+ XNameAccess xSecondaryModules = UnoRuntime.queryInterface(XNameAccess.class, m_xSecondaryKeys.getByName("Modules"));
String[] sKeys;
- XNameAccess xPrimaryAccess = (XNameAccess)UnoRuntime.queryInterface(XNameAccess.class, xPrimaryModules.getByName(sModules[i]));
- XNameAccess xSecondaryAccess = (XNameAccess)UnoRuntime.queryInterface(XNameAccess.class, xSecondaryModules.getByName(sModules[i]));
+ XNameAccess xPrimaryAccess = UnoRuntime.queryInterface(XNameAccess.class, xPrimaryModules.getByName(sModules[i]));
+ XNameAccess xSecondaryAccess = UnoRuntime.queryInterface(XNameAccess.class, xSecondaryModules.getByName(sModules[i]));
//--------------------------------------------
if (sModules[i].equals("com.sun.star.presentation.PresentationDocument"))
- sKeys = new String[] { "A_SHIFT_MOD1_MOD2" };
+ {
+ sKeys = new String[]
+ {
+ "A_SHIFT_MOD1_MOD2"
+ };
+ }
else if (sModules[i].equals("com.sun.star.sheet.SpreadsheetDocument"))
- sKeys = new String[] { "B_MOD1" };
+ {
+ sKeys = new String[]
+ {
+ "B_MOD1"
+ };
+ }
else if (sModules[i].equals("com.sun.star.text.TextDocument"))
- sKeys = new String[] { "F11_MOD1" };
+ {
+ sKeys = new String[]
+ {
+ "F11_MOD1"
+ };
+ }
else
- sKeys = new String[] { "A_MOD1" };
+ {
+ sKeys = new String[]
+ {
+ "A_MOD1"
+ };
+ }
impl_checkGetKeyCommands(m_xModuleAccelCfg, xPrimaryAccess, sKeys);
//--------------------------------------------
String[] sCommands;
if (sModules[i].equals("com.sun.star.presentation.PresentationDocument"))
{
- sKeys = new String[] { "A_SHIFT_MOD1_MOD2" };
- sCommands = new String[] { ".uno:test" };
+ sKeys = new String[]
+ {
+ "A_SHIFT_MOD1_MOD2"
+ };
+ sCommands = new String[]
+ {
+ ".uno:test"
+ };
}
else if (sModules[i].equals("com.sun.star.sheet.SpreadsheetDocument"))
{
- sKeys = new String[] { "B_MOD1" };
- sCommands = new String[] { ".uno:test" };
+ sKeys = new String[]
+ {
+ "B_MOD1"
+ };
+ sCommands = new String[]
+ {
+ ".uno:test"
+ };
}
else if (sModules[i].equals("com.sun.star.text.TextDocument"))
{
- sKeys = new String[] { "F11_MOD1" };
- sCommands = new String[] { ".uno:test" };
+ sKeys = new String[]
+ {
+ "F11_MOD1"
+ };
+ sCommands = new String[]
+ {
+ ".uno:test"
+ };
}
else
{
- sKeys = new String[] { "PASTE" };
- sCommands = new String[] { ".uno:test" };
+ sKeys = new String[]
+ {
+ "PASTE"
+ };
+ sCommands = new String[]
+ {
+ ".uno:test"
+ };
}
impl_checkSetKeyCommands(m_xModuleAccelCfg, xPrimaryAccess, xSecondaryAccess, sKeys, sCommands);
//--------------------------------------------
if (sModules[i].equals("com.sun.star.presentation.PresentationDocument"))
- sKeys = new String[] { "A_SHIFT_MOD1_MOD2" };
+ {
+ sKeys = new String[]
+ {
+ "A_SHIFT_MOD1_MOD2"
+ };
+ }
else if (sModules[i].equals("com.sun.star.sheet.SpreadsheetDocument"))
- sKeys = new String[] { "F5_SHIFT_MOD1" };
+ {
+ sKeys = new String[]
+ {
+ "F5_SHIFT_MOD1"
+ };
+ }
else if (sModules[i].equals("com.sun.star.text.TextDocument"))
- sKeys = new String[] { "BACKSPACE_MOD2" };
+ {
+ sKeys = new String[]
+ {
+ "BACKSPACE_MOD2"
+ };
+ }
else
- sKeys = new String[] { "C_MOD1" };
+ {
+ sKeys = new String[]
+ {
+ "C_MOD1"
+ };
+ }
impl_checkRemoveKeyCommands(m_xModuleAccelCfg, xPrimaryAccess, xSecondaryAccess, sKeys);
//--------------------------------------------
String[] sCommandList;
if (sModules[i].equals("com.sun.star.presentation.PresentationDocument"))
- sCommandList = new String[] { ".uno:Presentation" };
+ {
+ sCommandList = new String[]
+ {
+ ".uno:Presentation"
+ };
+ }
else if (sModules[i].equals("com.sun.star.sheet.SpreadsheetDocument"))
- sCommandList = new String[] { ".uno:InsertCell" };
+ {
+ sCommandList = new String[]
+ {
+ ".uno:InsertCell"
+ };
+ }
else if (sModules[i].equals("com.sun.star.text.TextDocument"))
- sCommandList = new String[] { ".uno:SelectionModeBlock" };
+ {
+ sCommandList = new String[]
+ {
+ ".uno:SelectionModeBlock"
+ };
+ }
else
- sCommandList = new String[] { ".uno:Cut" };
+ {
+ sCommandList = new String[]
+ {
+ ".uno:Cut"
+ };
+ }
impl_checkGetPreferredKeyEventsForCommandList(m_xModuleAccelCfg, xPrimaryAccess, sCommandList);
}
}
@@ -247,58 +357,61 @@ public class AcceleratorsConfigurationTest extends ComplexTestCase
//-------------------------------------------
/** @todo document me.
*/
+ @Test
public void checkDocumentAccelCfg()
- throws java.lang.Exception
+ throws java.lang.Exception
{
- log.println("\n---- check Document accelerator configuration: ----");
+ System.out.println("\n---- check Document accelerator configuration: ----");
String sDocCfgName;
- sDocCfgName = "file:///c:/test.cfg";
+ String tempDirURL = util.utils.getOfficeTemp/*Dir*/(getMSF());
+ sDocCfgName = FileHelper.appendPath(tempDirURL, "test.cfg");
+ // sDocCfgName = "file:///c:/test.cfg";
SaveDocumentAcceleratorConfiguration(sDocCfgName);
- sDocCfgName = "file:///c:/test.cfg";
- LoadDocumentAcceleratorConfiguration(sDocCfgName);
+ // sDocCfgName = "file:///c:/test.cfg";
+ LoadDocumentAcceleratorConfiguration(sDocCfgName);
}
//-------------------------------------------
/** @todo document me.
*/
private void impl_checkGetKeyCommands(XAcceleratorConfiguration xAccelCfg, XNameAccess xAccess, String[] sKeys)
- throws java.lang.Exception
+ throws java.lang.Exception
{
- log.println("check getKeyCommands...");
+ System.out.println("check getKeyCommands...");
- for (int i=0; i<sKeys.length; ++i)
+ for (int i = 0; i < sKeys.length; ++i)
{
- if (xAccess.hasByName(sKeys[i]) && getCommandFromConfiguration(xAccess, sKeys[i]).length()>0)
+ if (xAccess.hasByName(sKeys[i]) && getCommandFromConfiguration(xAccess, sKeys[i]).length() > 0)
{
- log.println("** get command by " + sKeys[i] + " **");
+ System.out.println("** get command by " + sKeys[i] + " **");
String sCmdFromCache = new String(); // get a value using XAcceleratorConfiguration API
String sCmdFromConfiguration = new String(); // get a value using configuration API
// GET shortcuts/commands using XAcceleratorConfiguration API
sCmdFromCache = xAccelCfg.getCommandByKeyEvent(convertShortcut2AWTKey(sKeys[i]));
- log.println(sKeys[i] + "-->" + sCmdFromCache + ", by XAcceleratorConfiguration API");
+ System.out.println(sKeys[i] + "-->" + sCmdFromCache + ", by XAcceleratorConfiguration API");
// GET shortcuts/commands using configuration API
sCmdFromConfiguration = getCommandFromConfiguration(xAccess, sKeys[i]);
- log.println(sKeys[i] + "-->" + sCmdFromConfiguration + ", by configuration API");
+ System.out.println(sKeys[i] + "-->" + sCmdFromConfiguration + ", by configuration API");
- assure("values are different by XAcceleratorConfiguration API and configuration API!", sCmdFromCache.equals(sCmdFromConfiguration));
+ assertTrue("values are different by XAcceleratorConfiguration API and configuration API!", sCmdFromCache.equals(sCmdFromConfiguration));
String sLocale = "es";
setOfficeLocale(sLocale);
sCmdFromConfiguration = getCommandFromConfiguration(xAccess, sKeys[i]);
- log.println(sKeys[i] + "-->" + sCmdFromConfiguration + ", by configuration API" + " for locale:"+ getOfficeLocale());
+ System.out.println(sKeys[i] + "-->" + sCmdFromConfiguration + ", by configuration API" + " for locale:" + getOfficeLocale());
sLocale = "en-US";
setOfficeLocale(sLocale); //reset to default locale
}
else
{
- log.println(sKeys[i] + " doesn't exist!");
+ System.out.println(sKeys[i] + " doesn't exist!");
}
}
}
@@ -307,20 +420,24 @@ public class AcceleratorsConfigurationTest extends ComplexTestCase
/** @todo document me.
*/
private void impl_checkSetKeyCommands(XAcceleratorConfiguration xAccelCfg, XNameAccess xPrimaryAccess, XNameAccess xSecondaryAccess, String[] sKeys, String[] sCommands)
- throws java.lang.Exception
+ throws java.lang.Exception
{
- log.println("check setKeyCommands...");
+ System.out.println("check setKeyCommands...");
- for (int i=0; i<sKeys.length; ++i)
+ for (int i = 0; i < sKeys.length; ++i)
{
if (!xPrimaryAccess.hasByName(sKeys[i]) && !xSecondaryAccess.hasByName(sKeys[i]))
{
xAccelCfg.setKeyEvent(convertShortcut2AWTKey(sKeys[i]), sCommands[i]);
xAccelCfg.store();
if (xPrimaryAccess.hasByName(sKeys[i]))
- log.println("add " + sKeys[i] + " successfully!");
+ {
+ System.out.println("add " + sKeys[i] + " successfully!");
+ }
else
- log.println("add " + sKeys[i] + " failed!");
+ {
+ System.out.println("add " + sKeys[i] + " failed!");
+ }
}
else if (xPrimaryAccess.hasByName(sKeys[i]))
{
@@ -332,12 +449,18 @@ public class AcceleratorsConfigurationTest extends ComplexTestCase
String sChangedCommand = getCommandFromConfiguration(xPrimaryAccess, sKeys[i]);
if (sCommands[i].equals(sChangedCommand))
- log.println("change " + sKeys[i] + " successfully!");
+ {
+ System.out.println("change " + sKeys[i] + " successfully!");
+ }
else
- log.println("change " + sKeys[i] + " failed!");
+ {
+ System.out.println("change " + sKeys[i] + " failed!");
+ }
}
else
- log.println(sKeys[i] + " already exist!");
+ {
+ System.out.println(sKeys[i] + " already exist!");
+ }
}
else if (xSecondaryAccess.hasByName(sKeys[i]))
{
@@ -349,12 +472,18 @@ public class AcceleratorsConfigurationTest extends ComplexTestCase
String sChangedCommand = getCommandFromConfiguration(xPrimaryAccess, sKeys[i]);
if (sCommands[i].equals(sChangedCommand))
- log.println("change " + sKeys[i] + " successfully!");
+ {
+ System.out.println("change " + sKeys[i] + " successfully!");
+ }
else
- log.println("change " + sKeys[i] + " failed!");
+ {
+ System.out.println("change " + sKeys[i] + " failed!");
+ }
}
else
- log.println(sKeys[i] + " already exist!");
+ {
+ System.out.println(sKeys[i] + " already exist!");
+ }
}
}
}
@@ -363,33 +492,41 @@ public class AcceleratorsConfigurationTest extends ComplexTestCase
/** @todo document me.
*/
private void impl_checkRemoveKeyCommands(XAcceleratorConfiguration xAccelCfg, XNameAccess xPrimaryAccess, XNameAccess xSecondaryAccess, String[] sKeys)
- throws java.lang.Exception
+ throws java.lang.Exception
{
- log.println("check removeKeyCommands...");
+ System.out.println("check removeKeyCommands...");
- for (int i=0; i<sKeys.length; i++)
+ for (int i = 0; i < sKeys.length; i++)
{
if (!xPrimaryAccess.hasByName(sKeys[i]) && !xSecondaryAccess.hasByName(sKeys[i]))
{
- log.println(sKeys[i] + " doesn't exist!");
+ System.out.println(sKeys[i] + " doesn't exist!");
}
else if (xPrimaryAccess.hasByName(sKeys[i]))
{
xAccelCfg.removeKeyEvent(convertShortcut2AWTKey(sKeys[i]));
xAccelCfg.store();
if (!xPrimaryAccess.hasByName(sKeys[i]))
- log.println("Remove " + sKeys[i] + " successfully!");
+ {
+ System.out.println("Remove " + sKeys[i] + " successfully!");
+ }
else
- log.println("Remove " + sKeys[i] + " failed!");
+ {
+ System.out.println("Remove " + sKeys[i] + " failed!");
+ }
}
else if (xSecondaryAccess.hasByName(sKeys[i]))
{
xAccelCfg.removeKeyEvent(convertShortcut2AWTKey(sKeys[i]));
xAccelCfg.store();
if (!xSecondaryAccess.hasByName(sKeys[i]))
- log.println("Remove " + sKeys[i] + " successfully!");
+ {
+ System.out.println("Remove " + sKeys[i] + " successfully!");
+ }
else
- log.println("Remove " + sKeys[i] + " failed!");
+ {
+ System.out.println("Remove " + sKeys[i] + " failed!");
+ }
}
}
}
@@ -398,25 +535,29 @@ public class AcceleratorsConfigurationTest extends ComplexTestCase
/** @todo document me.
*/
private void impl_checkGetPreferredKeyEventsForCommandList(XAcceleratorConfiguration xAccelCfg, XNameAccess xPrimaryAccess, String[] sCommandList)
- throws java.lang.Exception
+ throws java.lang.Exception
{
- log.println("check getPreferredKeyEventsForCommandList...");
+ System.out.println("check getPreferredKeyEventsForCommandList...");
Object[] oKeyEvents = xAccelCfg.getPreferredKeyEventsForCommandList(sCommandList);
for (int i = 0; i < oKeyEvents.length; i++)
{
- log.println("get preferred key for command "+ sCommandList[i] + ":");
+ System.out.println("get preferred key for command " + sCommandList[i] + ":");
- KeyEvent aKeyEvent = (KeyEvent)AnyConverter.toObject(KeyEvent.class, oKeyEvents[i]);
+ KeyEvent aKeyEvent = (KeyEvent) AnyConverter.toObject(KeyEvent.class, oKeyEvents[i]);
String sKeyEvent = convertAWTKey2Shortcut(aKeyEvent);
- log.println(sKeyEvent);
+ System.out.println(sKeyEvent);
String sCmdFromConfiguration = getCommandFromConfiguration(xPrimaryAccess, sKeyEvent);
- log.println(sCmdFromConfiguration);
+ System.out.println(sCmdFromConfiguration);
if (sCommandList[i].equals(sCmdFromConfiguration))
- log.println("get preferred key correctly!");
+ {
+ System.out.println("get preferred key correctly!");
+ }
else
- log.println("get preferred key failed!");
+ {
+ System.out.println("get preferred key failed!");
+ }
}
}
@@ -424,18 +565,20 @@ public class AcceleratorsConfigurationTest extends ComplexTestCase
/** @todo document me.
*/
private String getCommandFromConfiguration(XNameAccess xAccess, String sKey)
- throws java.lang.Exception
+ throws java.lang.Exception
{
String sCommand = new String();
if (xAccess.hasByName(sKey))
{
- XNameAccess xKey = (XNameAccess)UnoRuntime.queryInterface(XNameAccess.class, xAccess.getByName(sKey));
- XNameAccess xCommand = (XNameAccess)UnoRuntime.queryInterface(XNameAccess.class, xKey.getByName("Command"));
+ XNameAccess xKey = UnoRuntime.queryInterface(XNameAccess.class, xAccess.getByName(sKey));
+ XNameAccess xCommand = UnoRuntime.queryInterface(XNameAccess.class, xKey.getByName("Command"));
String sLocale = getOfficeLocale();
- if (xCommand.hasByName(sLocale))
- sCommand = (String)UnoRuntime.queryInterface(String.class, xCommand.getByName(sLocale));
+ if (xCommand.hasByName(sLocale))
+ {
+ sCommand = UnoRuntime.queryInterface(String.class, xCommand.getByName(sLocale));
+ }
}
return sCommand;
@@ -445,52 +588,54 @@ public class AcceleratorsConfigurationTest extends ComplexTestCase
/** @todo document me.
*/
private void insertKeyToConfiguration(XNameAccess xAccess, String sKey, String sCommand)
- throws java.lang.Exception
+ throws java.lang.Exception
{
- XNameContainer xContainer = (XNameContainer)UnoRuntime.queryInterface(XNameContainer.class, xAccess);
+ XNameContainer xContainer = UnoRuntime.queryInterface(XNameContainer.class, xAccess);
if (!xContainer.hasByName(sKey))
{
- XSingleServiceFactory xFac = (XSingleServiceFactory)UnoRuntime.queryInterface(XSingleServiceFactory.class, xContainer);
- XInterface xInst = (XInterface)UnoRuntime.queryInterface(XInterface.class, xFac.createInstance());
+ XSingleServiceFactory xFac = UnoRuntime.queryInterface(XSingleServiceFactory.class, xContainer);
+ XInterface xInst = UnoRuntime.queryInterface(XInterface.class, xFac.createInstance());
xContainer.insertByName(sKey, xInst);
}
- XNameAccess xKey = (XNameAccess)UnoRuntime.queryInterface(XNameAccess.class, xContainer.getByName(sKey));
- XNameContainer xCommand = (XNameContainer)UnoRuntime.queryInterface(XNameContainer.class, xKey.getByName("Command"));
+ XNameAccess xKey = UnoRuntime.queryInterface(XNameAccess.class, xContainer.getByName(sKey));
+ XNameContainer xCommand = UnoRuntime.queryInterface(XNameContainer.class, xKey.getByName("Command"));
String sLocale = getOfficeLocale();
if (xCommand.hasByName(sLocale))
+ {
xCommand.insertByName(sLocale, sCommand);
+ }
else
+ {
xCommand.replaceByName(sLocale, sCommand);
+ }
}
//-------------------------------------------
/** @todo document me.
*/
private void removeKeyFromConfiguration(XNameAccess xAccess, String sKey)
- throws java.lang.Exception
+ throws java.lang.Exception
{
- XNameContainer xContainer = (XNameContainer)UnoRuntime.queryInterface(XNameContainer.class, xAccess);
+ XNameContainer xContainer = UnoRuntime.queryInterface(XNameContainer.class, xAccess);
if (xContainer.hasByName(sKey))
+ {
xContainer.removeByName(sKey);
+ }
}
//-------------------------------------------
/** @todo document me.
*/
private void LoadDocumentAcceleratorConfiguration(String sDocCfgName)
- throws java.lang.Exception
+ throws java.lang.Exception
{
- XSingleServiceFactory xStorageFactory = (XSingleServiceFactory)UnoRuntime.queryInterface(
- XSingleServiceFactory.class,
- m_xSmgr.createInstance("com.sun.star.embed.StorageFactory"));
+ XSingleServiceFactory xStorageFactory = UnoRuntime.queryInterface(XSingleServiceFactory.class, m_xSmgr.createInstance("com.sun.star.embed.StorageFactory"));
Object aArgs[] = new Object[2];
aArgs[0] = sDocCfgName;
aArgs[1] = new Integer(com.sun.star.embed.ElementModes.READ);
- XStorage xRootStorage = (XStorage)UnoRuntime.queryInterface(
- XStorage.class,
- xStorageFactory.createInstanceWithArguments(aArgs));
+ XStorage xRootStorage = UnoRuntime.queryInterface(XStorage.class, xStorageFactory.createInstanceWithArguments(aArgs));
XStorage xUIConfig = xRootStorage.openStorageElement("Configurations2", com.sun.star.embed.ElementModes.READ);
@@ -500,58 +645,53 @@ public class AcceleratorsConfigurationTest extends ComplexTestCase
Object[] lArgs = new Object[1];
lArgs[0] = aProp;
- XInitialization xInit = (XInitialization)UnoRuntime.queryInterface(XInitialization.class, m_xDocumentAccelCfg);
+ XInitialization xInit = UnoRuntime.queryInterface(XInitialization.class, m_xDocumentAccelCfg);
xInit.initialize(lArgs);
- String test = m_xDocumentAccelCfg.getCommandByKeyEvent(convertShortcut2AWTKey("F2"));
- log.println(test);
+ // TODO: throws css::container::NoSuchElementException
+ try
+ {
+ String test = m_xDocumentAccelCfg.getCommandByKeyEvent(convertShortcut2AWTKey("F2"));
+ System.out.println(test);
+ }
+ catch(com.sun.star.container.NoSuchElementException e)
+ {
+ System.out.println("NoSuchElementException caught: " + e.getMessage());
+ }
}
//-------------------------------------------
/** @todo document me.
*/
private void SaveDocumentAcceleratorConfiguration(String sDocCfgName)
- throws java.lang.Exception
+ throws java.lang.Exception
{
- XSingleServiceFactory xStorageFactory = (XSingleServiceFactory)UnoRuntime.queryInterface(
- XSingleServiceFactory.class,
- m_xSmgr.createInstance("com.sun.star.embed.StorageFactory"));
+ XSingleServiceFactory xStorageFactory = UnoRuntime.queryInterface(XSingleServiceFactory.class, m_xSmgr.createInstance("com.sun.star.embed.StorageFactory"));
Object aArgs[] = new Object[2];
aArgs[0] = sDocCfgName;
aArgs[1] = new Integer(com.sun.star.embed.ElementModes.WRITE);
- XStorage xRootStorage = (XStorage)UnoRuntime.queryInterface(
- XStorage.class,
- xStorageFactory.createInstanceWithArguments(aArgs));
+ XStorage xRootStorage = UnoRuntime.queryInterface(XStorage.class, xStorageFactory.createInstanceWithArguments(aArgs));
XStorage xUIConfig = xRootStorage.openStorageElement("Configurations2", com.sun.star.embed.ElementModes.WRITE);
- XUIConfigurationManager xCfgMgr = (XUIConfigurationManager)UnoRuntime.queryInterface(
- XUIConfigurationManager.class,
- m_xSmgr.createInstance("com.sun.star.ui.UIConfigurationManager"));
+ XUIConfigurationManager xCfgMgr = UnoRuntime.queryInterface(XUIConfigurationManager.class, m_xSmgr.createInstance("com.sun.star.ui.UIConfigurationManager"));
- XUIConfigurationStorage xUICfgStore = (XUIConfigurationStorage)UnoRuntime.queryInterface(
- XUIConfigurationStorage.class,
- xCfgMgr);
+ XUIConfigurationStorage xUICfgStore = UnoRuntime.queryInterface(XUIConfigurationStorage.class, xCfgMgr);
xUICfgStore.setStorage(xUIConfig);
- XPropertySet xUIConfigProps = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, xUIConfig);
+ XPropertySet xUIConfigProps = UnoRuntime.queryInterface(XPropertySet.class, xUIConfig);
xUIConfigProps.setPropertyValue("MediaType", "application/vnd.sun.xml.ui.configuration");
if (xCfgMgr != null)
{
- XAcceleratorConfiguration xTargetAccMgr = (XAcceleratorConfiguration)UnoRuntime.queryInterface(
- XAcceleratorConfiguration.class,
- xCfgMgr.getShortCutManager());
- XUIConfigurationPersistence xCommit1 = (XUIConfigurationPersistence)UnoRuntime.queryInterface(
- XUIConfigurationPersistence.class, xTargetAccMgr);
- XUIConfigurationPersistence xCommit2 = (XUIConfigurationPersistence)UnoRuntime.queryInterface(
- XUIConfigurationPersistence.class, xCfgMgr);
+ XAcceleratorConfiguration xTargetAccMgr = UnoRuntime.queryInterface(XAcceleratorConfiguration.class, xCfgMgr.getShortCutManager());
+ XUIConfigurationPersistence xCommit1 = UnoRuntime.queryInterface(XUIConfigurationPersistence.class, xTargetAccMgr);
+ XUIConfigurationPersistence xCommit2 = UnoRuntime.queryInterface(XUIConfigurationPersistence.class, xCfgMgr);
xCommit1.store();
xCommit2.store();
- XTransactedObject xCommit3 = (XTransactedObject)UnoRuntime.queryInterface(
- XTransactedObject.class, xRootStorage);
+ XTransactedObject xCommit3 = UnoRuntime.queryInterface(XTransactedObject.class, xRootStorage);
xCommit3.commit();
}
}
@@ -560,7 +700,7 @@ public class AcceleratorsConfigurationTest extends ComplexTestCase
/** @todo document me.
*/
private com.sun.star.awt.KeyEvent convertShortcut2AWTKey(String sShortcut)
- throws java.lang.Exception
+ throws java.lang.Exception
{
com.sun.star.awt.KeyEvent aKeyEvent = new com.sun.star.awt.KeyEvent();
KeyMapping aKeyMapping = new KeyMapping();
@@ -570,11 +710,17 @@ public class AcceleratorsConfigurationTest extends ComplexTestCase
for (int i = 1; i < sShortcutSplits.length; i++)
{
if (sShortcutSplits[i].equals("SHIFT"))
+ {
aKeyEvent.Modifiers |= com.sun.star.awt.KeyModifier.SHIFT;
+ }
else if (sShortcutSplits[i].equals("MOD1"))
+ {
aKeyEvent.Modifiers |= com.sun.star.awt.KeyModifier.MOD1;
+ }
else if (sShortcutSplits[i].equals("MOD2"))
+ {
aKeyEvent.Modifiers |= com.sun.star.awt.KeyModifier.MOD2;
+ }
}
return aKeyEvent;
@@ -584,7 +730,7 @@ public class AcceleratorsConfigurationTest extends ComplexTestCase
/** @todo document me.
*/
private String convertAWTKey2Shortcut(com.sun.star.awt.KeyEvent aKeyEvent)
- throws java.lang.Exception
+ throws java.lang.Exception
{
String sShortcut;
@@ -592,11 +738,17 @@ public class AcceleratorsConfigurationTest extends ComplexTestCase
sShortcut = aKeyMapping.mapCode2Identifier(aKeyEvent.KeyCode);
if ((aKeyEvent.Modifiers & com.sun.star.awt.KeyModifier.SHIFT) == com.sun.star.awt.KeyModifier.SHIFT)
+ {
sShortcut += "_SHIFT";
+ }
if ((aKeyEvent.Modifiers & com.sun.star.awt.KeyModifier.MOD1) == com.sun.star.awt.KeyModifier.MOD1)
+ {
sShortcut += "_MOD1";
+ }
if ((aKeyEvent.Modifiers & com.sun.star.awt.KeyModifier.MOD2) == com.sun.star.awt.KeyModifier.MOD2)
+ {
sShortcut += "_MOD2";
+ }
return sShortcut;
}
@@ -605,7 +757,7 @@ public class AcceleratorsConfigurationTest extends ComplexTestCase
/** @todo document me.
*/
private String getOfficeLocale()
- throws java.lang.Exception
+ throws java.lang.Exception
{
String sLocale = new String();
@@ -615,9 +767,9 @@ public class AcceleratorsConfigurationTest extends ComplexTestCase
if (xRootConfig != null)
{
- XNameAccess xLocale = (XNameAccess)UnoRuntime.queryInterface(XNameAccess.class, xRootConfig.getByName("L10N"));
- XPropertySet xSet = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, xLocale);
- sLocale = (String)xSet.getPropertyValue("ooLocale");
+ XNameAccess xLocale = UnoRuntime.queryInterface(XNameAccess.class, xRootConfig.getByName("L10N"));
+ XPropertySet xSet = UnoRuntime.queryInterface(XPropertySet.class, xLocale);
+ sLocale = (String) xSet.getPropertyValue("ooLocale");
}
return sLocale;
@@ -626,8 +778,8 @@ public class AcceleratorsConfigurationTest extends ComplexTestCase
//-------------------------------------------
/** @todo document me.
*/
- private void setOfficeLocale(String sLocale)
- throws java.lang.Exception
+ private void setOfficeLocale(String sLocale)
+ throws java.lang.Exception
{
String sConfigPath = "org.openoffice.Setup";
boolean bReadOnly = false;
@@ -635,10 +787,10 @@ public class AcceleratorsConfigurationTest extends ComplexTestCase
if (xRootConfig != null)
{
- XNameAccess xLocale = (XNameAccess)UnoRuntime.queryInterface(XNameAccess.class, xRootConfig.getByName("L10N"));
- XPropertySet xSet = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, xLocale);
+ XNameAccess xLocale = UnoRuntime.queryInterface(XNameAccess.class, xRootConfig.getByName("L10N"));
+ XPropertySet xSet = UnoRuntime.queryInterface(XPropertySet.class, xLocale);
xSet.setPropertyValue("ooLocale", sLocale);
- XChangesBatch xBatch = (XChangesBatch)UnoRuntime.queryInterface(XChangesBatch.class, xRootConfig);
+ XChangesBatch xBatch = UnoRuntime.queryInterface(XChangesBatch.class, xRootConfig);
xBatch.commitChanges();
}
}
@@ -647,13 +799,11 @@ public class AcceleratorsConfigurationTest extends ComplexTestCase
/** @todo document me.
*/
private XNameAccess openConfig(XMultiServiceFactory xSMGR,
- String sConfigPath ,
- boolean bReadOnly )
- throws java.lang.Exception
+ String sConfigPath,
+ boolean bReadOnly)
+ throws java.lang.Exception
{
- XMultiServiceFactory xConfigRoot = (XMultiServiceFactory)UnoRuntime.queryInterface(
- XMultiServiceFactory.class,
- xSMGR.createInstance("com.sun.star.configuration.ConfigurationProvider"));
+ XMultiServiceFactory xConfigRoot = UnoRuntime.queryInterface(XMultiServiceFactory.class, xSMGR.createInstance("com.sun.star.configuration.ConfigurationProvider"));
PropertyValue[] lParams = new PropertyValue[2];
lParams[0] = new PropertyValue();
@@ -666,21 +816,44 @@ public class AcceleratorsConfigurationTest extends ComplexTestCase
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);
+ }
- XNameAccess xConfig = (XNameAccess)UnoRuntime.queryInterface(
- XNameAccess.class,
- aConfig);
+ XNameAccess xConfig = UnoRuntime.queryInterface(XNameAccess.class, aConfig);
if (xConfig == null)
+ {
throw new com.sun.star.uno.Exception("Could not open configuration \"" + sConfigPath + "\"");
+ }
return xConfig;
}
+
+ 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/accelerators/helper/KeyMapping.java b/framework/qa/complex/accelerators/KeyMapping.java
index ec538d53b6..5d40a9a09f 100644
--- a/framework/qa/complex/accelerators/helper/KeyMapping.java
+++ b/framework/qa/complex/accelerators/KeyMapping.java
@@ -70,7 +70,7 @@ public class KeyMapping
private IdentifierHashMap aIdentifierHashMap;
private CodeHashMap aCodeHashMap;
- KeyMapping()
+ public KeyMapping()
{
KeyIdentifierInfo[] aInfoMap = {
new KeyIdentifierInfo("0", new Short(com.sun.star.awt.Key.NUM0)),
diff --git a/framework/qa/complex/accelerators/helper/makefile.mk b/framework/qa/complex/accelerators/helper/makefile.mk
index a0d10f6881..189a5fddba 100644
--- a/framework/qa/complex/accelerators/helper/makefile.mk
+++ b/framework/qa/complex/accelerators/helper/makefile.mk
@@ -25,10 +25,10 @@
#
#*************************************************************************
-PRJ = ..$/..$/..$/..
+PRJ = ../../../..
TARGET = AcceleratorsConfigurationTest
PRJNAME = framework
-PACKAGE = complex$/accelerators$/helper
+PACKAGE = complex/accelerators/helper
# --- Settings -----------------------------------------------------
.INCLUDE: settings.mk
diff --git a/framework/qa/complex/accelerators/makefile.mk b/framework/qa/complex/accelerators/makefile.mk
index 3af496191d..7d54603248 100644
--- a/framework/qa/complex/accelerators/makefile.mk
+++ b/framework/qa/complex/accelerators/makefile.mk
@@ -24,63 +24,44 @@
# for a copy of the LGPLv3 License.
#
#*************************************************************************
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
+.ELSE
-PRJ = ..$/..$/..
-TARGET = AcceleratorsConfigurationTest
-PRJNAME = $(TARGET)
-PACKAGE = complex$/accelerators
-
-# --- Settings -----------------------------------------------------
-.INCLUDE: settings.mk
-
-#----- compile .java files -----------------------------------------
-
-JARFILES = ridl.jar unoil.jar jurt.jar juh.jar jut.jar java_uno.jar \
- OOoRunner.jar
-
-JAVAFILES = AcceleratorsConfigurationTest.java
-
-JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
-
-SUBDIRS=helper
+PRJ = ../../..
+PRJNAME = framework
+TARGET = qa_complex_accelerators
-#----- make a jar from compiled files ------------------------------
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = complex/accelerators
-MAXLINELENGTH = 100000
+# here store only Files which contain a @Test
+JAVATESTFILES = \
+ AcceleratorsConfigurationTest.java
-JARCLASSDIRS = $(PACKAGE)
-JARTARGET = $(TARGET).jar
-JARCOMPRESS = TRUE
+# put here all other files
+JAVAFILES = $(JAVATESTFILES) \
+ KeyMapping.java
-# --- Parameters for the test --------------------------------------
+JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
+#JARFILES = ridl.jar unoil.jar jurt.jar juh.jar jut.jar java_uno.jar \
+# OOoRunner.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
-# 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
-# test looks something like the.full.package.TestName
-CT_TEST = -o $(PACKAGE:s\$/\.\).$(JAVAFILES:b)
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+.INCLUDE: installationtest.mk
-# start the runner application
-CT_APP = org.openoffice.Runner
+ALLTAR : javatest
-# --- Targets ------------------------------------------------------
+.END
-#.IF "$(depend)" == ""
-#$(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props : ALLTAR
-#.ELSE
-#$(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props : ALLDEP
-#.ENDIF
-.INCLUDE : target.mk
-RUN: run
-run:
- +java -cp $(CLASSPATH) $(CT_APP) $(CT_TESTBASE) $(CT_APPEXECCOMMAND) $(CT_TEST)
+
diff --git a/framework/qa/complex/api_internal/CheckAPI.java b/framework/qa/complex/api_internal/CheckAPI.java
index 7042034e55..c712f0a8ee 100755
--- a/framework/qa/complex/api_internal/CheckAPI.java
+++ b/framework/qa/complex/api_internal/CheckAPI.java
@@ -28,7 +28,6 @@
package complex.api_internal;
// imports
-import complexlib.ComplexTestCase;
import helper.OfficeProvider;
import helper.ProcessHandler;
import com.sun.star.task.XJob;
@@ -38,16 +37,27 @@ import com.sun.star.beans.PropertyValue;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.beans.NamedValue;
-import java.io.PrintWriter;
import java.util.Vector;
import java.util.StringTokenizer;
+
+// ---------- junit imports -----------------
+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.*;
+// ------------------------------------------
+
/**
* This test executes the API tests internally in StarOffice. Prerequiste is
* that a OOoRunner.jar is registered inseide of StarOffice. Adjust the joblist
* inside of the ChekAPI.props to determine which tetss will be executed.
*/
-public class CheckAPI extends ComplexTestCase {
+public class CheckAPI {
// The name of the tested service
private final String testName = "StarOfficeAPI";
@@ -56,40 +66,52 @@ public class CheckAPI extends ComplexTestCase {
* Return all test methods.
* @return The test methods.
*/
- public String[] getTestMethodNames() {
- return new String[]{"checkAPI"};
- }
+// public String[] getTestMethodNames() {
+// return new String[]{"checkAPI"};
+// }
+
+ /**
+ * The test parameters
+ */
+ private static TestParameters param = null;
/**
+ *
+ */
+ @Before public void before()
+ {
+ param = new TestParameters();
+ }
+ /**
* Execute the API tests inside of the Office. If the Office crashes, it
* will be restarted and the job will continue after the one that caused the crash.
*/
- public void checkAPI() {
- log.println("Start with test");
+ @Test public void checkAPI() {
+ System.out.println("Start with test");
// if test is idle for 5 minutes, assume that it hangs and kill it.
- param.put("TimeOut", new Integer("300000"));
+ // param.put("TimeOut", new Integer("300000"));
/* AppProvider office = (AppProvider)dcl.getInstance("helper.OfficeProvider");
Object msf = office.getManager(param);
if (msf == null) {
failed("Could not connect an Office.");
}
param.put("ServiceFactory",msf); */
- XMultiServiceFactory xMSF = (XMultiServiceFactory)param.getMSF();
+ XMultiServiceFactory xMSF = getMSF();
Object oObj = null;
try {
oObj = xMSF.createInstance("org.openoffice.RunnerService");
}
catch(com.sun.star.uno.Exception e) {
- failed("Could not create Instance of 'org.openoffice.RunnerService'");
- }
- if ( oObj == null ) {
- failed("Cannot create 'org.openoffice.RunnerService'");
+ fail("Could not create Instance of 'org.openoffice.RunnerService'");
}
+ assertNotNull("Cannot create 'org.openoffice.RunnerService'", oObj);
+
// get the parameters for the internal test
String paramList = (String)param.get("ParamList");
Vector p = new Vector();
StringTokenizer paramTokens = new StringTokenizer(paramList, " ");
- while(paramTokens.hasMoreTokens()) {
+ while(paramTokens.hasMoreTokens())
+ {
p.add(paramTokens.nextToken());
}
int length = p.size()/2+1;
@@ -98,15 +120,17 @@ public class CheckAPI extends ComplexTestCase {
internalParams[i] = new NamedValue();
internalParams[i].Name = (String)p.get(i*2);
internalParams[i].Value = p.get(i*2+1);
- log.println("Name: "+internalParams[i].Name);
- log.println("Value: "+(String)internalParams[i].Value);
+ System.out.println("Name: "+internalParams[i].Name);
+ System.out.println("Value: "+(String)internalParams[i].Value);
}
// do we have test jobs?
String testJob = (String)param.get("job");
PropertyValue[]props;
- if (testJob==null) {
- if ( param.get("job1")==null ) {
+ if (testJob==null)
+ {
+ if ( param.get("job1")==null )
+ {
// get all test jobs from runner service
XPropertyAccess xPropAcc = (XPropertyAccess)UnoRuntime.queryInterface(XPropertyAccess.class, oObj);
props = xPropAcc.getPropertyValues();
@@ -131,13 +155,13 @@ public class CheckAPI extends ComplexTestCase {
props[0].Value = testJob;
}
- log.println("Props length: "+ props.length);
+ System.out.println("Props length: "+ props.length);
for (int i=0; i<props.length; i++) {
- XJob xJob = (XJob)UnoRuntime.queryInterface(XJob.class, oObj);
+ XJob xJob = UnoRuntime.queryInterface(XJob.class, oObj);
internalParams[length-1] = new NamedValue();
internalParams[length-1].Name = "-o";
internalParams[length-1].Value = props[i].Value;
- log.println("Executing: " + (String)props[i].Value);
+ System.out.println("Executing: " + (String)props[i].Value);
String erg = null;
@@ -146,8 +170,8 @@ public class CheckAPI extends ComplexTestCase {
}
catch(Throwable t) {
// restart and go on with test!!
- t.printStackTrace((PrintWriter)log);
- failed("Test run '" + (String)props[i].Value +"' could not be executed: Office crashed and is killed!", true);
+ t.printStackTrace();
+ fail("Test run '" + (String)props[i].Value +"' could not be executed: Office crashed and is killed!");
xMSF = null;
ProcessHandler handler = (ProcessHandler)param.get("AppProvider");
handler.kill();
@@ -163,12 +187,12 @@ public class CheckAPI extends ComplexTestCase {
oObj = xMSF.createInstance("org.openoffice.RunnerService");
}
catch(com.sun.star.uno.Exception e) {
- failed("Could not create Instance of 'org.openoffice.RunnerService'");
+ fail("Could not create Instance of 'org.openoffice.RunnerService'");
}
}
- log.println(erg);
+ System.out.println(erg);
String processedErg = parseResult(erg);
- assure("Run '" + (String)props[i].Value + "' has result '" + processedErg + "'", processedErg == null, true);
+ assertTrue("Run '" + (String)props[i].Value + "' has result '" + processedErg + "'", processedErg == null);
}
}
@@ -195,6 +219,31 @@ public class CheckAPI extends ComplexTestCase {
}
return processedErg;
}
+
+
+
+
+ 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/api_internal/makefile.mk b/framework/qa/complex/api_internal/makefile.mk
index 4d82ba2da6..f1a22011a8 100755
--- a/framework/qa/complex/api_internal/makefile.mk
+++ b/framework/qa/complex/api_internal/makefile.mk
@@ -25,64 +25,39 @@
#
#*************************************************************************
-PRJ = ..$/..$/..
-TARGET = CheckAPI
-PRJNAME = $(TARGET)
-PACKAGE = complex$/api_internal
-
-# --- 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 = CheckAPI.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_api_internal
-# test looks something like the.full.package.TestName
-CT_TEST = -o $(PACKAGE:s\$/\.\).$(JAVAFILES:b)
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = complex/api_internal
-# start the runner application
-CT_APP = org.openoffice.Runner
+# here store only Files which contain a @Test
+JAVATESTFILES = \
+ CheckAPI.java
-# --- Targets ------------------------------------------------------
+# put here all other files
+JAVAFILES = $(JAVATESTFILES)
-.IF "$(depend)" == ""
-ALL: ALLTAR $(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props
-.ELSE
-ALL: ALLDEP $(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props
-.ENDIF
+JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
+#JARFILES = ridl.jar unoil.jar jurt.jar juh.jar jut.jar java_uno.jar \
+# OOoRunner.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
-$(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
+# Sample how to debug
+# JAVAIFLAGS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9003,suspend=y
-.INCLUDE : target.mk
+.END
-RUN:
- +java -cp $(CLASSPATH) $(CT_APP) $(CT_APPEXECCOMMAND) $(CT_TESTBASE) $(CT_TEST)
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+.INCLUDE: installationtest.mk
-run: RUN
+ALLTAR : javatest
+.END
diff --git a/framework/qa/complex/broken_document/LoadDocument.java b/framework/qa/complex/broken_document/LoadDocument.java
index e1e27907d9..789544cef0 100755
--- a/framework/qa/complex/broken_document/LoadDocument.java
+++ b/framework/qa/complex/broken_document/LoadDocument.java
@@ -27,65 +27,74 @@
package complex.broken_document;
import com.sun.star.beans.PropertyValue;
-import com.sun.star.frame.FrameSearchFlag;
+// import com.sun.star.frame.FrameSearchFlag;
import com.sun.star.frame.XComponentLoader;
import com.sun.star.frame.XFrame;
import com.sun.star.lang.XMultiServiceFactory;
import com.sun.star.uno.UnoRuntime;
-import complexlib.ComplexTestCase;
+
+
+// ---------- 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 static org.junit.Assert.*;
+// ------------------------------------------
/**
* Check, if message boxes appear when the Office is in "headless" mode. Tests
* bug i15809. This test uses the broken document dbf.dbf.emf.
*/
-public class LoadDocument extends ComplexTestCase {
+public class LoadDocument {
/** defect file to load **/
- private final String mFileName = "dbf.dbf.emf";
+ // private final String mFileName = "dbf.dbf.emf";
/**
* Get all test methods.
* @return The test methods.
*/
- public String[] getTestMethodNames() {
- return new String[]{"checkHeadlessState"};
- }
+// public String[] getTestMethodNames() {
+// return new String[]{"checkHeadlessState"};
+// }
/**
* Start Office with "-headless" parameter, then
* load the broken document "dbf.dbf.emf", that brings a message box up in
* the ui, see if the headless mode of SOffice changes.
*/
- public void checkHeadlessState() {
- XMultiServiceFactory xMSF = (XMultiServiceFactory)param.getMSF();
+ @Test public void checkHeadlessState()
+ {
+ XMultiServiceFactory xMSF = getMSF();
XFrame xDesktop = null;
try {
- xDesktop = (XFrame)UnoRuntime.queryInterface(XFrame.class,
- xMSF.createInstance("com.sun.star.frame.Desktop"));
+ xDesktop = UnoRuntime.queryInterface(XFrame.class, xMSF.createInstance("com.sun.star.frame.Desktop"));
}
catch(com.sun.star.uno.Exception e) {
- failed("Could not create a desktop instance.");
+ fail("Could not create a desktop instance.");
}
- XComponentLoader xDesktopLoader = (XComponentLoader)
- UnoRuntime.queryInterface(XComponentLoader.class, xDesktop);
+ XComponentLoader xDesktopLoader = UnoRuntime.queryInterface(XComponentLoader.class, xDesktop);
System.out.println("xDektopLoader is null: " + (xDesktopLoader == null));
PropertyValue[] val = new PropertyValue[0];
- String workingDir = (String)param.get("WorkingDir") + System.getProperty("file.separator") + mFileName;
- System.out.println("Working dir: " + workingDir);
- String fileUrl = util.utils.getFullURL(workingDir);
+ // String workingDir = (String)param.get("WorkingDir") + System.getProperty("file.separator") + mFileName;
+ // System.out.println("Working dir: " + workingDir);
+ String fileUrl = complex.broken_document.TestDocument.getUrl("dbf.dbf.emf");
System.out.println("File Url: " + fileUrl);
try {
xDesktopLoader.loadComponentFromURL(fileUrl, "_blank", 0, val);
}
catch(com.sun.star.io.IOException e) {
- failed("Could not load document");
+ fail("Could not load document");
}
catch(com.sun.star.lang.IllegalArgumentException e) {
- failed("Could not load document");
+ fail("Could not load document");
}
// try again: headless mode defect now?
@@ -93,11 +102,35 @@ public class LoadDocument extends ComplexTestCase {
xDesktopLoader.loadComponentFromURL(fileUrl, "_blank", 0, val);
}
catch(com.sun.star.io.IOException e) {
- failed("Could not load document");
+ fail("Could not load document");
}
catch(com.sun.star.lang.IllegalArgumentException e) {
- failed("Could not load document");
+ fail("Could not load document");
}
}
+
+
+
+ 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/broken_document/TestDocument.java b/framework/qa/complex/broken_document/TestDocument.java
new file mode 100644
index 0000000000..f7b1dbfcbc
--- /dev/null
+++ b/framework/qa/complex/broken_document/TestDocument.java
@@ -0,0 +1,41 @@
+/*************************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+************************************************************************/
+
+package complex.broken_document;
+
+import java.io.File;
+import org.openoffice.test.OfficeFileUrl;
+
+final class TestDocument
+{
+ public static String getUrl(String name)
+ {
+ return OfficeFileUrl.getAbsolute(new File("test_documents", name));
+ }
+
+ private TestDocument() {}
+}
diff --git a/framework/qa/complex/broken_document/makefile.mk b/framework/qa/complex/broken_document/makefile.mk
index c8f24a9371..8b1cf2ac3b 100755
--- a/framework/qa/complex/broken_document/makefile.mk
+++ b/framework/qa/complex/broken_document/makefile.mk
@@ -25,56 +25,41 @@
#
#*************************************************************************
-PRJ = ..$/..$/..
-TARGET = CheckHeadlessState
-PRJNAME = $(TARGET)
-PACKAGE = complex$/broken_document
-# --- Settings -----------------------------------------------------
-.INCLUDE: settings.mk
-
-
-#----- compile .java files -----------------------------------------
-
-JARFILES = mysql.jar ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar
-JAVAFILES = LoadDocument.java
-JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
-
-#----- make a jar from compiled files ------------------------------
-
-MAXLINELENGTH = 100000
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
+.ELSE
-JARCLASSDIRS = $(PACKAGE)
-JARTARGET = $(TARGET).jar
-JARCOMPRESS = TRUE
+PRJ = ../../..
+PRJNAME = framework
+TARGET = qa_complex_broken_document
-# --- Parameters for the test --------------------------------------
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = complex/broken_document
-# 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
+# here store only Files which contain a @Test
+JAVATESTFILES = \
+ LoadDocument.java
-# test base is java complex
-CT_TESTBASE = -TestBase java_complex
+# put here all other files
+JAVAFILES = $(JAVATESTFILES) \
+ TestDocument.java
-# test looks something like the.full.package.TestName
-CT_TEST = -o $(PACKAGE:s\$/\.\).$(JAVAFILES:b)
+JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
+#JARFILES = ridl.jar unoil.jar jurt.jar juh.jar jut.jar java_uno.jar \
+# OOoRunner.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
-# start the runner application
-CT_APP = org.openoffice.Runner
+# Sample how to debug
+# JAVAIFLAGS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9003,suspend=y
-# the current directory for loading the document
-CT_WORKDIR = -WorkingDir $(PWD)
+.END
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+.INCLUDE: installationtest.mk
+ALLTAR : javatest
-RUN:
- +java -cp $(CLASSPATH) $(CT_APP) $(CT_APPEXECCOMMAND) $(CT_TESTBASE) $(CT_WORKDIR) $(CT_TEST)
+.END
-run: RUN
diff --git a/framework/qa/complex/broken_document/dbf.dbf.emf b/framework/qa/complex/broken_document/test_documents/dbf.dbf.emf
index 11e45e9df5..11e45e9df5 100755
--- a/framework/qa/complex/broken_document/dbf.dbf.emf
+++ b/framework/qa/complex/broken_document/test_documents/dbf.dbf.emf
diff --git a/framework/qa/complex/contextMenuInterceptor/CheckContextMenuInterceptor.java b/framework/qa/complex/contextMenuInterceptor/CheckContextMenuInterceptor.java
index 8cad076b2d..3447f9291e 100644
--- a/framework/qa/complex/contextMenuInterceptor/CheckContextMenuInterceptor.java
+++ b/framework/qa/complex/contextMenuInterceptor/CheckContextMenuInterceptor.java
@@ -1,4 +1,4 @@
-package contextMenuInterceptor;
+package complex.contextMenuInterceptor;
import com.sun.star.accessibility.AccessibleRole;
import com.sun.star.accessibility.XAccessible;
@@ -9,249 +9,289 @@ import com.sun.star.awt.Rectangle;
import com.sun.star.awt.XBitmap;
import com.sun.star.awt.XExtendedToolkit;
import com.sun.star.awt.XWindow;
-import com.sun.star.beans.PropertyValue;
import com.sun.star.beans.XPropertySet;
-import com.sun.star.beans.XPropertySetInfo;
-import com.sun.star.container.XIndexAccess;
import com.sun.star.drawing.XShape;
-import com.sun.star.frame.XComponentLoader;
-import com.sun.star.frame.XController;
-import com.sun.star.frame.XDesktop;
import com.sun.star.frame.XFrame;
import com.sun.star.frame.XModel;
import com.sun.star.lang.IndexOutOfBoundsException;
-import com.sun.star.lang.XComponent;
-import com.sun.star.lang.XInitialization;
import com.sun.star.lang.XMultiServiceFactory;
-import com.sun.star.lang.XTypeProvider;
-import com.sun.star.text.XTextDocument;
-import com.sun.star.ui.XContextMenuInterceptor;
import com.sun.star.ui.XContextMenuInterception;
+import com.sun.star.ui.XContextMenuInterceptor;
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.uno.Exception;
-import com.sun.star.util.CloseVetoException;
import com.sun.star.util.XCloseable;
-import com.sun.star.view.XViewSettingsSupplier;
-import complexlib.ComplexTestCase;
import java.awt.Robot;
import java.awt.event.InputEvent;
-import java.io.PrintWriter;
-import share.LogWriter;
+import java.io.File;
import util.AccessibilityTools;
import util.DesktopTools;
import util.DrawTools;
import util.SOfficeFactory;
import util.utils;
+import org.openoffice.test.OfficeFileUrl;
+
+// ---------- 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 static org.junit.Assert.*;
+// ------------------------------------------
/**
*
*/
-public class CheckContextMenuInterceptor extends ComplexTestCase {
+public class CheckContextMenuInterceptor
+{
+
XMultiServiceFactory xMSF = null;
XFrame xFrame = null;
Point point = null;
XWindow xWindow = null;
-
- public void before() {
- xMSF = (XMultiServiceFactory)param.getMSF();
- }
-
- public void after() {
- log.println("release the popup menu");
- try {
+ com.sun.star.lang.XComponent xDrawDoc;
+
+ @Before
+ public void before()
+ {
+ xMSF = getMSF();
+ }
+
+ @After
+ public void after()
+ {
+ System.out.println("release the popup menu");
+ try
+ {
Robot rob = new Robot();
int x = point.X;
int y = point.Y;
rob.mouseMove(x, y);
rob.mousePress(InputEvent.BUTTON1_MASK);
rob.mouseRelease(InputEvent.BUTTON1_MASK);
- } catch (java.awt.AWTException e) {
- log.println("couldn't press mouse button");
}
-
- com.sun.star.util.XCloseable xClose = (com.sun.star.util.XCloseable)UnoRuntime.queryInterface(
- com.sun.star.util.XCloseable.class, xFrame);
+ catch (java.awt.AWTException e)
+ {
+ System.out.println("couldn't press mouse button");
+ }
+
+ XCloseable xClose = UnoRuntime.queryInterface(XCloseable.class, xFrame);
try
{
- xClose.close(false);
+ xClose.close(true);
}
- catch(com.sun.star.util.CloseVetoException exVeto)
+ catch (com.sun.star.util.CloseVetoException exVeto)
{
- failed("Test frame couldn't be closed successfully.");
+ fail("Test frame couldn't be closed successfully.");
}
xFrame = null;
+
+// xClose = UnoRuntime.queryInterface(XCloseable.class, xDrawDoc);
+// try
+// {
+// xClose.close(true);
+// }
+// catch (com.sun.star.util.CloseVetoException exVeto)
+// {
+// fail("Test DrawDoc couldn't be closed successfully.");
+// }
+
}
-
- public String[] getTestMethodNames() {
- return new String[]{"checkContextMenuInterceptor"};
- }
-
- public void checkContextMenuInterceptor() {
- log.println(" **** Context Menu Interceptor *** ");
-
- try {
+
+// public String[] getTestMethodNames() {
+// return new String[]{"checkContextMenuInterceptor"};
+// }
+ @Test
+ public void checkContextMenuInterceptor()
+ {
+ System.out.println(" **** Context Menu Interceptor *** ");
+
+ try
+ {
// intialize the test document
- com.sun.star.lang.XComponent xDrawDoc = DrawTools.createDrawDoc(xMSF);
-
- SOfficeFactory SOF = SOfficeFactory.getFactory( xMSF);
- XShape oShape = SOF.createShape(xDrawDoc,5000,5000,1500,1000,"GraphicObject");
- DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
-
- com.sun.star.frame.XModel xModel =
- (com.sun.star.frame.XModel)UnoRuntime.queryInterface(
- com.sun.star.frame.XModel.class, xDrawDoc);
-
+ xDrawDoc = DrawTools.createDrawDoc(xMSF);
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory(xMSF);
+ XShape oShape = SOF.createShape(xDrawDoc, 5000, 5000, 1500, 1000, "GraphicObject");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc, 0)).add(oShape);
+
+ com.sun.star.frame.XModel xModel =
+ UnoRuntime.queryInterface(com.sun.star.frame.XModel.class, xDrawDoc);
+
// get the frame for later usage
xFrame = xModel.getCurrentController().getFrame();
-
+
// ensure that the document content is optimal visible
DesktopTools.zoomToEntirePage(xDrawDoc);
-
+
XBitmap xBitmap = null;
-
+
// adding graphic as ObjRelation for GraphicObjectShape
- XPropertySet oShapeProps = (XPropertySet)
- UnoRuntime.queryInterface(XPropertySet.class,oShape);
- log.println( "Inserting a shape into the document");
-
- try
+ XPropertySet oShapeProps = UnoRuntime.queryInterface(XPropertySet.class, oShape);
+ System.out.println("Inserting a shape into the document");
+
+ try
+ {
+ String sFile = OfficeFileUrl.getAbsolute(new File("space-metal.jpg"));
+ // String sFile = util.utils.getFullTestURL("space-metal.jpg");
+ oShapeProps.setPropertyValue("GraphicURL", sFile);
+ Object oProp = oShapeProps.getPropertyValue("GraphicObjectFillBitmap");
+ xBitmap = (XBitmap) AnyConverter.toObject(new Type(XBitmap.class), oProp);
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ }
+ catch (com.sun.star.beans.PropertyVetoException e)
+ {
+ }
+ catch (com.sun.star.beans.UnknownPropertyException e)
{
- oShapeProps.setPropertyValue(
- "GraphicURL",util.utils.getFullTestURL("space-metal.jpg"));
- xBitmap = (XBitmap) AnyConverter.toObject(
- new Type(XBitmap.class),oShapeProps.getPropertyValue
- ("GraphicObjectFillBitmap"));
- } catch (com.sun.star.lang.WrappedTargetException e) {
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- } catch (com.sun.star.beans.PropertyVetoException e) {
- } catch (com.sun.star.beans.UnknownPropertyException e) {
- }
-
+ }
+
// reuse the frame
com.sun.star.frame.XController xController = xFrame.getController();
- com.sun.star.ui.XContextMenuInterception xContextMenuInterception = null;
- com.sun.star.ui.XContextMenuInterceptor xContextMenuInterceptor = null;
-
- if ( xController != null )
+ XContextMenuInterception xContextMenuInterception = null;
+ XContextMenuInterceptor xContextMenuInterceptor = null;
+
+ if (xController != null)
{
- log.println( "Creating context menu interceptor");
-
+ System.out.println("Creating context menu interceptor");
+
// add our context menu interceptor
- xContextMenuInterception =
- (com.sun.star.ui.XContextMenuInterception)UnoRuntime.queryInterface(
- com.sun.star.ui.XContextMenuInterception.class, xController );
-
- if( xContextMenuInterception != null )
+ xContextMenuInterception =
+ UnoRuntime.queryInterface(XContextMenuInterception.class, xController);
+
+ if (xContextMenuInterception != null)
{
- ContextMenuInterceptor aContextMenuInterceptor = new ContextMenuInterceptor( xBitmap );
- xContextMenuInterceptor =
- (com.sun.star.ui.XContextMenuInterceptor)UnoRuntime.queryInterface(
- com.sun.star.ui.XContextMenuInterceptor.class, aContextMenuInterceptor );
-
- log.println( "Register context menu interceptor");
- xContextMenuInterception.registerContextMenuInterceptor( xContextMenuInterceptor );
+ ContextMenuInterceptor aContextMenuInterceptor = new ContextMenuInterceptor(xBitmap);
+ xContextMenuInterceptor =
+ UnoRuntime.queryInterface(XContextMenuInterceptor.class, aContextMenuInterceptor);
+
+ System.out.println("Register context menu interceptor");
+ xContextMenuInterception.registerContextMenuInterceptor(xContextMenuInterceptor);
}
}
-
- // utils.shortWait(10000);
-
- openContextMenu((XModel) UnoRuntime.queryInterface(XModel.class, xDrawDoc));
-
+
+ // utils.shortWait(10000);
+
+ openContextMenu(UnoRuntime.queryInterface(XModel.class, xDrawDoc));
+
checkHelpEntry();
-
+
// remove our context menu interceptor
- if ( xContextMenuInterception != null &&
- xContextMenuInterceptor != null ) {
- log.println( "Release context menu interceptor");
+ if (xContextMenuInterception != null
+ && xContextMenuInterceptor != null)
+ {
+ System.out.println("Release context menu interceptor");
xContextMenuInterception.releaseContextMenuInterceptor(
- xContextMenuInterceptor );
+ xContextMenuInterceptor);
}
}
- catch ( com.sun.star.uno.RuntimeException ex ) {
- ex.printStackTrace((PrintWriter)log);
- failed("Runtime exception caught!" + ex.getMessage());
+ catch (com.sun.star.uno.RuntimeException ex)
+ {
+ // ex.printStackTrace();
+ fail("Runtime exception caught!" + ex.getMessage());
}
- catch ( java.lang.Exception ex ) {
- ex.printStackTrace((PrintWriter)log);
- failed("Java lang exception caught!" + ex.getMessage());
+ catch (java.lang.Exception ex)
+ {
+ // ex.printStackTrace();
+ fail("Java lang exception caught!" + ex.getMessage());
}
}
- private void checkHelpEntry(){
+ private void checkHelpEntry()
+ {
XInterface toolkit = null;
-
- log.println("get accesibility...");
- try{
+
+ System.out.println("get accesibility...");
+ try
+ {
toolkit = (XInterface) xMSF.createInstance("com.sun.star.awt.Toolkit");
- } catch (com.sun.star.uno.Exception e){
- log.println("could not get Toolkit " + e.toString());
}
- XExtendedToolkit tk = (XExtendedToolkit) UnoRuntime.queryInterface(
- XExtendedToolkit.class, toolkit);
+ catch (com.sun.star.uno.Exception e)
+ {
+ System.out.println("could not get Toolkit " + e.toString());
+ }
+ XExtendedToolkit tk = UnoRuntime.queryInterface(XExtendedToolkit.class, toolkit);
XAccessible xRoot = null;
AccessibilityTools at = new AccessibilityTools();
- try {
- xWindow = (XWindow) UnoRuntime.queryInterface(XWindow.class,
- tk.getTopWindow(0));
-
+ try
+ {
+ xWindow = UnoRuntime.queryInterface(XWindow.class, tk.getTopWindow(0));
+
xRoot = at.getAccessibleObject(xWindow);
-
+
// at.printAccessibleTree((PrintWriter)log, xRoot, param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
- at.printAccessibleTree((PrintWriter)log, xRoot, true);
- }
- catch (com.sun.star.lang.IndexOutOfBoundsException e)
+ // at.printAccessibleTree(System.out, xRoot, true);
+ }
+ catch (com.sun.star.lang.IndexOutOfBoundsException e)
{
- log.println("Couldn't get Window");
+ System.out.println("Couldn't get Window");
}
XAccessibleContext oPopMenu = at.getAccessibleObjectForRole(xRoot, AccessibleRole.POPUP_MENU);
- log.println("ImplementationName: " + util.utils.getImplName(oPopMenu));
-
+ System.out.println("ImplementationName: " + util.utils.getImplName(oPopMenu));
+
XAccessible xHelp = null;
- try{
- log.println("Try to get first entry of context menu...");
+ try
+ {
+ System.out.println("Try to get first entry of context menu...");
xHelp = oPopMenu.getAccessibleChild(0);
-
- } catch (IndexOutOfBoundsException e){
- failed("Not possible to get first entry of context menu");
+
+ }
+ catch (IndexOutOfBoundsException e)
+ {
+ fail("Not possible to get first entry of context menu");
}
-
- if (xHelp == null) failed("first entry of context menu is NULL");
-
+
+ if (xHelp == null)
+ {
+ fail("first entry of context menu is NULL");
+ }
+
XAccessibleContext xHelpCont = xHelp.getAccessibleContext();
- if ( xHelpCont == null )
- failed("No able to retrieve accessible context from first entry of context menu");
-
+ if (xHelpCont == null)
+ {
+ fail("No able to retrieve accessible context from first entry of context menu");
+ }
+
String aAccessibleName = xHelpCont.getAccessibleName();
- if ( !aAccessibleName.equals( "Help" )) {
- log.println("Accessible name found = "+aAccessibleName );
- failed("First entry of context menu is not from context menu interceptor");
+ if (!aAccessibleName.equals("Help"))
+ {
+ System.out.println("Accessible name found = " + aAccessibleName);
+ fail("First entry of context menu is not from context menu interceptor");
}
-
+
try
{
- log.println("try to get first children of Help context...");
+ System.out.println("try to get first children of Help context...");
XAccessible xHelpChild = xHelpCont.getAccessibleChild(0);
- } catch (IndexOutOfBoundsException e){
- failed("not possible to get first children of Help context");
}
-
+ catch (IndexOutOfBoundsException e)
+ {
+ fail("not possible to get first children of Help context");
+ }
+
}
-
- private void openContextMenu(XModel aModel){
-
- log.println("try to open contex menu...");
+
+ private void openContextMenu(XModel aModel)
+ {
+
+ System.out.println("try to open contex menu...");
AccessibilityTools at = new AccessibilityTools();
xWindow = at.getCurrentWindow(xMSF, aModel);
@@ -260,14 +300,14 @@ public class CheckContextMenuInterceptor extends ComplexTestCase {
XInterface oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.PANEL);
- XAccessibleComponent window = (XAccessibleComponent) UnoRuntime.queryInterface(
- XAccessibleComponent.class, oObj);
+ XAccessibleComponent window = UnoRuntime.queryInterface(XAccessibleComponent.class, oObj);
point = window.getLocationOnScreen();
Rectangle rect = window.getBounds();
-
- log.println("klick mouse button...");
- try {
+
+ System.out.println("klick mouse button...");
+ try
+ {
Robot rob = new Robot();
int x = point.X + (rect.Width / 2);
int y = point.Y + (rect.Height / 2);
@@ -277,11 +317,36 @@ public class CheckContextMenuInterceptor extends ComplexTestCase {
System.out.println("Release Button");
rob.mouseRelease(InputEvent.BUTTON3_MASK);
System.out.println("done");
- } catch (java.awt.AWTException e) {
- log.println("couldn't press mouse button");
}
-
+ catch (java.awt.AWTException e)
+ {
+ System.out.println("couldn't press mouse button");
+ }
+
utils.shortWait(3000);
-
+
+ }
+
+ 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/contextMenuInterceptor/ContextMenuInterceptor.java b/framework/qa/complex/contextMenuInterceptor/ContextMenuInterceptor.java
index 2a6d9e000d..6455807f56 100644
--- a/framework/qa/complex/contextMenuInterceptor/ContextMenuInterceptor.java
+++ b/framework/qa/complex/contextMenuInterceptor/ContextMenuInterceptor.java
@@ -1,130 +1,114 @@
-package contextMenuInterceptor;
+package complex.contextMenuInterceptor;
import com.sun.star.ui.*;
-import com.sun.star.lang.XMultiServiceFactory;
import com.sun.star.beans.XPropertySet;
-import com.sun.star.container.XIndexContainer;
import com.sun.star.uno.UnoRuntime;
-import com.sun.star.uno.Exception;
-import com.sun.star.beans.UnknownPropertyException;
-import com.sun.star.lang.IllegalArgumentException;
-public class ContextMenuInterceptor implements XContextMenuInterceptor {
+public class ContextMenuInterceptor implements XContextMenuInterceptor
+{
- private com.sun.star.awt.XBitmap myBitmap;
-
- public ContextMenuInterceptor( com.sun.star.awt.XBitmap aBitmap ) {
- myBitmap = aBitmap;
- }
-
- public ContextMenuInterceptorAction notifyContextMenuExecute(
- com.sun.star.ui.ContextMenuExecuteEvent aEvent ) throws RuntimeException
+ private com.sun.star.awt.XBitmap myBitmap;
+
+ public ContextMenuInterceptor(com.sun.star.awt.XBitmap aBitmap)
+ {
+ myBitmap = aBitmap;
+ }
+
+ public ContextMenuInterceptorAction notifyContextMenuExecute(
+ com.sun.star.ui.ContextMenuExecuteEvent aEvent) throws RuntimeException
{
- try
+ try
{
// Retrieve context menu container and query for service factory to
// create sub menus, menu entries and separators
com.sun.star.container.XIndexContainer xContextMenu = aEvent.ActionTriggerContainer;
com.sun.star.lang.XMultiServiceFactory xMenuElementFactory =
- (com.sun.star.lang.XMultiServiceFactory)UnoRuntime.queryInterface(
- com.sun.star.lang.XMultiServiceFactory.class, xContextMenu );
-
- if ( xMenuElementFactory != null )
+ UnoRuntime.queryInterface(com.sun.star.lang.XMultiServiceFactory.class, xContextMenu);
+
+ if (xMenuElementFactory != null)
{
-
+
// create root menu entry for sub menu and sub menu
com.sun.star.beans.XPropertySet xRootMenuEntry =
- (XPropertySet)UnoRuntime.queryInterface(
- com.sun.star.beans.XPropertySet.class,
- xMenuElementFactory.createInstance("com.sun.star.ui.ActionTrigger" ));
-
+ UnoRuntime.queryInterface(com.sun.star.beans.XPropertySet.class, xMenuElementFactory.createInstance("com.sun.star.ui.ActionTrigger"));
+
// create a line separator for our new help sub menu
com.sun.star.beans.XPropertySet xSeparator =
- (com.sun.star.beans.XPropertySet)UnoRuntime.queryInterface(
- com.sun.star.beans.XPropertySet.class,
- xMenuElementFactory.createInstance("com.sun.star.ui.ActionTriggerSeparator" ) );
- Short aSeparatorType = new Short( ActionTriggerSeparatorType.LINE );
- xSeparator.setPropertyValue( "SeparatorType", (Object)aSeparatorType );
-
+ UnoRuntime.queryInterface(com.sun.star.beans.XPropertySet.class, xMenuElementFactory.createInstance("com.sun.star.ui.ActionTriggerSeparator"));
+ Short aSeparatorType = new Short(ActionTriggerSeparatorType.LINE);
+ xSeparator.setPropertyValue("SeparatorType", (Object) aSeparatorType);
+
// query sub menu for index container to get access
com.sun.star.container.XIndexContainer xSubMenuContainer =
- (com.sun.star.container.XIndexContainer)UnoRuntime.queryInterface(
- com.sun.star.container.XIndexContainer.class,
- xMenuElementFactory.createInstance("com.sun.star.ui.ActionTriggerContainer" ));
-
+ UnoRuntime.queryInterface(com.sun.star.container.XIndexContainer.class, xMenuElementFactory.createInstance("com.sun.star.ui.ActionTriggerContainer"));
+
// intialize root menu entry "Help"
- xRootMenuEntry.setPropertyValue( "Text", new String( "Help" ));
- xRootMenuEntry.setPropertyValue( "CommandURL", new String( "slot:5410" ));
- xRootMenuEntry.setPropertyValue( "HelpURL", new String( "5410" ));
- xRootMenuEntry.setPropertyValue( "SubContainer", (Object)xSubMenuContainer );
- xRootMenuEntry.setPropertyValue( "Image", myBitmap );
-
+ xRootMenuEntry.setPropertyValue("Text", ("Help"));
+ xRootMenuEntry.setPropertyValue("CommandURL", ("slot:5410"));
+ xRootMenuEntry.setPropertyValue("HelpURL", ("5410"));
+ xRootMenuEntry.setPropertyValue("SubContainer", (Object) xSubMenuContainer);
+ xRootMenuEntry.setPropertyValue("Image", myBitmap);
+
// create menu entries for the new sub menu
// intialize help/content menu entry
// entry "Content"
- XPropertySet xMenuEntry = (XPropertySet)UnoRuntime.queryInterface(
- XPropertySet.class, xMenuElementFactory.createInstance (
- "com.sun.star.ui.ActionTrigger" ));
- xMenuEntry.setPropertyValue( "Text", new String( "Content" ));
- xMenuEntry.setPropertyValue( "CommandURL", new String( "slot:5401" ));
- xMenuEntry.setPropertyValue( "HelpURL", new String( "5401" ));
-
+ XPropertySet xMenuEntry = UnoRuntime.queryInterface(XPropertySet.class, xMenuElementFactory.createInstance("com.sun.star.ui.ActionTrigger"));
+ xMenuEntry.setPropertyValue("Text", ("Content"));
+ xMenuEntry.setPropertyValue("CommandURL", ("slot:5401"));
+ xMenuEntry.setPropertyValue("HelpURL", ("5401"));
+
// insert menu entry to sub menu
- xSubMenuContainer.insertByIndex ( 0, (Object)xMenuEntry );
-
+ xSubMenuContainer.insertByIndex(0, (Object) xMenuEntry);
+
// intialize help/help agent
// entry "Help Agent"
- xMenuEntry = (com.sun.star.beans.XPropertySet)UnoRuntime.queryInterface(
- com.sun.star.beans.XPropertySet.class,
- xMenuElementFactory.createInstance("com.sun.star.ui.ActionTrigger" ));
- xMenuEntry.setPropertyValue( "Text", new String( "Help Agent" ));
- xMenuEntry.setPropertyValue( "CommandURL", new String( "slot:5962" ));
- xMenuEntry.setPropertyValue( "HelpURL", new String( "5962" ));
-
+ xMenuEntry = UnoRuntime.queryInterface(com.sun.star.beans.XPropertySet.class, xMenuElementFactory.createInstance("com.sun.star.ui.ActionTrigger"));
+ xMenuEntry.setPropertyValue("Text", ("Help Agent"));
+ xMenuEntry.setPropertyValue("CommandURL", ("slot:5962"));
+ xMenuEntry.setPropertyValue("HelpURL", ("5962"));
+
// insert menu entry to sub menu
- xSubMenuContainer.insertByIndex( 1, (Object)xMenuEntry );
+ xSubMenuContainer.insertByIndex(1, (Object) xMenuEntry);
// intialize help/tips
// entry "Tips"
- xMenuEntry = (com.sun.star.beans.XPropertySet)UnoRuntime.queryInterface(
- com.sun.star.beans.XPropertySet.class,
- xMenuElementFactory.createInstance("com.sun.star.ui.ActionTrigger" ));
- xMenuEntry.setPropertyValue( "Text", new String( "Tips" ));
- xMenuEntry.setPropertyValue( "CommandURL", new String( "slot:5404" ));
- xMenuEntry.setPropertyValue( "HelpURL", new String( "5404" ));
+ xMenuEntry = UnoRuntime.queryInterface(com.sun.star.beans.XPropertySet.class, xMenuElementFactory.createInstance("com.sun.star.ui.ActionTrigger"));
+ xMenuEntry.setPropertyValue("Text", ("Tips"));
+ xMenuEntry.setPropertyValue("CommandURL", ("slot:5404"));
+ xMenuEntry.setPropertyValue("HelpURL", ("5404"));
// insert menu entry to sub menu
- xSubMenuContainer.insertByIndex ( 2, (Object)xMenuEntry );
-
+ xSubMenuContainer.insertByIndex(2, (Object) xMenuEntry);
+
// add separator into the given context menu
- xContextMenu.insertByIndex ( 0, (Object)xSeparator );
-
+ xContextMenu.insertByIndex(0, (Object) xSeparator);
+
// add new sub menu into the given context menu
- xContextMenu.insertByIndex ( 0, (Object)xRootMenuEntry );
-
+ xContextMenu.insertByIndex(0, (Object) xRootMenuEntry);
+
// The controller should execute the modified context menu and stop notifying other
// interceptors.
- return com.sun.star.ui.ContextMenuInterceptorAction.EXECUTE_MODIFIED ;
+ return com.sun.star.ui.ContextMenuInterceptorAction.EXECUTE_MODIFIED;
}
}
- catch ( com.sun.star.beans.UnknownPropertyException ex )
+ catch (com.sun.star.beans.UnknownPropertyException ex)
{
// do something useful
// we used a unknown property
}
- catch ( com.sun.star.lang.IndexOutOfBoundsException ex )
+ catch (com.sun.star.lang.IndexOutOfBoundsException ex)
{
// do something useful
// we used an invalid index for accessing a container
}
- catch ( com.sun.star.uno.Exception ex )
+ catch (com.sun.star.uno.Exception ex)
{
// something strange has happend!
}
- catch ( java.lang.Throwable ex )
+ catch (java.lang.Throwable ex)
{
- // catch java exceptions � do something useful
+ // catch java exceptions do something useful
}
-
+
return com.sun.star.ui.ContextMenuInterceptorAction.IGNORED;
}
}
diff --git a/framework/qa/complex/contextMenuInterceptor/makefile.mk b/framework/qa/complex/contextMenuInterceptor/makefile.mk
index f8dcaf26d2..574d986414 100644
--- a/framework/qa/complex/contextMenuInterceptor/makefile.mk
+++ b/framework/qa/complex/contextMenuInterceptor/makefile.mk
@@ -25,53 +25,39 @@
#
#*************************************************************************
-PRJ = ..$/..$/..
-TARGET = ContextMenuInterceptor
-PRJNAME = framework
-PACKAGE = contextMenuInterceptor
-
-# --- Settings -----------------------------------------------------
-.INCLUDE: settings.mk
-
-
-#----- compile .java files -----------------------------------------
-
-JARFILES = mysql.jar mysql.jar ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar
-JAVAFILES = ContextMenuInterceptor.java CheckContextMenuInterceptor.java
-JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
-
-#----- make a jar from compiled files ------------------------------
-
-MAXLINELENGTH = 100000
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
+.ELSE
-JARCLASSDIRS = $(PACKAGE)
-JARTARGET = $(TARGET).jar
-JARCOMPRESS = TRUE
+PRJ = ../../..
+PRJNAME = framework
+TARGET = qa_complex_contextMenuInterceptor
-# --- Parameters for the test --------------------------------------
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = complex/contextMenuInterceptor
-# 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
+# here store only Files which contain a @Test
+JAVATESTFILES = \
+ CheckContextMenuInterceptor.java
-# test base is java complex
-CT_TESTBASE = -TestBase java_complex
+# put here all other files
+JAVAFILES = $(JAVATESTFILES) \
+ ContextMenuInterceptor.java
-# replace $/ with . in package name
-CT_PACKAGE = -o $(PACKAGE:s\$/\.\)
+JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
+#JARFILES = ridl.jar unoil.jar jurt.jar juh.jar jut.jar java_uno.jar \
+# OOoRunner.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
-# start the runner application
-CT_APP = org.openoffice.Runner
+# Sample how to debug
+# JAVAIFLAGS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9003,suspend=y
-# --- Targets ------------------------------------------------------
+.END
-.INCLUDE : target.mk
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+.INCLUDE: installationtest.mk
-RUN: run
+ALLTAR : javatest
-run:
- +java -cp $(CLASSPATH) $(CT_APP) $(CT_TESTBASE) $(CT_APPEXECCOMMAND) -tdoc \\margritte\qaapi\workspace\qadev\testdocs $(CT_PACKAGE).CheckContextMenuInterceptor
+.END
diff --git a/framework/qa/complex/contextMenuInterceptor/space-metal.jpg b/framework/qa/complex/contextMenuInterceptor/space-metal.jpg
new file mode 100644
index 0000000000..d233443890
--- /dev/null
+++ b/framework/qa/complex/contextMenuInterceptor/space-metal.jpg
Binary files differ
diff --git a/framework/qa/complex/desktop/DesktopTerminate.java b/framework/qa/complex/desktop/DesktopTerminate.java
index f63c2adef2..b5c0a73595 100755
--- a/framework/qa/complex/desktop/DesktopTerminate.java
+++ b/framework/qa/complex/desktop/DesktopTerminate.java
@@ -27,51 +27,46 @@
package complex.desktop;
-import com.sun.star.lang.XServiceInfo;
-import com.sun.star.lang.XInitialization;
-import com.sun.star.uno.Type;
-import com.sun.star.uno.Any;
-import com.sun.star.lang.XTypeProvider;
-import com.sun.star.lang.XSingleServiceFactory;
import com.sun.star.lang.XMultiServiceFactory;
-import com.sun.star.lang.XComponent;
import com.sun.star.frame.XDesktop;
-import com.sun.star.frame.XFramesSupplier;
-import com.sun.star.frame.XFrames;
-import com.sun.star.registry.XRegistryKey;
-import com.sun.star.comp.loader.FactoryHelper;
-import com.sun.star.container.XIndexAccess;
-import com.sun.star.beans.XPropertySet;
import com.sun.star.uno.UnoRuntime;
-import com.sun.star.uno.AnyConverter;
-import com.sun.star.frame.XComponentLoader;
-import com.sun.star.awt.Rectangle;
-import com.sun.star.util.XCloseable;
-import helper.ConfigurationRead;
-import complexlib.ComplexTestCase;
import helper.OfficeProvider;
//import complex.persistent_window_states.helper.DocumentHandle;
+// ---------- 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 static org.junit.Assert.*;
+// ------------------------------------------
+
/**
* Parameters:
* <ul>
* <li>NoOffice=yes - StarOffice is not started initially.</li>
* </ul>
*/
-public class DesktopTerminate extends ComplexTestCase {
+public class DesktopTerminate
+{
private XMultiServiceFactory xMSF;
- private OfficeProvider oProvider;
- private int iOfficeCloseTime = 0;
-
+ private int iOfficeCloseTime = 1000;
+
/**
* A frunction to tell the framework, which test functions are available.
* Right now, it's only 'checkPersistentWindowState'.
* @return All test methods.
*/
- public String[] getTestMethodNames() {
- return new String[]{"checkPersistentWindowState"};
- }
+// public String[] getTestMethodNames()
+// {
+// return new String[]
+// {
+// "checkPersistentWindowState"
+// };
+// }
/**
* Test if all available document types change the
@@ -94,65 +89,107 @@ public class DesktopTerminate extends ComplexTestCase {
* - close office
* - Test finished
*/
- public void checkPersistentWindowState()
+ @Test public void checkPersistentWindowState()
{
- try {
-
- log.println("Connect the first time.");
- log.println("AppExecCommand: " + (String)param.get("AppExecutionCommand"));
- log.println("ConnString: " + (String)param.get("ConnectionString"));
- oProvider = new OfficeProvider();
- iOfficeCloseTime = param.getInt("OfficeCloseTime");
- if ( iOfficeCloseTime == 0 ) {
- iOfficeCloseTime = 1000;
+ try
+ {
+
+ System.out.println("Connect the first time.");
+// System.out.println("AppExecCommand: " + (String) param.get("AppExecutionCommand"));
+// System.out.println("ConnString: " + (String) param.get("ConnectionString"));
+// oProvider = new OfficeProvider();
+// iOfficeCloseTime = param.getInt("OfficeCloseTime");
+// if (iOfficeCloseTime == 0)
+// {
+// iOfficeCloseTime = 1000;
+// }
+
+ if (!connect())
+ {
+ return;
+ }
+
+ if (!disconnect())
+ {
+ return;
}
-
- if (!connect()) return;
-
- if (!disconnect()) return;
}
- catch(Exception e) {
+ catch (Exception e)
+ {
e.printStackTrace();
}
}
- private boolean connect() {
- try {
- xMSF = (XMultiServiceFactory)oProvider.getManager(param);
- try {
+ private boolean connect()
+ {
+ try
+ {
+ xMSF = getMSF();
+ try
+ {
Thread.sleep(10000);
}
- catch(java.lang.InterruptedException e) {}
+ catch (java.lang.InterruptedException e)
+ {
+ }
}
- catch (java.lang.Exception e) {
- log.println(e.getClass().getName());
- log.println("Message: " + e.getMessage());
- failed("Cannot connect the Office.");
+ catch (java.lang.Exception e)
+ {
+ System.out.println(e.getClass().getName());
+ System.out.println("Message: " + e.getMessage());
+ fail("Cannot connect the Office.");
return false;
}
return true;
}
- private boolean disconnect() {
- try {
+ private boolean disconnect()
+ {
+ try
+ {
XDesktop desk = null;
- desk = (XDesktop) UnoRuntime.queryInterface(
- XDesktop.class, xMSF.createInstance(
- "com.sun.star.frame.Desktop"));
+ desk = UnoRuntime.queryInterface(XDesktop.class, xMSF.createInstance("com.sun.star.frame.Desktop"));
desk.terminate();
- log.println("Waiting " + iOfficeCloseTime + " milliseconds for the Office to close down");
- try {
+ System.out.println("Waiting " + iOfficeCloseTime + " milliseconds for the Office to close down");
+ try
+ {
Thread.sleep(iOfficeCloseTime);
}
- catch(java.lang.InterruptedException e) {}
+ catch (java.lang.InterruptedException e)
+ {
+ }
xMSF = null;
}
- catch (java.lang.Exception e) {
+ catch (java.lang.Exception e)
+ {
e.printStackTrace();
- failed("Cannot dispose the Office.");
+ fail("Cannot dispose the Office.");
return false;
}
return true;
}
+
+ 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()");
+ // don't do a tearDown here, desktop is already terminated.
+ // connection.tearDown();
+ }
+
+ private static final OfficeConnection connection = new OfficeConnection();
+
}
diff --git a/framework/qa/complex/desktop/makefile.mk b/framework/qa/complex/desktop/makefile.mk
index 3ad4801eb0..74db8d34e1 100755
--- a/framework/qa/complex/desktop/makefile.mk
+++ b/framework/qa/complex/desktop/makefile.mk
@@ -25,55 +25,38 @@
#
#*************************************************************************
-PRJ = ..$/..$/..
-TARGET = DesktopTerminate
-PRJNAME = $(TARGET)
-PACKAGE = complex$/desktop
-
-# --- Settings -----------------------------------------------------
-.INCLUDE: settings.mk
-
-
-#----- compile .java files -----------------------------------------
-
-JARFILES = mysql.jar ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar
-JAVAFILES = DesktopTerminate.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_desktop
+
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = complex/desktop
-# test looks something like the.full.package.TestName
-CT_TEST = -o $(PACKAGE:s\$/\.\).$(JAVAFILES:b)
+# here store only Files which contain a @Test
+JAVATESTFILES = \
+ DesktopTerminate.java
-# start the runner application
-CT_APP = org.openoffice.Runner
+# put here all other files
+JAVAFILES = $(JAVATESTFILES)
-# --- Targets ------------------------------------------------------
+JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
+#JARFILES = ridl.jar unoil.jar jurt.jar juh.jar jut.jar java_uno.jar \
+# OOoRunner.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
-$(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props : ALLTAR
+# Sample how to debug
+# JAVAIFLAGS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9003,suspend=y
-.INCLUDE : target.mk
+.END
-RUN: run
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+.INCLUDE: installationtest.mk
-run:
- +java -cp $(CLASSPATH) $(CT_APP) $(CT_APPEXECCOMMAND) -NoOffice yes $(CT_TESTBASE) $(CT_TEST)
+ALLTAR : javatest
+.END
diff --git a/framework/qa/complex/dispatches/helper/Interceptor.java b/framework/qa/complex/dispatches/Interceptor.java
index c4eec8f946..f7edf93cf7 100644
--- a/framework/qa/complex/dispatches/helper/Interceptor.java
+++ b/framework/qa/complex/dispatches/Interceptor.java
@@ -32,19 +32,18 @@ package complex.dispatches;
import com.sun.star.beans.PropertyValue;
// exceptions
-import com.sun.star.uno.Exception;
-import com.sun.star.uno.RuntimeException;
-
-// interfaces
-import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.DispatchDescriptor;
import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
import com.sun.star.frame.XDispatchProviderInterceptor;
-import com.sun.star.frame.XDispatchProviderInterception;
import com.sun.star.frame.XInterceptorInfo;
+import com.sun.star.frame.XStatusListener;
+
+// interfaces
+
// helper
-import com.sun.star.uno.UnoRuntime;
-import share.LogWriter;
+import com.sun.star.util.URL;
// others
//import java.lang.*;
@@ -54,10 +53,10 @@ import share.LogWriter;
/**
* implements a configurable interceptor for dispatch events.
*/
-public class Interceptor implements com.sun.star.frame.XDispatchProvider,
- com.sun.star.frame.XDispatch,
- com.sun.star.frame.XDispatchProviderInterceptor,
- com.sun.star.frame.XInterceptorInfo
+public class Interceptor implements XDispatchProvider,
+ XDispatch,
+ XDispatchProviderInterceptor,
+ XInterceptorInfo
{
// ____________________
@@ -88,8 +87,8 @@ public class Interceptor implements com.sun.star.frame.XDispatchProvider,
The slave can be used inside queryDispatch() to forward requests,
which are not handled by this interceptor instance.
*/
- private com.sun.star.frame.XDispatchProvider m_xSlave = null;
- private com.sun.star.frame.XDispatchProvider m_xMaster = null;
+ private XDispatchProvider m_xSlave = null;
+ private XDispatchProvider m_xMaster = null;
// ____________________
@@ -107,20 +106,14 @@ public class Interceptor implements com.sun.star.frame.XDispatchProvider,
*/
private boolean m_bIsRegistered = false;
- // ____________________
-
- /** used for log output.
- */
- private LogWriter m_aLog;
// ____________________
/** ctor
* It's initialize an object of this class with default values.
*/
- public Interceptor(LogWriter aLog)
+ public Interceptor()
{
- m_aLog = aLog;
}
// ____________________
@@ -134,27 +127,27 @@ public class Interceptor implements com.sun.star.frame.XDispatchProvider,
// ____________________
/** XDispatchProviderInterceptor */
- public synchronized com.sun.star.frame.XDispatchProvider getSlaveDispatchProvider()
+ public synchronized XDispatchProvider getSlaveDispatchProvider()
{
- m_aLog.println("Interceptor.getSlaveDispatchProvider() called");
+ System.out.println("Interceptor.getSlaveDispatchProvider() called");
return m_xSlave;
}
// ____________________
/** XDispatchProviderInterceptor */
- public synchronized com.sun.star.frame.XDispatchProvider getMasterDispatchProvider()
+ public synchronized XDispatchProvider getMasterDispatchProvider()
{
- m_aLog.println("Interceptor.getMasterDispatchProvider() called");
+ System.out.println("Interceptor.getMasterDispatchProvider() called");
return m_xMaster;
}
// ____________________
/** XDispatchProviderInterceptor */
- public synchronized void setSlaveDispatchProvider(com.sun.star.frame.XDispatchProvider xSlave)
+ public synchronized void setSlaveDispatchProvider(XDispatchProvider xSlave)
{
- m_aLog.println("Interceptor.setSlaveDispatchProvider("+xSlave+") called");
+ System.out.println("Interceptor.setSlaveDispatchProvider("+xSlave+") called");
if (xSlave != null)
{
@@ -162,7 +155,9 @@ public class Interceptor implements com.sun.star.frame.XDispatchProvider,
m_bIsRegistered = true;
}
else
+ {
m_bIsRegistered = false;
+ }
m_xSlave = xSlave;
}
@@ -170,9 +165,9 @@ public class Interceptor implements com.sun.star.frame.XDispatchProvider,
// ____________________
/** XDispatchProviderInterceptor */
- public synchronized void setMasterDispatchProvider(com.sun.star.frame.XDispatchProvider xMaster)
+ public synchronized void setMasterDispatchProvider(XDispatchProvider xMaster)
{
- m_aLog.println("Interceptor.setMasterDispatchProvider("+xMaster+") called");
+ System.out.println("Interceptor.setMasterDispatchProvider("+xMaster+") called");
m_xMaster = xMaster;
}
@@ -180,25 +175,25 @@ public class Interceptor implements com.sun.star.frame.XDispatchProvider,
/** XDispatchProvider
*/
- public synchronized com.sun.star.frame.XDispatch queryDispatch(com.sun.star.util.URL aURL ,
+ public synchronized XDispatch queryDispatch(URL aURL ,
String sTargetFrameName,
int nSearchFlags )
{
- m_aLog.println("Interceptor.queryDispatch('"+aURL.Complete+"', '"+sTargetFrameName+"', "+nSearchFlags+") called");
+ System.out.println("Interceptor.queryDispatch('"+aURL.Complete+"', '"+sTargetFrameName+"', "+nSearchFlags+") called");
if (impl_isBlockedURL(aURL.Complete))
{
- m_aLog.println("Interceptor.queryDispatch(): URL blocked => returns NULL");
+ System.out.println("Interceptor.queryDispatch(): URL blocked => returns NULL");
return null;
}
if (m_xSlave != null)
{
- m_aLog.println("Interceptor.queryDispatch(): ask slave ...");
+ System.out.println("Interceptor.queryDispatch(): ask slave ...");
return m_xSlave.queryDispatch(aURL, sTargetFrameName, nSearchFlags);
}
- m_aLog.println("Interceptor.queryDispatch(): no idea => returns this");
+ System.out.println("Interceptor.queryDispatch(): no idea => returns this");
return this;
}
@@ -206,12 +201,12 @@ public class Interceptor implements com.sun.star.frame.XDispatchProvider,
/** XDispatchProvider
*/
- public com.sun.star.frame.XDispatch[] queryDispatches(com.sun.star.frame.DispatchDescriptor[] lRequests)
+ public XDispatch[] queryDispatches(DispatchDescriptor[] lRequests)
{
int i = 0;
int c = lRequests.length;
- com.sun.star.frame.XDispatch[] lResults = new com.sun.star.frame.XDispatch[c];
+ XDispatch[] lResults = new XDispatch[c];
for (i=0; i<c; ++i)
{
lResults[i] = queryDispatch(lRequests[i].FeatureURL ,
@@ -226,30 +221,30 @@ public class Interceptor implements com.sun.star.frame.XDispatchProvider,
/** XDispatch
*/
- public synchronized void dispatch(com.sun.star.util.URL aURL ,
- com.sun.star.beans.PropertyValue[] lArguments)
+ public synchronized void dispatch(URL aURL ,
+ PropertyValue[] lArguments)
{
- m_aLog.println("Interceptor.dispatch('"+aURL.Complete+"') called");
+ System.out.println("Interceptor.dispatch('"+aURL.Complete+"') called");
}
// ____________________
/** XDispatch
*/
- public synchronized void addStatusListener(com.sun.star.frame.XStatusListener xListener,
+ public synchronized void addStatusListener(XStatusListener xListener,
com.sun.star.util.URL aURL )
{
- m_aLog.println("Interceptor.addStatusListener(..., '"+aURL.Complete+"') called");
+ System.out.println("Interceptor.addStatusListener(..., '"+aURL.Complete+"') called");
}
// ____________________
/** XDispatch
*/
- public synchronized void removeStatusListener(com.sun.star.frame.XStatusListener xListener,
+ public synchronized void removeStatusListener(XStatusListener xListener,
com.sun.star.util.URL aURL )
{
- m_aLog.println("Interceptor.removeStatusListener(..., '"+aURL.Complete+"') called");
+ System.out.println("Interceptor.removeStatusListener(..., '"+aURL.Complete+"') called");
}
// ____________________
@@ -332,7 +327,9 @@ public class Interceptor implements com.sun.star.frame.XDispatchProvider,
for (i=0; i<c; ++i)
{
if (impl_match(sURL, lBlockedURLs[i]))
+ {
return true;
+ }
}
return false;
diff --git a/framework/qa/complex/dispatches/checkdispatchapi.java b/framework/qa/complex/dispatches/checkdispatchapi.java
index ef612c8cc1..0084739f1b 100644
--- a/framework/qa/complex/dispatches/checkdispatchapi.java
+++ b/framework/qa/complex/dispatches/checkdispatchapi.java
@@ -24,110 +24,119 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-
package complex.dispatches;
-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.beans.PropertyValue;
+import com.sun.star.frame.DispatchInformation;
+import com.sun.star.frame.XComponentLoader;
+import com.sun.star.frame.XDispatchInformationProvider;
+import com.sun.star.frame.XDispatchProviderInterception;
+import com.sun.star.frame.XDispatchProviderInterceptor;
+import com.sun.star.frame.XFrame;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.XCloseable;
+import complex.dispatches.Interceptor;
+import java.util.HashMap;
+
+
-import java.util.*;
-import complexlib.ComplexTestCase;
-import helper.*;
+// ---------- 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 static org.junit.Assert.*;
+// ------------------------------------------
//-----------------------------------------------
/** @short Check the interface XDispatchInformationProvider
- @descr Because there exists more then one implementation of a dispatch
- object, we have to test all these implementations ...
+@descr Because there exists more then one implementation of a dispatch
+object, we have to test all these implementations ...
*/
-public class checkdispatchapi extends ComplexTestCase
+public class checkdispatchapi
{
//-------------------------------------------
// some const
-
+
//-------------------------------------------
// member
-
- /** points to the global uno service manager. */
+ /** points to the global uno service manager. */
private XMultiServiceFactory m_xMSF = null;
private connectivity.tools.HsqlDatabase db;
-
/** can be used to create new test frames. */
private XFrame m_xDesktop = null;
-
/** provides XDispatchInformationProvider interface. */
private XFrame m_xFrame = null;
//-------------------------------------------
// test environment
-
//-------------------------------------------
/** @short A function to tell the framework,
- which test functions are available.
-
- @return All test methods.
- @todo Think about selection of tests from outside ...
+ which test functions are available.
+
+ @return All test methods.
+ @todo Think about selection of tests from outside ...
*/
- public String[] getTestMethodNames()
- {
- return new String[]
- {
- "checkDispatchInfoOfWriter",
- "checkDispatchInfoOfCalc",
- "checkDispatchInfoOfDraw",
- "checkDispatchInfoOfImpress",
- "checkDispatchInfoOfMath",
- "checkDispatchInfoOfChart",
- "checkDispatchInfoOfBibliography",
- "checkDispatchInfoOfQueryDesign",
- "checkDispatchInfoOfTableDesign",
- "checkDispatchInfoOfFormGridView",
- "checkDispatchInfoOfDataSourceBrowser",
- "checkDispatchInfoOfRelationDesign",
- "checkDispatchInfoOfBasic",
- "checkDispatchInfoOfStartModule",
- "checkInterceptorLifeTime",
- "checkInterception"
- };
- }
-
+// public String[] getTestMethodNames()
+// {
+// return new String[]
+// {
+// "checkDispatchInfoOfWriter",
+// "checkDispatchInfoOfCalc",
+// "checkDispatchInfoOfDraw",
+// "checkDispatchInfoOfImpress",
+// "checkDispatchInfoOfMath",
+// "checkDispatchInfoOfChart",
+// "checkDispatchInfoOfBibliography",
+// "checkDispatchInfoOfQueryDesign",
+// "checkDispatchInfoOfTableDesign",
+// "checkDispatchInfoOfFormGridView",
+// "checkDispatchInfoOfDataSourceBrowser",
+// "checkDispatchInfoOfRelationDesign",
+// "checkDispatchInfoOfBasic",
+// "checkDispatchInfoOfStartModule",
+// "checkInterceptorLifeTime",
+// "checkInterception"
+// };
+// }
+
//-------------------------------------------
/** @short Create the environment for following tests.
- @descr create an empty test frame, where we can load
- different components inside.
+ @descr create an empty test frame, where we can load
+ different components inside.
*/
- public void before()
+ @Before public void before()
{
try
{
// get uno service manager from global test environment
- m_xMSF = (XMultiServiceFactory)param.getMSF();
+ m_xMSF = getMSF();
db = new connectivity.tools.HsqlDatabase(m_xMSF);
// create desktop
- m_xDesktop = (XFrame)UnoRuntime.queryInterface(
- XFrame.class,
- m_xMSF.createInstance("com.sun.star.frame.Desktop"));
+ m_xDesktop = UnoRuntime.queryInterface(XFrame.class, m_xMSF.createInstance("com.sun.star.frame.Desktop"));
m_xFrame = impl_createNewFrame();
}
- catch(java.lang.Throwable ex)
+ catch (java.lang.Throwable ex)
{
- failed("Cant initialize test environment.");
+ fail("Cant initialize test environment.");
}
}
//-------------------------------------------
/** @short close the environment.
*/
- public void after()
+ @After public void after()
{
db.close();
impl_closeFrame(m_xFrame);
@@ -135,109 +144,115 @@ public class checkdispatchapi extends ComplexTestCase
}
//-------------------------------------------
- public void checkDispatchInfoOfWriter()
+ @Test public void checkDispatchInfoOfWriter()
{
impl_checkDispatchInfoOfXXX("private:factory/swriter");
}
//-------------------------------------------
- public void checkDispatchInfoOfCalc()
+ @Test public void checkDispatchInfoOfCalc()
{
impl_checkDispatchInfoOfXXX("private:factory/scalc");
}
//-------------------------------------------
- public void checkDispatchInfoOfDraw()
+ @Test public void checkDispatchInfoOfDraw()
{
impl_checkDispatchInfoOfXXX("private:factory/sdraw");
}
//-------------------------------------------
- public void checkDispatchInfoOfImpress()
+ @Test public void checkDispatchInfoOfImpress()
{
impl_checkDispatchInfoOfXXX("private:factory/simpress");
}
//-------------------------------------------
- public void checkDispatchInfoOfChart()
+ @Test public void checkDispatchInfoOfChart()
{
impl_checkDispatchInfoOfXXX("private:factory/schart");
}
//-------------------------------------------
- public void checkDispatchInfoOfMath()
+ @Test public void checkDispatchInfoOfMath()
{
impl_checkDispatchInfoOfXXX("private:factory/smath");
}
//-------------------------------------------
- public void checkDispatchInfoOfDataBase()
+ @Test public void checkDispatchInfoOfDataBase()
{
impl_checkDispatchInfoOfXXX("private:factory/sdatabase");
}
//-------------------------------------------
- public void checkDispatchInfoOfBibliography()
+ @Test public void checkDispatchInfoOfBibliography()
{
impl_checkDispatchInfoOfXXX(".component:Bibliography/View1");
}
//-------------------------------------------
- public void checkDispatchInfoOfQueryDesign()
+ @Test public void checkDispatchInfoOfQueryDesign()
{
callDatabaseDispatch(".component:DB/QueryDesign");
}
//-------------------------------------------
- public void checkDispatchInfoOfTableDesign()
+ @Test public void checkDispatchInfoOfTableDesign()
{
callDatabaseDispatch(".component:DB/TableDesign");
}
//-------------------------------------------
- public void checkDispatchInfoOfFormGridView()
+ @Test public void checkDispatchInfoOfFormGridView()
{
impl_checkDispatchInfoOfXXX(".component:DB/FormGridView");
}
//-------------------------------------------
- public void checkDispatchInfoOfDataSourceBrowser()
+ @Test public void checkDispatchInfoOfDataSourceBrowser()
{
impl_checkDispatchInfoOfXXX(".component:DB/DataSourceBrowser");
}
//-------------------------------------------
- public void checkDispatchInfoOfRelationDesign()
+ @Test public void checkDispatchInfoOfRelationDesign()
{
callDatabaseDispatch(".component:DB/RelationDesign");
}
//-------------------------------------------
+
private void callDatabaseDispatch(String url)
{
try
{
final PropertyValue args = new PropertyValue();
args.Name = "ActiveConnection";
- args.Value = (Object)db.defaultConnection();
+ args.Value = (Object) db.defaultConnection();
XFrame xFrame = impl_createNewFrame();
- impl_loadIntoFrame(xFrame, url, new PropertyValue[] { args });
+ impl_loadIntoFrame(xFrame, url, new PropertyValue[]
+ {
+ args
+ });
impl_checkDispatchInfo(xFrame);
impl_closeFrame(xFrame);
- } catch(java.lang.Exception e ) {
- }
+ }
+ catch (java.lang.Exception e)
+ {
+ }
}
//-------------------------------------------
- public void checkDispatchInfoOfBasic()
+ @Test public void checkDispatchInfoOfBasic()
{
Object aComponent = impl_createUNOComponent("com.sun.star.script.BasicIDE");
impl_checkDispatchInfo(aComponent);
}
//-------------------------------------------
- public void checkDispatchInfoOfStartModule()
+ @Test public void checkDispatchInfoOfStartModule()
{
Object aComponent = impl_createUNOComponent("com.sun.star.frame.StartModule");
impl_checkDispatchInfo(aComponent);
@@ -250,60 +265,56 @@ public class checkdispatchapi extends ComplexTestCase
// xInterceptor. Otherwhise we cant check some internal states of aInterceptor at the end of this method, because
// it was already killed .-)
- Interceptor aInterceptor = new Interceptor(log);
- com.sun.star.frame.XDispatchProviderInterceptor xInterceptor = (com.sun.star.frame.XDispatchProviderInterceptor)UnoRuntime.queryInterface(
- com.sun.star.frame.XDispatchProviderInterceptor.class,
- aInterceptor);
+ Interceptor aInterceptor = new Interceptor();
+ XDispatchProviderInterceptor xInterceptor = UnoRuntime.queryInterface(XDispatchProviderInterceptor.class, aInterceptor);
- com.sun.star.frame.XFrame xFrame = impl_createNewFrame();
- com.sun.star.frame.XDispatchProviderInterception xInterception = (com.sun.star.frame.XDispatchProviderInterception)UnoRuntime.queryInterface(
- com.sun.star.frame.XDispatchProviderInterception.class,
- xFrame);
+ XFrame xFrame = impl_createNewFrame();
+ XDispatchProviderInterception xInterception = UnoRuntime.queryInterface(XDispatchProviderInterception.class, xFrame);
xInterception.registerDispatchProviderInterceptor(xInterceptor);
impl_closeFrame(xFrame);
- int nRegCount = aInterceptor.getRegistrationCount();
+ int nRegCount = aInterceptor.getRegistrationCount();
boolean bIsRegistered = aInterceptor.isRegistered();
- log.println("registration count = "+nRegCount );
- log.println("is registered ? = "+bIsRegistered);
+ System.out.println("registration count = " + nRegCount);
+ System.out.println("is registered ? = " + bIsRegistered);
if (nRegCount < 1)
- failed("Interceptor was never registered.");
+ {
+ fail("Interceptor was never registered.");
+ }
if (bIsRegistered)
- failed("Interceptor was not deregistered automaticly on closing the corresponding frame.");
+ {
+ fail("Interceptor was not deregistered automaticly on closing the corresponding frame.");
+ }
- log.println("Destruction of interception chain works as designed .-)");
+ System.out.println("Destruction of interception chain works as designed .-)");
}
//-------------------------------------------
public void checkInterception()
{
- String [] lDisabledURLs = new String [1];
- lDisabledURLs[0] = ".uno:Open";
-
- log.println("create and initialize interceptor ...");
- Interceptor aInterceptor = new Interceptor(log);
+ String[] lDisabledURLs = new String[1];
+ lDisabledURLs[0] = ".uno:Open";
+
+ System.out.println("create and initialize interceptor ...");
+ Interceptor aInterceptor = new Interceptor();
aInterceptor.setURLs4URLs4Blocking(lDisabledURLs);
-
- com.sun.star.frame.XDispatchProviderInterceptor xInterceptor = (com.sun.star.frame.XDispatchProviderInterceptor)UnoRuntime.queryInterface(
- com.sun.star.frame.XDispatchProviderInterceptor.class,
- aInterceptor);
- log.println("create and initialize frame ...");
- com.sun.star.frame.XFrame xFrame = impl_createNewFrame();
+ XDispatchProviderInterceptor xInterceptor = UnoRuntime.queryInterface(XDispatchProviderInterceptor.class, aInterceptor);
+
+ System.out.println("create and initialize frame ...");
+ XFrame xFrame = impl_createNewFrame();
impl_loadIntoFrame(xFrame, "private:factory/swriter", null);
-
- com.sun.star.frame.XDispatchProviderInterception xInterception = (com.sun.star.frame.XDispatchProviderInterception)UnoRuntime.queryInterface(
- com.sun.star.frame.XDispatchProviderInterception.class,
- xFrame);
- log.println("register interceptor ...");
+ XDispatchProviderInterception xInterception = UnoRuntime.queryInterface(XDispatchProviderInterception.class, xFrame);
+
+ System.out.println("register interceptor ...");
xInterception.registerDispatchProviderInterceptor(xInterceptor);
-
- log.println("deregister interceptor ...");
+
+ System.out.println("deregister interceptor ...");
xInterception.releaseDispatchProviderInterceptor(xInterceptor);
}
@@ -311,7 +322,7 @@ public class checkdispatchapi extends ComplexTestCase
private void impl_checkDispatchInfoOfXXX(String sXXX)
{
XFrame xFrame = impl_createNewFrame();
- impl_loadIntoFrame(xFrame, sXXX,null);
+ impl_loadIntoFrame(xFrame, sXXX, null);
impl_checkDispatchInfo(xFrame);
impl_closeFrame(xFrame);
}
@@ -319,26 +330,28 @@ public class checkdispatchapi extends ComplexTestCase
//-------------------------------------------
/** @short load an URL into the current test frame.
*/
- private void impl_loadIntoFrame(XFrame xFrame, String sURL,PropertyValue args[])
+ private void impl_loadIntoFrame(XFrame xFrame, String sURL, PropertyValue args[])
{
- XComponentLoader xLoader = (XComponentLoader)UnoRuntime.queryInterface(
- XComponentLoader.class,
- xFrame);
+ XComponentLoader xLoader = UnoRuntime.queryInterface(XComponentLoader.class, xFrame);
if (xLoader == null)
- failed("Frame does not provide required interface XComponentLoader.");
+ {
+ fail("Frame does not provide required interface XComponentLoader.");
+ }
XComponent xDoc = null;
try
{
xDoc = xLoader.loadComponentFromURL(sURL, "_self", 0, args);
}
- catch(java.lang.Throwable ex)
+ catch (java.lang.Throwable ex)
{
xDoc = null;
}
if (xDoc == null)
- failed("Could not load \""+sURL+"\".");
+ {
+ fail("Could not load \"" + sURL + "\".");
+ }
}
//-------------------------------------------
@@ -351,112 +364,135 @@ public class checkdispatchapi extends ComplexTestCase
{
aComponent = m_xMSF.createInstance(sName);
}
- catch(java.lang.Throwable ex)
+ catch (java.lang.Throwable ex)
{
aComponent = null;
}
if (aComponent == null)
- failed("Could not create UNO component \""+sName+"\".");
+ {
+ fail("Could not create UNO component \"" + sName + "\".");
+ }
return aComponent;
}
//-------------------------------------------
/** @short check the interface XDispatchInformationProvider
- at the specified component.
+ at the specified component.
*/
private void impl_checkDispatchInfo(Object aComponent)
{
- XDispatchInformationProvider xInfoProvider = (XDispatchInformationProvider)UnoRuntime.queryInterface(
- XDispatchInformationProvider.class,
- aComponent);
+ XDispatchInformationProvider xInfoProvider = UnoRuntime.queryInterface(XDispatchInformationProvider.class, aComponent);
if (xInfoProvider == null)
{
// Warning
- log.println("Warning:\tComponent does not provide the [optional!] interface XDispatchInformationProvider.");
+ System.out.println("Warning:\tComponent does not provide the [optional!] interface XDispatchInformationProvider.");
return;
}
try
{
short[] lGroups = xInfoProvider.getSupportedCommandGroups();
- int c1 = lGroups.length;
- int i1 = 0;
- for (i1=0; i1<c1; ++i1)
+ int c1 = lGroups.length;
+ int i1 = 0;
+ for (i1 = 0; i1 < c1; ++i1)
{
- short nGroup = lGroups[i1];
+ short nGroup = lGroups[i1];
DispatchInformation[] lInfos = xInfoProvider.getConfigurableDispatchInformation(nGroup);
- int c2 = lInfos.length;
- int i2 = 0;
+ int c2 = lInfos.length;
+ int i2 = 0;
// check for empty lists
// Warning
if (lInfos.length < 1)
- log.println("Warning:\tCould not get any DispatchInformation for group ["+nGroup+"].");
+ {
+ System.out.println("Warning:\tCould not get any DispatchInformation for group [" + nGroup + "].");
+ }
// check for duplicates (and by the way, if the info item match the requested group)
HashMap aCheckMap = new HashMap(c2);
- for (i2=0; i2<c2; ++i2)
+ for (i2 = 0; i2 < c2; ++i2)
{
DispatchInformation aInfo = lInfos[i2];
if (aInfo.GroupId != nGroup)
{
// Error
- failed("At least one DispatchInformation item does not match the requested group.\n\trequested group=["+nGroup+
- "] returned groupd=["+aInfo.GroupId+"] command=\""+aInfo.Command+"\"", true); // true => dont break this test
+ fail("At least one DispatchInformation item does not match the requested group.\n\trequested group=[" + nGroup
+ + "] returned groupd=[" + aInfo.GroupId + "] command=\"" + aInfo.Command + "\""); // true => dont break this test
continue;
}
if (aCheckMap.containsKey(aInfo.Command))
{
// Error
- failed("Found a duplicate item: group=["+aInfo.GroupId+"] command=\""+aInfo.Command+"\"", true); // true => dont break this test
+ fail("Found a duplicate item: group=[" + aInfo.GroupId + "] command=\"" + aInfo.Command + "\""); // true => dont break this test
continue;
}
aCheckMap.put(aInfo.Command, aInfo.Command);
- log.println("\t["+aInfo.GroupId+"] \""+aInfo.Command+"\"");
+ System.out.println("\t[" + aInfo.GroupId + "] \"" + aInfo.Command + "\"");
}
}
}
- catch(java.lang.Throwable ex)
+ catch (java.lang.Throwable ex)
{
- failed("Exception caught during using XDispatchInformationProvider.");
- ex.printStackTrace();
+ fail("Exception caught during using XDispatchInformationProvider.");
+ // ex.printStackTrace();
}
}
//-------------------------------------------
- private synchronized com.sun.star.frame.XFrame impl_createNewFrame()
+ private synchronized XFrame impl_createNewFrame()
{
- com.sun.star.frame.XFrame xFrame = null;
+ XFrame xFrame = null;
try
{
xFrame = m_xDesktop.findFrame("_blank", 0);
xFrame.getContainerWindow().setVisible(true);
}
- catch(java.lang.Throwable ex)
+ catch (java.lang.Throwable ex)
{
- failed("Could not create the frame instance.");
+ fail("Could not create the frame instance.");
}
return xFrame;
- }
+ }
//-------------------------------------------
- private synchronized void impl_closeFrame(com.sun.star.frame.XFrame xFrame)
+ private synchronized void impl_closeFrame(XFrame xFrame)
{
- com.sun.star.util.XCloseable xClose = (com.sun.star.util.XCloseable)UnoRuntime.queryInterface(
- com.sun.star.util.XCloseable.class,
- xFrame);
+ XCloseable xClose = UnoRuntime.queryInterface(XCloseable.class, xFrame);
try
{
xClose.close(false);
}
- catch(com.sun.star.util.CloseVetoException exVeto)
+ catch (com.sun.star.util.CloseVetoException exVeto)
{
- failed("Test frame couldn't be closed successfully.");
+ fail("Test frame couldn't be closed successfully.");
}
}
+
+ 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/dispatches/helper/makefile.mk b/framework/qa/complex/dispatches/helper/makefile.mk
index be761c54fa..2b2ccab5eb 100644
--- a/framework/qa/complex/dispatches/helper/makefile.mk
+++ b/framework/qa/complex/dispatches/helper/makefile.mk
@@ -24,10 +24,10 @@
# for a copy of the LGPLv3 License.
#
#*************************************************************************
-PRJ = ..$/..$/..$/..
+PRJ = ../../../..
TARGET = checkdispatchapi
PRJNAME = framework
-PACKAGE = complex$/dispatches$/helper
+PACKAGE = complex/dispatches/helper
# --- Settings -----------------------------------------------------
.INCLUDE: settings.mk
@@ -35,10 +35,9 @@ PACKAGE = complex$/dispatches$/helper
#----- compile .java files -----------------------------------------
-JARFILES = mysql.jar ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar \
- Generator.jar OOoRunner.jar
+JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar Generator.jar
JAVAFILES = Interceptor.java
-JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
+JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)/$(PACKAGE)/$(i:b).class)
MAXLINELENGTH = 100000
diff --git a/framework/qa/complex/dispatches/makefile.mk b/framework/qa/complex/dispatches/makefile.mk
index 87eba000cf..6a5ff79dd7 100644
--- a/framework/qa/complex/dispatches/makefile.mk
+++ b/framework/qa/complex/dispatches/makefile.mk
@@ -24,69 +24,108 @@
# for a copy of the LGPLv3 License.
#
#*************************************************************************
-PRJ = ..$/..$/..
-TARGET = checkdispatchapi
-PRJNAME = framework
-PACKAGE = complex$/dispatches
-
-# --- 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 ConnectivityTools.jar
-JAVAFILES = checkdispatchapi.java
-
-JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
-
-SUBDIRS=helper
-
-#----- make a jar from compiled files ------------------------------
-
-MAXLINELENGTH = 100000
-JARCLASSDIRS = $(PACKAGE)
-JARTARGET = $(TARGET).jar
-JARCOMPRESS = TRUE
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
+.ELSE
-# --- Parameters for the test --------------------------------------
+PRJ = ../../..
+PRJNAME = framework
+TARGET = qa_complex_dispatches
-# 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
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = complex/dispatches
-# test base is java complex
-CT_TESTBASE = -TestBase java_complex
+# here store only Files which contain a @Test
+JAVATESTFILES = \
+ checkdispatchapi.java
-# test looks something like the.full.package.TestName
-CT_TEST = -o $(PACKAGE:s\$/\.\).$(JAVAFILES:b)
+# put here all other files
+JAVAFILES = $(JAVATESTFILES) \
+ Interceptor.java
-# start the runner application
-CT_APP = org.openoffice.Runner
+JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar ConnectivityTools.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
-# --- Targets ------------------------------------------------------
+# Sample how to debug
+# JAVAIFLAGS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9003,suspend=y
-.IF "$(depend)" == ""
-$(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props : ALLTAR
-.ELSE
-$(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props : ALLDEP
-.ENDIF
+.END
-.INCLUDE : target.mk
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+.INCLUDE: installationtest.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
+ALLTAR : javatest
-RUN: run
+.END
-run:
- +java -cp $(CLASSPATH) $(CT_APP) $(CT_TESTBASE) $(CT_APPEXECCOMMAND) $(CT_TEST)
+# PRJ = ..$/..$/..
+# TARGET = checkdispatchapi
+# PRJNAME = framework
+# PACKAGE = complex$/dispatches
+#
+# # --- 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 ConnectivityTools.jar
+# JAVAFILES = checkdispatchapi.java
+#
+# JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
+#
+# SUBDIRS=helper
+#
+# #----- 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)
+#
+#
+#
diff --git a/framework/qa/complex/disposing/GetServiceWhileDisposingOffice.java b/framework/qa/complex/disposing/GetServiceWhileDisposingOffice.java
index ec7a36d3ba..80d08b4126 100755
--- a/framework/qa/complex/disposing/GetServiceWhileDisposingOffice.java
+++ b/framework/qa/complex/disposing/GetServiceWhileDisposingOffice.java
@@ -28,47 +28,91 @@ package complex.disposing;
import com.sun.star.lang.XMultiServiceFactory;
import com.sun.star.uno.UnoRuntime;
-import complexlib.ComplexTestCase;
import com.sun.star.frame.XDesktop;
+// ---------- 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 static org.junit.Assert.*;
+// ------------------------------------------
+
/**
* This test is for bug110698. The Office is closed and is continually connected
* while it closes. This did let the Office freeze. Now when the Office is
* closed, the connection is refused.
*/
-public class GetServiceWhileDisposingOffice extends ComplexTestCase {
+public class GetServiceWhileDisposingOffice
+{
- public String[] getTestMethodNames() {
- return new String[]{"checkServiceWhileDisposing"};
- }
+// public String[] getTestMethodNames()
+// {
+// return new String[]
+// {
+// "checkServiceWhileDisposing"
+// };
+// }
- public void checkServiceWhileDisposing() {
- XMultiServiceFactory xMSF = (XMultiServiceFactory)param.getMSF();
+ @Test public void checkServiceWhileDisposing()
+ {
+ XMultiServiceFactory xMSF = getMSF();
XDesktop xDesktop = null;
- try {
- xDesktop = (XDesktop)UnoRuntime.queryInterface(XDesktop.class,
- xMSF.createInstance("com.sun.star.frame.Desktop"));
+ try
+ {
+ xDesktop = UnoRuntime.queryInterface(XDesktop.class, xMSF.createInstance("com.sun.star.frame.Desktop"));
}
- catch(com.sun.star.uno.Exception e) {
- failed("Could not create a desktop instance.");
+ catch (com.sun.star.uno.Exception e)
+ {
+ fail("Could not create a desktop instance.");
}
int step = 0;
- try {
- log.println("Start the termination of the Office.");
+ try
+ {
+ System.out.println("Start the termination of the Office.");
xDesktop.terminate();
- for ( ; step<10000; step++ ) {
+ for (; step < 10000; step++)
+ {
Object o = xMSF.createInstance("com.sun.star.frame.Desktop");
}
}
- catch(com.sun.star.lang.DisposedException e) {
- log.println("DisposedException in step: " + step);
- e.printStackTrace();
+ catch (com.sun.star.lang.DisposedException e)
+ {
+ System.out.println("DisposedException in step: " + step);
}
- catch(Exception e) {
- e.printStackTrace();
- failed(e.getMessage());
+ catch (Exception e)
+ {
+ fail(e.getMessage());
}
}
+
+
+ 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()");
+ // Office is already terminated.
+ // connection.tearDown();
+ }
+ private static final OfficeConnection connection = new OfficeConnection();
+
}
diff --git a/framework/qa/complex/disposing/makefile.mk b/framework/qa/complex/disposing/makefile.mk
index dac80c08af..f24960421f 100755
--- a/framework/qa/complex/disposing/makefile.mk
+++ b/framework/qa/complex/disposing/makefile.mk
@@ -25,52 +25,37 @@
#
#*************************************************************************
-PRJ = ..$/..$/..
-TARGET = GetServiceWhileDisposingOffice
-PRJNAME = $(TARGET)
-PACKAGE = complex$/disposing
-
-# --- Settings -----------------------------------------------------
-.INCLUDE: settings.mk
-
-
-#----- compile .java files -----------------------------------------
-
-JARFILES = mysql.jar ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar
-JAVAFILES = $(TARGET).java
-JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
-
-#----- make a jar from compiled files ------------------------------
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
+.ELSE
-MAXLINELENGTH = 100000
+PRJ = ../../..
+PRJNAME = framework
+TARGET = qa_complex_disposing
-JARCLASSDIRS = $(PACKAGE)
-JARTARGET = $(TARGET).jar
-JARCOMPRESS = TRUE
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = complex/disposing
-# --- Parameters for the test --------------------------------------
+# here store only Files which contain a @Test
+JAVATESTFILES = \
+ GetServiceWhileDisposingOffice.java
-# 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
+# put here all other files
+JAVAFILES = $(JAVATESTFILES)
-# test base is java complex
-CT_TESTBASE = -TestBase java_complex
+JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
-# test looks something like the.full.package.TestName
-CT_TEST = -o $(PACKAGE:s\$/\.\).$(JAVAFILES:b)
+# Sample how to debug
+# JAVAIFLAGS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9003,suspend=y
-# start the runner application
-CT_APP = org.openoffice.Runner
+.END
-# --- Targets ------------------------------------------------------
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+.INCLUDE: installationtest.mk
-.INCLUDE : target.mk
+ALLTAR : javatest
-RUN:
- +java -cp $(CLASSPATH) $(CT_APP) $(CT_APPEXECCOMMAND) $(CT_TESTBASE) $(CT_TEST)
+.END
-run: RUN
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)
+#
+#
+#
diff --git a/framework/qa/complex/framework/recovery/RecoveryTest.java b/framework/qa/complex/framework/recovery/RecoveryTest.java
index 0afd03b525..523975a837 100644
--- a/framework/qa/complex/framework/recovery/RecoveryTest.java
+++ b/framework/qa/complex/framework/recovery/RecoveryTest.java
@@ -84,6 +84,16 @@ import util.SOfficeFactory;
import util.UITools;
import util.utils;
+// ---------- 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 static org.junit.Assert.*;
+// ------------------------------------------
+
public class RecoveryTest extends ComplexTestCase {
static XMultiServiceFactory xMSF;
diff --git a/framework/qa/complex/imageManager/CheckImageManager.java b/framework/qa/complex/imageManager/CheckImageManager.java
index 4dac998623..f2a6cb1f8b 100755
--- a/framework/qa/complex/imageManager/CheckImageManager.java
+++ b/framework/qa/complex/imageManager/CheckImageManager.java
@@ -1,13 +1,5 @@
-package imageManager;
+package complex.imageManager;
-import imageManager.interfaces._XComponent;
-import imageManager.interfaces._XImageManager;
-import imageManager.interfaces._XInitialization;
-import imageManager.interfaces._XTypeProvider;
-import imageManager.interfaces._XUIConfiguration;
-import imageManager.interfaces._XUIConfigurationPersistence;
-import com.sun.star.beans.PropertyValue;
-import com.sun.star.container.XIndexAccess;
import com.sun.star.lang.XComponent;
import com.sun.star.lang.XInitialization;
import com.sun.star.lang.XMultiServiceFactory;
@@ -15,125 +7,135 @@ import com.sun.star.lang.XTypeProvider;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.XInterface;
import com.sun.star.ui.XImageManager;
-import complexlib.ComplexTestCase;
import com.sun.star.ui.XModuleUIConfigurationManagerSupplier;
import com.sun.star.ui.XUIConfiguration;
import com.sun.star.ui.XUIConfigurationManager;
import com.sun.star.ui.XUIConfigurationPersistence;
-import java.io.PrintWriter;
-import share.LogWriter;
+
+
+// ---------- junit imports -----------------
+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.*;
+// ------------------------------------------
/**
*
*/
-public class CheckImageManager extends ComplexTestCase {
+public class CheckImageManager {
boolean checkUIConfigManager = false;
XMultiServiceFactory xMSF = null;
-
- public void before() {
- xMSF = (XMultiServiceFactory)param.getMSF();
+ /**
+ * The test parameters
+ */
+ private static TestParameters param = null;
+
+ @Before public void before()
+ {
+ xMSF = getMSF();
+ param = new TestParameters();
+ param.put("ServiceFactory", xMSF); // some qadevOOo functions need the ServiceFactory
}
- public String[] getTestMethodNames() {
- return new String[]{"checkImageManagerFromModule"};//, "checkImageManager"};
- }
+// public String[] getTestMethodNames() {
+// return new String[]{"checkImageManagerFromModule"};//, "checkImageManager"};
+// }
- public void checkImageManagerFromModule() {
- log.println(" **** ImageManager from ModuleUIConfigurationManager *** ");
+ @Test public void checkImageManagerFromModule()
+ {
+ System.out.println(" **** ImageManager from ModuleUIConfigurationManager *** ");
XUIConfigurationManager xManager = null;
try {
Object o = (XInterface)xMSF.createInstance(
"com.sun.star.ui.ModuleUIConfigurationManagerSupplier");
XModuleUIConfigurationManagerSupplier xMUICMS =
- (XModuleUIConfigurationManagerSupplier)UnoRuntime.queryInterface(
- XModuleUIConfigurationManagerSupplier.class, o);
+ UnoRuntime.queryInterface(XModuleUIConfigurationManagerSupplier.class, o);
xManager = xMUICMS.getUIConfigurationManager(
"com.sun.star.text.TextDocument");
}
catch(com.sun.star.uno.Exception e) {
- e.printStackTrace((PrintWriter)log);
- failed("Exception. " + e.getMessage());
+ fail("Exception. " + e.getMessage());
}
- XImageManager xImageManager = (XImageManager)UnoRuntime.queryInterface(
- XImageManager.class, xManager.getImageManager());
+ XImageManager xImageManager = UnoRuntime.queryInterface(XImageManager.class, xManager.getImageManager());
performChecks(xImageManager, "ModuleUIConfig", xManager);
}
public void checkImageManager() {
- log.println(" **** ImageManager from UIConfigurationManager *** ");
+ System.out.println(" **** ImageManager from UIConfigurationManager *** ");
XUIConfigurationManager xManager = null;
try {
- xManager = (XUIConfigurationManager)UnoRuntime.queryInterface(
- XUIConfigurationManager.class, xMSF.createInstance(
- "com.sun.star.comp.framework.UIConfigurationManager"));
+ xManager = UnoRuntime.queryInterface(XUIConfigurationManager.class, xMSF.createInstance("com.sun.star.comp.framework.UIConfigurationManager"));
}
catch(com.sun.star.uno.Exception e) {
- e.printStackTrace((PrintWriter)log);
- failed("Exception. " + e.getMessage());
+ fail("Exception. " + e.getMessage());
}
- XImageManager xImageManager = (XImageManager)UnoRuntime.queryInterface(
- XImageManager.class, xManager.getImageManager());
+ XImageManager xImageManager = UnoRuntime.queryInterface(XImageManager.class, xManager.getImageManager());
performChecks(xImageManager, "UIConfig", xManager);
}
private void performChecks(XImageManager xImageManager, String testObjectName, XUIConfigurationManager xManager) {
util.dbg.printInterfaces(xImageManager);
- OXUIConfigurationListenerImpl configListener = new OXUIConfigurationListenerImpl(log, xManager, xMSF);
+ OXUIConfigurationListenerImpl configListener = new OXUIConfigurationListenerImpl(xManager, xMSF);
param.put("XUIConfiguration.XUIConfigurationListenerImpl", configListener);
- XInitialization xInit = (XInitialization)UnoRuntime.queryInterface(XInitialization.class, xImageManager);
- _XInitialization _xInit = new _XInitialization(log, param, xInit);
- assure(testObjectName + "::XInitialization.initialize", _xInit._initialize(), true);
+ XInitialization xInit = UnoRuntime.queryInterface(XInitialization.class, xImageManager);
+ _XInitialization _xInit = new _XInitialization(param, xInit);
+ assertTrue(testObjectName + "::XInitialization.initialize", _xInit._initialize());
// xImageManager is already there, just write a test ;-)
- _XImageManager _xImage = new _XImageManager(log, param, xImageManager);
- assure(testObjectName + "::XImageManager.getAllImageNames", _xImage._getAllImageNames(), true);
- assure(testObjectName + "::XImageManager.getImages", _xImage._getImages(), true);
- assure(testObjectName + "::XImageManager.hasImage", _xImage._hasImage(), true);
- assure(testObjectName + "::XImageManager.insertImages", _xImage._insertImages(), true);
- assure(testObjectName + "::XImageManager.removeImages", _xImage._removeImages(), true);
- assure(testObjectName + "::XImageManager.replaceImages", _xImage._replaceImages(), true);
- assure(testObjectName + "::XImageManager.reset", _xImage._reset(), true);
+ _XImageManager _xImage = new _XImageManager(param, xImageManager);
+ assertTrue(testObjectName + "::XImageManager.getAllImageNames", _xImage._getAllImageNames());
+ assertTrue(testObjectName + "::XImageManager.getImages", _xImage._getImages());
+ assertTrue(testObjectName + "::XImageManager.hasImage", _xImage._hasImage());
+ assertTrue(testObjectName + "::XImageManager.insertImages", _xImage._insertImages());
+ assertTrue(testObjectName + "::XImageManager.removeImages", _xImage._removeImages());
+ assertTrue(testObjectName + "::XImageManager.replaceImages", _xImage._replaceImages());
+ assertTrue(testObjectName + "::XImageManager.reset", _xImage._reset());
- XTypeProvider xType = (XTypeProvider)UnoRuntime.queryInterface(XTypeProvider.class, xImageManager);
- _XTypeProvider _xType = new _XTypeProvider(log,param,xType);
- assure(testObjectName + "::XTypeProvider.getImplementationId", _xType._getImplementationId(), true);
- assure(testObjectName + "::XTypeProvider.getTypes", _xType._getTypes(), true);
+ XTypeProvider xType = UnoRuntime.queryInterface(XTypeProvider.class, xImageManager);
+ _XTypeProvider _xType = new _XTypeProvider(param, xType);
+ assertTrue(testObjectName + "::XTypeProvider.getImplementationId", _xType._getImplementationId());
+ assertTrue(testObjectName + "::XTypeProvider.getTypes", _xType._getTypes());
- XUIConfiguration xUIConfig = (XUIConfiguration)UnoRuntime.queryInterface(XUIConfiguration.class, xImageManager);
- _XUIConfiguration _xUIConfig = new _XUIConfiguration(log, param, xUIConfig);
+ XUIConfiguration xUIConfig = UnoRuntime.queryInterface(XUIConfiguration.class, xImageManager);
+ _XUIConfiguration _xUIConfig = new _XUIConfiguration(param, xUIConfig);
_xUIConfig.before();
- assure(testObjectName + "::XUIConfig.addConfigurationListener", _xUIConfig._addConfigurationListener(), true);
- assure(testObjectName + "::XUIConfig.removeConfigurationListener", _xUIConfig._removeConfigurationListener(), true);
+ assertTrue(testObjectName + "::XUIConfig.addConfigurationListener", _xUIConfig._addConfigurationListener());
+ assertTrue(testObjectName + "::XUIConfig.removeConfigurationListener", _xUIConfig._removeConfigurationListener());
XUIConfigurationPersistence xUIConfigPersistence = (XUIConfigurationPersistence)UnoRuntime.queryInterface(XUIConfiguration.class, xImageManager);
- _XUIConfigurationPersistence _xUIConfigPersistence = new _XUIConfigurationPersistence(log, param, xUIConfigPersistence);
+ _XUIConfigurationPersistence _xUIConfigPersistence = new _XUIConfigurationPersistence(param, xUIConfigPersistence);
_xUIConfigPersistence.before();
- assure(testObjectName + "::XUIConfigPersistence.isModified", _xUIConfigPersistence._isModified(), true);
- assure(testObjectName + "::XUIConfigPersistence.isReadOnly", _xUIConfigPersistence._isReadOnly(), true);
- assure(testObjectName + "::XUIConfigPersistence.reload", _xUIConfigPersistence._reload(), true);
- assure(testObjectName + "::XUIConfigPersistence.store", _xUIConfigPersistence._store(), true);
- assure(testObjectName + "::XUIConfigPersistence.storeToStorage", _xUIConfigPersistence._storeToStorage(), true);
+ assertTrue(testObjectName + "::XUIConfigPersistence.isModified", _xUIConfigPersistence._isModified());
+ // System.out.println(testObjectName + "::XUIConfigPersistence.isReadOnly "+ _xUIConfigPersistence._isReadOnly());
+ assertTrue(testObjectName + "::XUIConfigPersistence.isReadOnly", _xUIConfigPersistence._isReadOnly());
+ assertTrue(testObjectName + "::XUIConfigPersistence.reload", _xUIConfigPersistence._reload());
+ assertTrue(testObjectName + "::XUIConfigPersistence.store", _xUIConfigPersistence._store());
+ assertTrue(testObjectName + "::XUIConfigPersistence.storeToStorage", _xUIConfigPersistence._storeToStorage());
- XComponent xComp = (XComponent)UnoRuntime.queryInterface(XComponent.class, xImageManager);
- _XComponent _xComp = new _XComponent(log, param, xComp);
+ XComponent xComp = UnoRuntime.queryInterface(XComponent.class, xImageManager);
+ _XComponent _xComp = new _XComponent(param, xComp);
_xComp.before();
- assure(testObjectName + "::XComponent.addEventListener", _xComp._addEventListener(), true);
- assure(testObjectName + "::XComponent.removeEventListener", _xComp._removeEventListener(), true);
- assure(testObjectName + "::XComponent.dispose", _xComp._dispose(), true);
+ assertTrue(testObjectName + "::XComponent.addEventListener", _xComp._addEventListener());
+ assertTrue(testObjectName + "::XComponent.removeEventListener", _xComp._removeEventListener());
+ assertTrue(testObjectName + "::XComponent.dispose", _xComp._dispose());
}
class OXUIConfigurationListenerImpl implements _XUIConfiguration.XUIConfigurationListenerImpl {
private boolean triggered = false;
- private LogWriter log = null;
private XUIConfigurationManager xUIManager = null;
private XMultiServiceFactory xMSF = null;
- public OXUIConfigurationListenerImpl(LogWriter _log, XUIConfigurationManager xUIManager, XMultiServiceFactory xMSF) {
- log = _log;
+ public OXUIConfigurationListenerImpl(XUIConfigurationManager xUIManager, XMultiServiceFactory xMSF) {
+
this.xUIManager = xUIManager;
this.xMSF = xMSF;
}
@@ -167,23 +169,23 @@ public class CheckImageManager extends ComplexTestCase {
}
catch(com.sun.star.container.NoSuchElementException e) {
- log.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
+ System.out.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
e.printStackTrace((java.io.PrintWriter)log);
}
catch(com.sun.star.lang.IllegalArgumentException e) {
- log.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
+ System.out.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
e.printStackTrace((java.io.PrintWriter)log);
}
catch(com.sun.star.lang.IllegalAccessException e) {
- log.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
+ System.out.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
e.printStackTrace((java.io.PrintWriter)log);
}
catch(com.sun.star.lang.IndexOutOfBoundsException e) {
- log.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
+ System.out.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
e.printStackTrace((java.io.PrintWriter)log);
}
catch(com.sun.star.lang.WrappedTargetException e) {
- log.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
+ System.out.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
e.printStackTrace((java.io.PrintWriter)log);
} */
}
@@ -194,4 +196,28 @@ public class CheckImageManager extends ComplexTestCase {
}
}
+
+ 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/imageManager/interfaces/_XComponent.java b/framework/qa/complex/imageManager/_XComponent.java
index e86743c7b5..10545f6a27 100755
--- a/framework/qa/complex/imageManager/interfaces/_XComponent.java
+++ b/framework/qa/complex/imageManager/_XComponent.java
@@ -25,11 +25,9 @@
*
************************************************************************/
-package imageManager.interfaces;
+package complex.imageManager;
import com.sun.star.container.XNameContainer;
-import share.LogWriter;
-
import com.sun.star.frame.XDesktop;
import com.sun.star.lang.EventObject;
import com.sun.star.lang.XComponent;
@@ -54,7 +52,6 @@ public class _XComponent {
private XNameContainer xContainer = null;
private XComponent altDispose = null;
TestParameters tEnv = null;
- LogWriter log = null;
boolean listenerDisposed[] = new boolean[2];
String[] Loutput = new String[2];
@@ -78,8 +75,7 @@ public class _XComponent {
XEventListener listener1 = new MyEventListener(0, "EV1");
XEventListener listener2 = new MyEventListener(1, "EV2");
- public _XComponent(LogWriter log, TestParameters tEnv, XComponent oObj) {
- this.log = log;
+ public _XComponent(TestParameters tEnv, XComponent oObj) {
this.tEnv = tEnv;
this.oObj = oObj;
}
@@ -119,10 +115,14 @@ public class _XComponent {
* <code>dispose</code> method call.
*/
public boolean _removeEventListener() {
- if (disposed) return false;
+ if (disposed)
+ {
+ System.out.println("Hint: already disposed.");
+ return false;
+ }
// the second listener should not be called
oObj.removeEventListener( listener2 );
- log.println(Thread.currentThread() + " is removing EL " + listener2);
+ System.out.println(Thread.currentThread() + " is removing EL " + listener2);
return true;
} // finished _removeEventListener()
@@ -142,24 +142,32 @@ public class _XComponent {
public boolean _dispose() {
disposed = false;
- log.println( "begin dispose" + Thread.currentThread());
+ System.out.println( "begin dispose" + Thread.currentThread());
XDesktop oDesk = (XDesktop) tEnv.get("Desktop");
if (oDesk !=null) {
oDesk.terminate();
}
else {
if (altDispose == null)
+ {
oObj.dispose();
+ }
else
+ {
altDispose.dispose();
+ }
}
try {
Thread.sleep(500) ;
} catch (InterruptedException e) {}
- if (Loutput[0]!=null) log.println(Loutput[0]);
- if (Loutput[1]!=null) log.println(Loutput[1]);
- log.println( "end dispose" + Thread.currentThread());
+ if (Loutput[0]!=null){
+ System.out.println(Loutput[0]);
+ }
+ if (Loutput[1]!=null) {
+ System.out.println(Loutput[1]);
+ }
+ System.out.println( "end dispose" + Thread.currentThread());
disposed = true;
// check that dispose() works OK.
diff --git a/framework/qa/complex/imageManager/interfaces/_XImageManager.java b/framework/qa/complex/imageManager/_XImageManager.java
index bc0a124cf3..8e2cb097fa 100755
--- a/framework/qa/complex/imageManager/interfaces/_XImageManager.java
+++ b/framework/qa/complex/imageManager/_XImageManager.java
@@ -24,26 +24,26 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-package imageManager.interfaces;
+package complex.imageManager;
import com.sun.star.graphic.XGraphic;
import com.sun.star.ui.ImageType;
import com.sun.star.ui.XImageManager;
import lib.TestParameters;
-import share.LogWriter;
+
/**
*
*/
public class _XImageManager {
- LogWriter log = null;
+
TestParameters tEnv = null;
String[]imageNames = null;
XGraphic[] xGraphicArray = null;
public XImageManager oObj;
- public _XImageManager(LogWriter log, TestParameters tEnv, XImageManager oObj) {
- this.log = log;
+ public _XImageManager( TestParameters tEnv, XImageManager oObj) {
+
this.tEnv = tEnv;
this.oObj = oObj;
}
@@ -52,7 +52,9 @@ public class _XImageManager {
short s = ImageType.COLOR_NORMAL + ImageType.SIZE_DEFAULT;
imageNames = oObj.getAllImageNames(s);
for (int i=0; i<(imageNames.length>10?10:imageNames.length); i++)
+ {
System.out.println("###### Image: " + imageNames[i]);
+ }
return imageNames != null;
}
@@ -70,11 +72,12 @@ public class _XImageManager {
boolean result = true;
short s = ImageType.COLOR_NORMAL + ImageType.SIZE_DEFAULT;
try { // check the first image names, 10 at max
- for (int i=0; i<(imageNames.length>10?10:imageNames.length); i++)
+ for (int i=0; i<(imageNames.length>10?10:imageNames.length); i++)
+ {
result &= oObj.hasImage(s, imageNames[i]);
+ }
}
catch(com.sun.star.lang.IllegalArgumentException e) {
- e.printStackTrace((java.io.PrintWriter)log);
result = false;
}
return result;
diff --git a/framework/qa/complex/imageManager/interfaces/_XInitialization.java b/framework/qa/complex/imageManager/_XInitialization.java
index 115f581f7e..7af6a0d735 100755
--- a/framework/qa/complex/imageManager/interfaces/_XInitialization.java
+++ b/framework/qa/complex/imageManager/_XInitialization.java
@@ -25,9 +25,9 @@
*
************************************************************************/
-package imageManager.interfaces;
+package complex.imageManager;
+
-import share.LogWriter;
import com.sun.star.lang.XInitialization;
@@ -48,12 +48,12 @@ import lib.TestParameters;
*/
public class _XInitialization {
- LogWriter log = null;
+
TestParameters tEnv = null;
public static XInitialization oObj = null;
- public _XInitialization(LogWriter log, TestParameters tEnv, XInitialization oObj) {
- this.log = log;
+ public _XInitialization(TestParameters tEnv, XInitialization oObj) {
+
this.tEnv = tEnv;
this.oObj = oObj;
}
@@ -75,8 +75,7 @@ public class _XInitialization {
}
} catch (com.sun.star.uno.Exception e) {
- log.println("Exception occured while method calling.") ;
- e.printStackTrace((java.io.PrintWriter)log) ;
+ System.out.println("Exception occured while method calling.") ;
result = false ;
}
diff --git a/framework/qa/complex/imageManager/interfaces/_XTypeProvider.java b/framework/qa/complex/imageManager/_XTypeProvider.java
index 7af00b163e..845d782706 100755
--- a/framework/qa/complex/imageManager/interfaces/_XTypeProvider.java
+++ b/framework/qa/complex/imageManager/_XTypeProvider.java
@@ -25,9 +25,8 @@
*
************************************************************************/
-package imageManager.interfaces;
+package complex.imageManager;
-import share.LogWriter;
import com.sun.star.lang.XTypeProvider;
@@ -46,13 +45,13 @@ import lib.TestParameters;
*/
public class _XTypeProvider {
- LogWriter log = null;
+
TestParameters tEnv = null;
public static XTypeProvider oObj = null;
public static Type[] types = null;
- public _XTypeProvider(LogWriter log, TestParameters tEnv, XTypeProvider oObj) {
- this.log = log;
+ public _XTypeProvider(TestParameters tEnv, XTypeProvider oObj) {
+
this.tEnv = tEnv;
this.oObj = oObj;
}
@@ -63,9 +62,9 @@ public class _XTypeProvider {
*/
public boolean _getImplementationId() {
boolean result = true;
- log.println("testing getImplementationId() ... ");
+ System.out.println("testing getImplementationId() ... ");
- log.println("The ImplementationId is "+oObj.getImplementationId());
+ System.out.println("The ImplementationId is "+oObj.getImplementationId());
result = true;
return result;
@@ -74,24 +73,24 @@ public class _XTypeProvider {
/**
- * Ñalls the method and checks the return value.<p>
+ * Calls the method and checks the return value.<p>
* Has <b>OK</b> status if one of the return value equals to the
* type <code>com.sun.star.lang.XTypeProvider</code>.
*/
public boolean _getTypes() {
boolean result = false;
- log.println("getting Types...");
+ System.out.println("getting Types...");
types = oObj.getTypes();
for (int i=0;i<types.length;i++) {
int k = i+1;
- log.println(k+". Type is "+types[i].toString());
+ System.out.println(k+". Type is "+types[i].toString());
if (types[i].toString().equals
("Type[com.sun.star.lang.XTypeProvider]")) {
result = true;
}
}
if (!result) {
- log.println("Component must provide Type "
+ System.out.println("Component must provide Type "
+"<com.sun.star.lang.XTypeProvider>");
}
diff --git a/framework/qa/complex/imageManager/interfaces/_XUIConfiguration.java b/framework/qa/complex/imageManager/_XUIConfiguration.java
index 1a3936bbc6..da1c81ae25 100755
--- a/framework/qa/complex/imageManager/interfaces/_XUIConfiguration.java
+++ b/framework/qa/complex/imageManager/_XUIConfiguration.java
@@ -25,20 +25,18 @@
*
************************************************************************/
-package imageManager.interfaces;
+package complex.imageManager;
+
-import com.sun.star.lang.XServiceInfo;
-import com.sun.star.uno.UnoRuntime;
-import com.sun.star.ui.XModuleUIConfigurationManagerSupplier;
import com.sun.star.ui.XUIConfiguration;
import com.sun.star.ui.XUIConfigurationListener;
import lib.TestParameters;
-import share.LogWriter;
+
public class _XUIConfiguration {
- LogWriter log = null;
+
TestParameters tEnv = null;
public XUIConfiguration oObj;
XUIConfigurationListenerImpl xListener = null;
@@ -51,8 +49,7 @@ public class _XUIConfiguration {
}
- public _XUIConfiguration(LogWriter log, TestParameters tEnv, XUIConfiguration oObj) {
- this.log = log;
+ public _XUIConfiguration(TestParameters tEnv, XUIConfiguration oObj) {
this.tEnv = tEnv;
this.oObj = oObj;
}
diff --git a/framework/qa/complex/imageManager/interfaces/_XUIConfigurationPersistence.java b/framework/qa/complex/imageManager/_XUIConfigurationPersistence.java
index b3fb3a1e76..cb398db23f 100755
--- a/framework/qa/complex/imageManager/interfaces/_XUIConfigurationPersistence.java
+++ b/framework/qa/complex/imageManager/_XUIConfigurationPersistence.java
@@ -25,26 +25,23 @@
*
************************************************************************/
-package imageManager.interfaces;
+package complex.imageManager;
import com.sun.star.embed.XStorage;
-import com.sun.star.lang.XServiceInfo;
-import com.sun.star.uno.UnoRuntime;
-import com.sun.star.ui.XModuleUIConfigurationManagerSupplier;
import com.sun.star.ui.XUIConfigurationPersistence;
import lib.TestParameters;
-import share.LogWriter;
+
public class _XUIConfigurationPersistence {
- LogWriter log = null;
+
TestParameters tEnv = null;
public XUIConfigurationPersistence oObj;
private XStorage xStore = null;
- public _XUIConfigurationPersistence(LogWriter log, TestParameters tEnv, XUIConfigurationPersistence oObj) {
- this.log = log;
+ public _XUIConfigurationPersistence(TestParameters tEnv, XUIConfigurationPersistence oObj) {
+
this.tEnv = tEnv;
this.oObj = oObj;
}
@@ -58,7 +55,7 @@ public class _XUIConfigurationPersistence {
oObj.reload();
}
catch(com.sun.star.uno.Exception e) {
- e.printStackTrace((java.io.PrintWriter)log);
+
}
return true;
}
@@ -68,7 +65,7 @@ public class _XUIConfigurationPersistence {
oObj.store();
}
catch(com.sun.star.uno.Exception e) {
- e.printStackTrace((java.io.PrintWriter)log);
+
}
return true;
}
@@ -80,7 +77,7 @@ public class _XUIConfigurationPersistence {
}
catch(com.sun.star.uno.Exception e) {
result = false;
- e.printStackTrace((java.io.PrintWriter)log);
+
}
return result;
}
diff --git a/framework/qa/complex/imageManager/interfaces/makefile.mk b/framework/qa/complex/imageManager/interfaces/makefile.mk
index 039eba5760..f7b6f5ebf0 100755
--- a/framework/qa/complex/imageManager/interfaces/makefile.mk
+++ b/framework/qa/complex/imageManager/interfaces/makefile.mk
@@ -25,10 +25,10 @@
#
#*************************************************************************
-PRJ = ..$/..$/..$/..
+PRJ = ../../../..
TARGET = ImageManager
PRJNAME = framework
-PACKAGE = imageManager$/interfaces
+PACKAGE = complex/imageManager/interfaces
# --- Settings -----------------------------------------------------
.INCLUDE: settings.mk
@@ -37,10 +37,16 @@ PACKAGE = imageManager$/interfaces
#----- compile .java files -----------------------------------------
JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar
-JAVAFILES = _XComponent.java _XUIConfiguration.java _XImageManager.java \
- _XUIConfigurationPersistence.java _XInitialization.java _XTypeProvider.java
-JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
+JAVAFILES = \
+_XComponent.java \
+_XUIConfiguration.java \
+_XImageManager.java \
+_XUIConfigurationPersistence.java \
+_XInitialization.java \
+_XTypeProvider.java
+
+JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)/$(PACKAGE)/$(i:b).class)
#----- make a jar from compiled files ------------------------------
diff --git a/framework/qa/complex/imageManager/makefile.mk b/framework/qa/complex/imageManager/makefile.mk
index 3b508b718d..133e522b13 100755
--- a/framework/qa/complex/imageManager/makefile.mk
+++ b/framework/qa/complex/imageManager/makefile.mk
@@ -25,55 +25,99 @@
#
#*************************************************************************
-PRJ = ..$/..$/..
-TARGET = ImageManager
-PRJNAME = framework
-PACKAGE = imageManager
-
-# --- Settings -----------------------------------------------------
-.INCLUDE: settings.mk
-
-
-#----- compile .java files -----------------------------------------
-
-JARFILES = mysql.jar mysql.jar ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar
-JAVAFILES = CheckImageManager.java
-JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
-
-#----- make a jar from compiled files ------------------------------
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
+.ELSE
-MAXLINELENGTH = 100000
+PRJ = ../../..
+PRJNAME = framework
+TARGET = qa_complex_imageManager
-JARCLASSDIRS = $(PACKAGE)
-JARTARGET = $(TARGET).jar
-JARCOMPRESS = TRUE
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = complex/imageManager
-# --- Parameters for the test --------------------------------------
+# here store only Files which contain a @Test
+JAVATESTFILES = \
+ CheckImageManager.java
-# 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
+# put here all other files
+JAVAFILES = $(JAVATESTFILES) \
+ _XComponent.java \
+ _XImageManager.java \
+ _XInitialization.java \
+ _XTypeProvider.java \
+ _XUIConfiguration.java \
+ _XUIConfigurationPersistence.java
-# test base is java complex
-CT_TESTBASE = -TestBase java_complex
+JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
-# replace $/ with . in package name
-CT_PACKAGE = -o $(PACKAGE:s\$/\.\)
+# Sample how to debug
+# JAVAIFLAGS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9003,suspend=y
-# start the runner application
-CT_APP = org.openoffice.Runner
+.END
-# --- Targets ------------------------------------------------------
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+.INCLUDE: installationtest.mk
-.INCLUDE : target.mk
+ALLTAR : javatest
-RUN: run
+.END
-run:
- +java -cp $(CLASSPATH) $(CT_APP) $(CT_TESTBASE) $(CT_APPEXECCOMMAND) $(CT_PACKAGE).CheckImageManager
+#
+#
+# PRJ = ..$/..$/..
+# TARGET = ImageManager
+# PRJNAME = framework
+# PACKAGE = imageManager
+#
+# # --- Settings -----------------------------------------------------
+# .INCLUDE: settings.mk
+#
+#
+# #----- compile .java files -----------------------------------------
+#
+# JARFILES = mysql.jar mysql.jar ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar
+# JAVAFILES = CheckImageManager.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
+#
+# # replace $/ with . in package name
+# CT_PACKAGE = -o $(PACKAGE:s\$/\.\)
+#
+# # start the runner application
+# CT_APP = org.openoffice.Runner
+#
+# # --- Targets ------------------------------------------------------
+#
+# .INCLUDE : target.mk
+#
+# RUN: run
+#
+# run:
+# +java -cp $(CLASSPATH) $(CT_APP) $(CT_TESTBASE) $(CT_APPEXECCOMMAND) $(CT_PACKAGE).CheckImageManager
+#
+#
diff --git a/framework/qa/complex/loadAllDocuments/CheckXComponentLoader.java b/framework/qa/complex/loadAllDocuments/CheckXComponentLoader.java
index f65612e247..3df97b0542 100644
--- a/framework/qa/complex/loadAllDocuments/CheckXComponentLoader.java
+++ b/framework/qa/complex/loadAllDocuments/CheckXComponentLoader.java
@@ -28,30 +28,17 @@
package complex.loadAllDocuments;
import com.sun.star.beans.PropertyValue;
-import com.sun.star.beans.XPropertySet;
-import com.sun.star.comp.loader.FactoryHelper;
import com.sun.star.frame.FrameSearchFlag;
import com.sun.star.frame.XComponentLoader;
import com.sun.star.frame.XFrame;
import com.sun.star.frame.XStorable;
import com.sun.star.io.XInputStream;
import com.sun.star.lang.XComponent;
-import com.sun.star.lang.XInitialization;
import com.sun.star.lang.XMultiServiceFactory;
-import com.sun.star.lang.XServiceInfo;
-import com.sun.star.lang.XSingleServiceFactory;
-import com.sun.star.lang.XTypeProvider;
-import com.sun.star.registry.XRegistryKey;
-import com.sun.star.uno.Type;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.util.XCloseable;
import com.sun.star.ucb.XSimpleFileAccess;
-import complex.loadAllDocuments.helper.InteractionHandler;
-import complex.loadAllDocuments.helper.StatusIndicator;
-import complex.loadAllDocuments.helper.StreamSimulator;
-
-import complexlib.ComplexTestCase;
import helper.URLHelper;
@@ -59,9 +46,19 @@ import java.io.File;
import java.io.InputStreamReader;
import java.util.Enumeration;
-import java.util.StringTokenizer;
import java.util.Vector;
+// ---------- 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 org.openoffice.test.OfficeFileUrl;
+import static org.junit.Assert.*;
+// ------------------------------------------
+
//-----------------------------------------------
/** @short Check the interface method XComponentLoader.loadComponentFromURL()
@@ -80,7 +77,7 @@ import java.util.Vector;
@todo We need a further test for accessing UNC pathes on windows!
*/
-public class CheckXComponentLoader extends ComplexTestCase
+public class CheckXComponentLoader
{
//-------------------------------------------
// some const
@@ -96,7 +93,7 @@ public class CheckXComponentLoader extends ComplexTestCase
/** File/URL separators. */
private static final String fs_url = "/";
- private static final String fs_sys = System.getProperty("file.separator");
+ // private static final String fs_sys = System.getProperty("file.separator");
/** used for testing password protected files. */
private static final String SUFFIX_PASSWORD_TEMPFILE = "password_";
@@ -140,18 +137,18 @@ public class CheckXComponentLoader extends ComplexTestCase
@return All test methods.
@todo Think about selection of tests from outside ...
*/
- public String[] getTestMethodNames()
- {
- // TODO think about trigger of sub-tests from outside
- return new String[]
- {
- "checkURLEncoding" ,
- "checkURLHandling" ,
- "checkUsingOfMediaDescriptor",
- "checkStreamLoading" ,
- "checkLoadingWithPassword"
- };
- }
+// public String[] getTestMethodNames()
+// {
+// // TODO think about trigger of sub-tests from outside
+// return new String[]
+// {
+// "checkURLEncoding" ,
+// "checkURLHandling" ,
+// "checkUsingOfMediaDescriptor",
+// "checkStreamLoading" ,
+// "checkLoadingWithPassword"
+// };
+// }
//-------------------------------------------
/** @short Create the environment for following tests.
@@ -159,59 +156,51 @@ public class CheckXComponentLoader extends ComplexTestCase
@descr Use either a component loader from desktop or
from frame
*/
- public void before()
+ @Before public void before()
{
// get uno service manager from global test environment
- m_xMSF = (XMultiServiceFactory)param.getMSF();
+ m_xMSF = getMSF();
// create stream provider
try
{
- m_xStreamProvider = (XSimpleFileAccess)UnoRuntime.queryInterface(
- XSimpleFileAccess.class,
- m_xMSF.createInstance("com.sun.star.ucb.SimpleFileAccess"));
+ m_xStreamProvider = UnoRuntime.queryInterface(XSimpleFileAccess.class, m_xMSF.createInstance("com.sun.star.ucb.SimpleFileAccess"));
}
catch(java.lang.Throwable ex)
{
- ex.printStackTrace();
- failed("Could not create a stream provider instance.");
+ fail("Could not create a stream provider instance.");
}
// create desktop instance
try
{
- m_xDesktop = (XFrame)UnoRuntime.queryInterface(
- XFrame.class,
- m_xMSF.createInstance("com.sun.star.frame.Desktop"));
+ m_xDesktop = UnoRuntime.queryInterface(XFrame.class, m_xMSF.createInstance("com.sun.star.frame.Desktop"));
}
catch(java.lang.Throwable ex)
{
- ex.printStackTrace();
- failed("Could not create the desktop instance.");
+ fail("Could not create the desktop instance.");
}
// create frame instance
- m_xFrame = m_xDesktop.findFrame("testFrame_componentLoader" ,
+ m_xFrame = m_xDesktop.findFrame("testFrame_componentLoader",
FrameSearchFlag.TASKS | FrameSearchFlag.CREATE);
- if (m_xFrame==null)
- failed("Couldn't create test frame.");
+ assertNotNull("Couldn't create test frame.", m_xFrame);
// define default loader for testing
// TODO think about using of bot loader instances!
- m_xLoader = (XComponentLoader)UnoRuntime.queryInterface(
- XComponentLoader.class,
- m_xDesktop);
- if (m_xLoader==null)
- failed("Desktop service doesnt support needed component loader interface.");
+ m_xLoader = UnoRuntime.queryInterface(XComponentLoader.class, m_xDesktop);
+ assertNotNull("Desktop service doesnt support needed component loader interface.", m_xLoader);
// get temp path for this environment
- m_sTempPath = (String) param.get("TempPath");
- m_sTempPath = "."+fs_sys;
+ final String tempDirURL = util.utils.getOfficeTemp/*Dir*/(getMSF());
+ m_sTempPath = graphical.FileHelper.getSystemPathFromFileURL(tempDirURL);
+ // m_sTempPath = "."+fs_sys;
// get all files from the given directory
// TODO URLHelper should ignore directories!
m_lTestFiles = new Vector();
- m_sTestDocPath = (String) param.get("TestDocumentPath");
+ final String sTestDocURL = OfficeFileUrl.getAbsolute(new File("testdocuments"));
+ m_sTestDocPath = graphical.FileHelper.getSystemPathFromFileURL(sTestDocURL);
try
{
File aBaseDir = new File(m_sTestDocPath);
@@ -232,36 +221,35 @@ public class CheckXComponentLoader extends ComplexTestCase
}
String sCompletePath = aFile.getAbsolutePath();
- String sSubPath = sCompletePath.substring(nBasePathLength + 1);
+ String sSubPath = sCompletePath.substring(nBasePathLength);
// Some test files are checked into CVS. ignore CVS helper files!
- if (sSubPath.indexOf("CVS") > -1)
- continue;
+// if (sSubPath.indexOf("CVS") > -1)
+// {
+// continue;
+// }
m_lTestFiles.add(sSubPath);
}
}
catch(java.lang.Throwable ex)
{
- ex.printStackTrace();
- failed("Couldn't find test documents.");
+ fail("Couldn't find test documents.");
}
}
//-------------------------------------------
/** @short close the environment.
*/
- public void after()
+ @After public void after()
{
- XCloseable xClose = (XCloseable)UnoRuntime.queryInterface(
- XCloseable.class,
- m_xFrame);
+ XCloseable xClose = UnoRuntime.queryInterface(XCloseable.class, m_xFrame);
try
{
xClose.close(false);
}
catch(com.sun.star.util.CloseVetoException exVeto)
- { failed("Test frame couldn't be closed successfully."); }
+ { fail("Test frame couldn't be closed successfully."); }
m_xFrame = null;
m_xLoader = null;
@@ -270,7 +258,7 @@ public class CheckXComponentLoader extends ComplexTestCase
//-------------------------------------------
/** @short Look for files in the given directory for loading.
*/
- public void checkUsingOfMediaDescriptor()
+ @Test public void checkUsingOfMediaDescriptor()
{
InteractionHandler xHandler = new InteractionHandler();
StatusIndicator xIndicator = new StatusIndicator(StatusIndicator.SHOWSTATUS_LOG);
@@ -292,17 +280,26 @@ public class CheckXComponentLoader extends ComplexTestCase
Enumeration aSnapshot = m_lTestFiles.elements();
while (aSnapshot.hasMoreElements())
{
- File aSysFile = new File(m_sTestDocPath+fs_sys+(String)aSnapshot.nextElement());
+ File aSysFile = new File(m_sTestDocPath, (String)aSnapshot.nextElement());
String sURL = URLHelper.getFileURLFromSystemPath(aSysFile);
- loadURL(m_xLoader, RESULT_VALID_DOC, sURL, "_blank", 0, lProps);
-
- // Its not needed to reset this using states!
- // Its done internaly ...
- if (!xIndicator.wasUsed())
- failed("External progress was not used for loading.");
- if (xHandler.wasUsed())
- failed("External interaction handler was not used for loading.");
+ if (/*! (sURL.endsWith(".jpg") ||
+ sURL.endsWith(".gif"))*/
+ true
+ )
+ {
+ loadURL(m_xLoader, RESULT_VALID_DOC, sURL, "_blank", 0, lProps);
+ // Its not needed to reset this using states!
+ // Its done internaly ...
+ if (!xIndicator.wasUsed())
+ {
+ System.out.println("External progress was not used for loading.");
+ }
+ if (xHandler.wasUsed())
+ {
+ System.out.println("External interaction handler was not used for loading.");
+ }
+ }
}
}
@@ -313,17 +310,23 @@ public class CheckXComponentLoader extends ComplexTestCase
String sPrefix )
{
File aDir = new File(sTempPath);
- if (!aDir.exists())
- failed("Could not access temp directory \""+sTempPath+"\".");
+ aDir.mkdirs();
+// if (!aDir.exists())
+// {
+// fail("Could not access temp directory \"" + sTempPath + "\".");
+// }
+ // TODO: create a temp file which not exist!
for (int i=0; i<999999; ++i)
{
File aTempFile = new File(aDir, sSuffix+i+sPrefix);
if (!aTempFile.exists())
+ {
return aTempFile.getAbsolutePath();
+ }
}
- failed("Seems that all temp file names are currently in use!");
+ fail("Seems that all temp file names are currently in use!");
return null;
}
@@ -360,25 +363,19 @@ public class CheckXComponentLoader extends ComplexTestCase
{
// load it
xDoc = xLoader.loadComponentFromURL(sSourceURL, "_blank", 0, lLoadProps);
- if (xDoc == null)
- failed("Could create office document, which should be saved as temp one.");
+ assertNotNull("Could create office document, which should be saved as temp one.", xDoc);
// save it as temp file
- XStorable xStore = (XStorable)UnoRuntime.queryInterface(
- XStorable.class,
- xDoc);
+ XStorable xStore = UnoRuntime.queryInterface(XStorable.class, xDoc);
xStore.storeAsURL(sTargetURL, lSaveProps);
// Dont forget to close this file. Otherwise the temp file is locked!
- XCloseable xClose = (XCloseable)UnoRuntime.queryInterface(
- XCloseable.class,
- xDoc);
+ XCloseable xClose = UnoRuntime.queryInterface(XCloseable.class, xDoc);
xClose.close(false);
}
catch(java.lang.Throwable ex)
{
- ex.printStackTrace();
- failed("Could not create temp office document.");
+ fail("Could not create temp office document.");
}
}
@@ -389,7 +386,7 @@ public class CheckXComponentLoader extends ComplexTestCase
as password for the ftp connection,
or - if none given a default one.
*/
- public void checkLoadingWithPassword()
+ @Test public void checkLoadingWithPassword()
{
String sTempFile = impl_getTempFileName(m_sTempPath, SUFFIX_PASSWORD_TEMPFILE, PREFIX_PASSWORD_TEMPFILE);
File aTestFile = new File(sTempFile);
@@ -414,14 +411,14 @@ public class CheckXComponentLoader extends ComplexTestCase
lArgs2[0].Value = Boolean.TRUE;
loadURL(m_xLoader, RESULT_VALID_DOC, sTestURL, "_blank", 0, lArgs1);
- loadURL(m_xLoader, RESULT_EMPTY_DOC, sTestURL, "_blank", 0, lArgs2);
+// TODO: wrong? loadURL(m_xLoader, RESULT_EMPTY_DOC, sTestURL, "_blank", 0, lArgs2);
}
/**
* Check URL encoding. The first filename that matches "*.sxw"
* is used as source for several encodings.
*/
- public void checkURLEncoding() {
+ @Test public void checkURLEncoding() {
PropertyValue[] lProps = new PropertyValue[1];
lProps[0] = new PropertyValue();
@@ -432,21 +429,17 @@ public class CheckXComponentLoader extends ComplexTestCase
InputStreamReader in = new InputStreamReader(System.in);
String sSystemEncoding = in.getEncoding();
- log.println("This system's encoding: " + sSystemEncoding);
+ System.out.println("This system's encoding: " + sSystemEncoding);
- if (m_lTestFiles == null) {
- failed("Found an empty directory. There are no files for testing.");
+ assertNotNull("Found an empty directory. There are no files for testing.", m_lTestFiles);
- return;
- }
// get a file name as byte array
Enumeration aSnapshot = m_lTestFiles.elements();
byte[] baURL = null;
while (aSnapshot.hasMoreElements()) {
- File aFile = new File(m_sTestDocPath + fs_sys +
- aSnapshot.nextElement());
+ File aFile = new File(m_sTestDocPath, (String)aSnapshot.nextElement());
String sFile = URLHelper.getFileURLFromSystemPath(aFile);
// take the first sxw file as stream
@@ -457,11 +450,7 @@ public class CheckXComponentLoader extends ComplexTestCase
}
}
- if (baURL == null) {
- failed("Found no file to load. Cannot test.");
-
- return;
- }
+ assertNotNull("Found no file to load. Cannot test.", baURL);
//construct several different encoded strings
String[] sEncoding = new String[] {
@@ -477,7 +466,7 @@ public class CheckXComponentLoader extends ComplexTestCase
for (int i = 0; i < sEncoding.length; i = i + 2) {
try {
String encURL = new String(baURL, sEncoding[i]);
- log.println("ENC[" + sEncoding[i] + "]");
+ System.out.println("ENC[" + sEncoding[i] + "]");
if (sEncoding[i + 1].equals("TRUE")) {
loadURL(m_xLoader, RESULT_VALID_DOC, encURL, "_blank", 0,
@@ -488,8 +477,8 @@ public class CheckXComponentLoader extends ComplexTestCase
lProps);
}
} catch (java.io.UnsupportedEncodingException e) {
- failed("Unsopported Encoding: " + sEncoding[i] +
- "\n Not able to test encoding on this platform.", true);
+ fail("Unsopported Encoding: " + sEncoding[i] +
+ "\n Not able to test encoding on this platform.");
}
}
}
@@ -502,107 +491,107 @@ public class CheckXComponentLoader extends ComplexTestCase
* 4. FTP URLs
* 5. HTTP URLs
*/
- public void checkURLHandling() {
- PropertyValue[] lProps = new PropertyValue[1];
-
- lProps[0] = new PropertyValue();
- lProps[0].Name = "Hidden";
- lProps[0].Value = Boolean.TRUE;
-
- log.println("check possible but unsupported URLs");
-
- String[] sIllegalArgs = new String[] {
- "slot:5000", "slot:10909", ".uno:SaveAs", ".uno:Open",
- };
- loadURL(m_xLoader, RESULT_ILLEGALARGUMENTEXCEPTION, sIllegalArgs,
- "_blank", 0, lProps);
-
- log.println("check stupid URLs");
-
- sIllegalArgs = new String[] {
- "slot:xxx", "slot:111111111", ".uno:save_as", ".uno:open_this",
- ".UnO:*",
- };
- loadURL(m_xLoader, RESULT_ILLEGALARGUMENTEXCEPTION, sIllegalArgs,
- "_blank", 0, lProps);
-
- String[] sEmptyDocs = new String[] {
- "mailo:hansi.meier@germany.sun.com", "file:/c:\\test/file.cxx",
- "file:///c|:\\test/file.cxx", "http_server://staroffice-doc\\",
- "c:\\\\test///\\test.sxw", "news_:staroffice-doc",
- "newsletter@blubber", "private_factory/swriter",
- "private:factory//swriter", "private:factory/swriter/___",
- "c:\\test\\test.sxw", "macro:///ImportWizard.Main.Main",
- "macro:///Euro.AutoPilotRun.StartAutoPilot",
- "service:com.sun.star.frame.Frame",
- "mailto:steffen.grund@germany.sun.com", "news:staroffice-doc",
- "macro:/ExportWizard", "macro://Euro.AutoPilotRun.StartAutoPilot",
- "service:com.sun.star.frame."
- };
-
- //with cws_loadenv01 changed to IllegalArgumentException
- loadURL(m_xLoader, RESULT_ILLEGALARGUMENTEXCEPTION, sEmptyDocs, "_blank", 0,
- lProps);
-
- log.println("check case senstive URLs");
-
- sIllegalArgs = new String[] {
- "sLot:5000", "sloT:10909", ".unO:SaveAs", ".uno:OPEN",
- };
- loadURL(m_xLoader, RESULT_ILLEGALARGUMENTEXCEPTION, sIllegalArgs,
- "_blank", 0, lProps);
-
- sEmptyDocs = new String[] {
- "private:factory/SWRITER", "private:factory/SWRITER/WEB",
- "macro:///importwizard.main.main",
- "Macro:///euro.autopilotrun.startautopilot",
- "Service:Com.Sun.Star.Frame.Frame",
- "Mailto:andreas.schluens@germany.sun.com", "neWs:staroffice-doc",
- "News:Staroffice-doc"
- };
-
- //with cws_loadenv01 changed to IllegalArgumentException
- loadURL(m_xLoader, RESULT_ILLEGALARGUMENTEXCEPTION, sEmptyDocs, "_blank", 0,
- lProps);
-
- log.println("check FTP URLs");
-
- String sFTPURL = (String) param.get("FtpAccess");
- Enumeration aSnapshot = m_lTestFiles.elements();
-
- while (aSnapshot.hasMoreElements()) {
- String doc = (String) aSnapshot.nextElement();
-
-
- // if os is windows
- doc = doc.replace('\\', '/');
- if (doc.indexOf("CVS")<0) {
- loadURL(m_xLoader, RESULT_VALID_DOC, sFTPURL + "/" + doc,
- "_blank", 0, lProps);
- }
- }
-
- log.println("check HTTP URLs");
-
- String sHTTPURL = (String) param.get("HttpAccess");
- aSnapshot = m_lTestFiles.elements();
-
- while (aSnapshot.hasMoreElements()) {
- String doc = (String) aSnapshot.nextElement();
-
-
- // if os is windows
- doc = doc.replace('\\', '/');
- if (doc.indexOf("CVS")<0) {
- loadURL(m_xLoader, RESULT_VALID_DOC, sHTTPURL + "/" + doc,
- "_blank", 0, lProps);
- }
- }
- }
+// public void checkURLHandling() {
+// PropertyValue[] lProps = new PropertyValue[1];
+//
+// lProps[0] = new PropertyValue();
+// lProps[0].Name = "Hidden";
+// lProps[0].Value = Boolean.TRUE;
+//
+// System.out.println("check possible but unsupported URLs");
+//
+// String[] sIllegalArgs = new String[] {
+// "slot:5000", "slot:10909", ".uno:SaveAs", ".uno:Open",
+// };
+// loadURL(m_xLoader, RESULT_ILLEGALARGUMENTEXCEPTION, sIllegalArgs,
+// "_blank", 0, lProps);
+//
+// System.out.println("check stupid URLs");
+//
+// sIllegalArgs = new String[] {
+// "slot:xxx", "slot:111111111", ".uno:save_as", ".uno:open_this",
+// ".UnO:*",
+// };
+// loadURL(m_xLoader, RESULT_ILLEGALARGUMENTEXCEPTION, sIllegalArgs,
+// "_blank", 0, lProps);
+//
+// String[] sEmptyDocs = new String[] {
+// "mailo:hansi.meier@germany.sun.com", "file:/c:\\test/file.cxx",
+// "file:///c|:\\test/file.cxx", "http_server://staroffice-doc\\",
+// "c:\\\\test///\\test.sxw", "news_:staroffice-doc",
+// "newsletter@blubber", "private_factory/swriter",
+// "private:factory//swriter", "private:factory/swriter/___",
+// "c:\\test\\test.sxw", "macro:///ImportWizard.Main.Main",
+// "macro:///Euro.AutoPilotRun.StartAutoPilot",
+// "service:com.sun.star.frame.Frame",
+// "mailto:steffen.grund@germany.sun.com", "news:staroffice-doc",
+// "macro:/ExportWizard", "macro://Euro.AutoPilotRun.StartAutoPilot",
+// "service:com.sun.star.frame."
+// };
+//
+// //with cws_loadenv01 changed to IllegalArgumentException
+// loadURL(m_xLoader, RESULT_ILLEGALARGUMENTEXCEPTION, sEmptyDocs, "_blank", 0,
+// lProps);
+//
+// System.out.println("check case senstive URLs");
+//
+// sIllegalArgs = new String[] {
+// "sLot:5000", "sloT:10909", ".unO:SaveAs", ".uno:OPEN",
+// };
+// loadURL(m_xLoader, RESULT_ILLEGALARGUMENTEXCEPTION, sIllegalArgs,
+// "_blank", 0, lProps);
+//
+// sEmptyDocs = new String[] {
+// "private:factory/SWRITER", "private:factory/SWRITER/WEB",
+// "macro:///importwizard.main.main",
+// "Macro:///euro.autopilotrun.startautopilot",
+// "Service:Com.Sun.Star.Frame.Frame",
+// "Mailto:andreas.schluens@germany.sun.com", "neWs:staroffice-doc",
+// "News:Staroffice-doc"
+// };
+//
+// //with cws_loadenv01 changed to IllegalArgumentException
+// loadURL(m_xLoader, RESULT_ILLEGALARGUMENTEXCEPTION, sEmptyDocs, "_blank", 0,
+// lProps);
+//
+// System.out.println("check FTP URLs");
+//
+// String sFTPURL = (String) param.get("FtpAccess");
+// Enumeration aSnapshot = m_lTestFiles.elements();
+//
+// while (aSnapshot.hasMoreElements()) {
+// String doc = (String) aSnapshot.nextElement();
+//
+//
+// // if os is windows
+// doc = doc.replace('\\', '/');
+// if (doc.indexOf("CVS")<0) {
+// loadURL(m_xLoader, RESULT_VALID_DOC, sFTPURL + "/" + doc,
+// "_blank", 0, lProps);
+// }
+// }
+//
+// System.out.println("check HTTP URLs");
+//
+// String sHTTPURL = (String) param.get("HttpAccess");
+// aSnapshot = m_lTestFiles.elements();
+//
+// while (aSnapshot.hasMoreElements()) {
+// String doc = (String) aSnapshot.nextElement();
+//
+//
+// // if os is windows
+// doc = doc.replace('\\', '/');
+// if (doc.indexOf("CVS")<0) {
+// loadURL(m_xLoader, RESULT_VALID_DOC, sHTTPURL + "/" + doc,
+// "_blank", 0, lProps);
+// }
+// }
+// }
/** TODo document me
*/
- public void checkStreamLoading()
+ @Test public void checkStreamLoading()
{
PropertyValue[] lProps = new PropertyValue[2];
@@ -616,11 +605,13 @@ public class CheckXComponentLoader extends ComplexTestCase
Enumeration aSnapshot = m_lTestFiles.elements();
while (aSnapshot.hasMoreElements())
{
- File aFile = new File(m_sTestDocPath + fs_sys + (String) aSnapshot.nextElement());
+ File aFile = new File(m_sTestDocPath, (String) aSnapshot.nextElement());
String sURL = URLHelper.getFileURLFromSystemPath(aFile);
- if (sURL.indexOf("CVS") > -1)
- continue;
+// if (sURL.indexOf("CVS") > -1)
+// {
+// continue;
+// }
try
{
@@ -628,12 +619,15 @@ public class CheckXComponentLoader extends ComplexTestCase
lProps[1].Value = xStream;
}
catch(com.sun.star.uno.Exception e)
- { failed("Could not open test file \""+sURL+"\" for stream test."); }
+ {
+ fail("Could not open test file \""+sURL+"\" for stream test.");
+ }
// check different version of "private:stream" URL!
loadURL(m_xLoader, RESULT_VALID_DOC, "private:stream" , "_blank", 0, lProps);
- loadURL(m_xLoader, RESULT_VALID_DOC, "private:stream/", "_blank", 0, lProps);
- }
+ // loadURL(m_xLoader, RESULT_VALID_DOC, "private:stream" , "_blank", 0, lProps);
+ // loadURL(m_xLoader, RESULT_VALID_DOC, "private:stream/", "_blank", 0, lProps);
+ }
}
/**
@@ -664,10 +658,8 @@ public class CheckXComponentLoader extends ComplexTestCase
} catch (com.sun.star.io.IOException exIO) {
nResult = RESULT_IOEXCEPTION;
} catch (com.sun.star.uno.RuntimeException exRuntime) {
- exRuntime.printStackTrace();
nResult = RESULT_RUNTIMEEXCEPTION;
} catch (Exception e) {
- e.printStackTrace();
nResult = RESULT_EXCEPTION;
}
@@ -677,22 +669,22 @@ public class CheckXComponentLoader extends ComplexTestCase
xDoc = null;
}
} catch (com.sun.star.uno.RuntimeException exClosing) {
- log.println("exception during disposing of a document found!" +
+ System.out.println("exception during disposing of a document found!" +
" Doesn't influence test - but should be checked.");
}
String sMessage = "URL[\"" + sURL + "\"]";
if (nResult == nRequiredResult) {
- log.println(sMessage + " expected result [" +
+ System.out.println(sMessage + " expected result [" +
convertResult2String(nResult) + "] ");
} else {
- failed(sMessage + " unexpected result [" +
+ fail(sMessage + " unexpected result [" +
convertResult2String(nResult) + "] " +
"\nrequired was [" +
convertResult2String(nRequiredResult) + "]" +
- "\nwe got [" + convertResult2String(nResult) + "]",
- true);
+ "\nwe got [" + convertResult2String(nResult) + "]"
+ );
}
}
@@ -700,8 +692,9 @@ public class CheckXComponentLoader extends ComplexTestCase
String[] sURL, String sTarget, int nFlags,
PropertyValue[] lProps) {
for (int i = 0; i < sURL.length; i++)
- loadURL(m_xLoader, nRequiredResult, sURL[i], sTarget, nFlags,
- lProps);
+ {
+ loadURL(m_xLoader, nRequiredResult, sURL[i], sTarget, nFlags, lProps);
+ }
}
/**
@@ -730,4 +723,28 @@ public class CheckXComponentLoader extends ComplexTestCase
return "unknown!";
}
-} \ No newline at end of file
+
+ 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/loadAllDocuments/helper/InteractionHandler.java b/framework/qa/complex/loadAllDocuments/InteractionHandler.java
index f018912a2b..7bbb50e42f 100644
--- a/framework/qa/complex/loadAllDocuments/helper/InteractionHandler.java
+++ b/framework/qa/complex/loadAllDocuments/InteractionHandler.java
@@ -24,7 +24,7 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-package complex.loadAllDocuments.helper;
+package complex.loadAllDocuments;
import com.sun.star.beans.PropertyValue;
diff --git a/framework/qa/complex/loadAllDocuments/helper/StatusIndicator.java b/framework/qa/complex/loadAllDocuments/StatusIndicator.java
index 4320462835..cdbce9d7c6 100644
--- a/framework/qa/complex/loadAllDocuments/helper/StatusIndicator.java
+++ b/framework/qa/complex/loadAllDocuments/StatusIndicator.java
@@ -24,7 +24,7 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-package complex.loadAllDocuments.helper;
+package complex.loadAllDocuments;
// __________ Imports __________
diff --git a/framework/qa/complex/loadAllDocuments/helper/StreamSimulator.java b/framework/qa/complex/loadAllDocuments/StreamSimulator.java
index 99c12fa90b..6214963f33 100644
--- a/framework/qa/complex/loadAllDocuments/helper/StreamSimulator.java
+++ b/framework/qa/complex/loadAllDocuments/StreamSimulator.java
@@ -24,7 +24,7 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-package complex.loadAllDocuments.helper;
+package complex.loadAllDocuments;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.ucb.XSimpleFileAccess;
diff --git a/framework/qa/complex/loadAllDocuments/TestDocument.java b/framework/qa/complex/loadAllDocuments/TestDocument.java
new file mode 100644
index 0000000000..db5ca563a0
--- /dev/null
+++ b/framework/qa/complex/loadAllDocuments/TestDocument.java
@@ -0,0 +1,41 @@
+/*************************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+************************************************************************/
+
+package complex.loadAllDocuments;
+
+import java.io.File;
+import org.openoffice.test.OfficeFileUrl;
+
+final class TestDocument
+{
+ public static String getUrl(String name)
+ {
+ return OfficeFileUrl.getAbsolute(new File("testdocuments", name));
+ }
+
+ private TestDocument() {}
+}
diff --git a/framework/qa/complex/loadAllDocuments/helper/makefile.mk b/framework/qa/complex/loadAllDocuments/helper/makefile.mk
index 98c414c2c1..05a3c7a997 100644
--- a/framework/qa/complex/loadAllDocuments/helper/makefile.mk
+++ b/framework/qa/complex/loadAllDocuments/helper/makefile.mk
@@ -24,10 +24,10 @@
# for a copy of the LGPLv3 License.
#
#*************************************************************************
-PRJ = ..$/..$/..$/..
+PRJ = ../../../..
TARGET = CheckXComponentLoader
PRJNAME = framework
-PACKAGE = complex$/loadAllDocuments$/helper
+PACKAGE = complex/loadAllDocuments/helper
# --- Settings -----------------------------------------------------
.INCLUDE: settings.mk
@@ -35,10 +35,9 @@ PACKAGE = complex$/loadAllDocuments$/helper
#----- compile .java files -----------------------------------------
-JARFILES = mysql.jar ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar \
- Generator.jar
+JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar
JAVAFILES = InteractionHandler.java StatusIndicator.java StreamSimulator.java
-JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
+JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)/$(PACKAGE)/$(i:b).class)
MAXLINELENGTH = 100000
diff --git a/framework/qa/complex/loadAllDocuments/makefile.mk b/framework/qa/complex/loadAllDocuments/makefile.mk
index 02aacd36d2..ebf0265620 100644
--- a/framework/qa/complex/loadAllDocuments/makefile.mk
+++ b/framework/qa/complex/loadAllDocuments/makefile.mk
@@ -24,68 +24,111 @@
# for a copy of the LGPLv3 License.
#
#*************************************************************************
-PRJ = ..$/..$/..
-TARGET = CheckXComponentLoader
-PRJNAME = framework
-PACKAGE = complex$/loadAllDocuments
-
-# --- 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 = CheckXComponentLoader.java
-JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
-
-SUBDIRS = helper
-
-#----- 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_loadAllDocuments
-# test looks something like the.full.package.TestName
-CT_TEST = -o $(PACKAGE:s\$/\.\).$(JAVAFILES:b)
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = complex/loadAllDocuments
-# start the runner application
-CT_APP = org.openoffice.Runner
+# here store only Files which contain a @Test
+JAVATESTFILES = \
+ CheckXComponentLoader.java
-# --- Targets ------------------------------------------------------
+# put here all other files
+JAVAFILES = $(JAVATESTFILES) \
+ InteractionHandler.java \
+ StatusIndicator.java \
+ StreamSimulator.java \
+ TestDocument.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
+
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+.INCLUDE: installationtest.mk
-RUN: run
+ALLTAR : javatest
-run:
- +java -cp $(CLASSPATH) $(CT_APP) $(CT_TESTBASE) $(CT_APPEXECCOMMAND) $(CT_TEST) -tdoc $(PWD)$/testdocuments
+.END
+#
+#
+# PRJ = ..$/..$/..
+# TARGET = CheckXComponentLoader
+# PRJNAME = framework
+# PACKAGE = complex$/loadAllDocuments
+#
+# # --- 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 =
+# JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
+#
+# SUBDIRS = helper
+#
+# #----- 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) -tdoc $(PWD)$/testdocuments
+#
+#
+#
diff --git a/framework/qa/complex/loadAllDocuments/password_check.sxw b/framework/qa/complex/loadAllDocuments/testdocuments/password_check.sxw
index ec545b99e2..ec545b99e2 100644
--- a/framework/qa/complex/loadAllDocuments/password_check.sxw
+++ b/framework/qa/complex/loadAllDocuments/testdocuments/password_check.sxw
Binary files differ
diff --git a/framework/qa/complex/path_settings/PathSettingsTest.java b/framework/qa/complex/path_settings/PathSettingsTest.java
index b264bbd558..527176aaae 100755
--- a/framework/qa/complex/path_settings/PathSettingsTest.java
+++ b/framework/qa/complex/path_settings/PathSettingsTest.java
@@ -27,432 +27,992 @@
package complex.path_settings;
import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyVetoException;
+import com.sun.star.beans.UnknownPropertyException;
import com.sun.star.beans.XFastPropertySet;
import com.sun.star.beans.XMultiPropertySet;
import com.sun.star.beans.XPropertySet;
import com.sun.star.beans.XPropertiesChangeListener;
import com.sun.star.beans.XPropertyChangeListener;
import com.sun.star.beans.XVetoableChangeListener;
+import com.sun.star.lang.WrappedTargetException;
import com.sun.star.lang.XMultiServiceFactory;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.AnyConverter;
-import complexlib.ComplexTestCase;
-public class PathSettingsTest extends ComplexTestCase {
+// ---------- junit imports -----------------
+import java.util.ArrayList;
+import java.util.StringTokenizer;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+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 PathSettingsTest
+{
private static XMultiServiceFactory xMSF;
-
// the test object: an instance of the tested service
- private static Object oObj = null;
+ private static Object aPathSettings = null;
// the properties of the service
- private static Property[] props = null;
- private static String[] propNames = null;
- private static String[] availablePropNames = new String[]{
- "Addin",
- "AutoCorrect",
- "Autotext",
- "Backup",
- "Basic",
- "Bitmap",
- "Config",
- "Dictionary",
- "Favorite",
- "Filter",
- "Gallery",
- "Help",
- "Linguistic",
- "Module",
- "Palette",
- "Plugin",
- "Temp",
- "Template",
- "UIConfig",
- "UserConfig",
- "UserDictionary",
- "Work",
-};
- private static String[] propVals = null;
+ private static Property[] xPropertyInfoOfPathSettings = null;
+ private static String[] aPathSettingNames = null;
+ private static String[] availablePropNames = new String[]
+ {
+ "Addin",
+ "AutoCorrect",
+ "AutoText",
+ "Backup",
+ "Basic",
+ "Bitmap",
+ "Config",
+ "Dictionary",
+ "Favorite",
+ "Filter",
+ "Fingerprint",
+ "Gallery",
+ "Graphic",
+ "Help",
+ "Linguistic",
+ "Module",
+ "Palette",
+ "Plugin",
+ "Storage",
+ "Temp",
+ "Template",
+ "UIConfig",
+ "UserConfig",
+ "Work",
+ };
+ // every path name from availablePropNames exist in this characteristics
+ // name
+ // name_internal
+ // name_user
+ // name_writable
+ private static String[] availablePropNameExtensions = new String[]
+ {
+ "",
+ "_internal",
+ "_user",
+ "_writable"
+ };
+ private static String[] aPathSettingValues = null;
+ ArrayList<Property> aListOfWorkingProperty;
/**
* A function to tell the framework, which test functions are available.
* Right now, it's only 'checkComplexTemplateState'.
* @return All test methods.
*/
- public String[] getTestMethodNames() {
- return new String[]{"checkXFastPropertySet",
- "checkXMultiPropertySet",
- "checkXPropertySet"
- };
- }
-
+// public String[] getTestMethodNames() {
+// return new String[]{"checkXFastPropertySet",
+// "checkXMultiPropertySet",
+// "checkXPropertySet"
+// };
+// }
/**
* Initialize before the tests start: this has to be done only once.
- * This methods sets the 'oObj' and 'props' variables.
+ * This methods sets the 'aPathSettings' and 'xPropertyInfoOfPathSettings' variables.
*/
- public void before() {
- try {
- xMSF = (XMultiServiceFactory)param.getMSF();
-// oObj = xMSF.createInstance("com.sun.star.util.PathSettings");
- oObj = xMSF.createInstance("com.sun.star.comp.framework.PathSettings");
- System.out.println("Implementation: " + util.utils.getImplName(oObj));
- System.out.println("Service: ");
- util.dbg.getSuppServices(oObj);
- if (oObj == null) throw new com.sun.star.uno.Exception();
- XPropertySet xProp = (XPropertySet)
- UnoRuntime.queryInterface(XPropertySet.class, oObj);
-
- props = xProp.getPropertySetInfo().getProperties();
- propNames = new String[props.length];
- propVals = new String[props.length];
+ @Before
+ public void before()
+ {
+ try
+ {
+ xMSF = getMSF();
+// aPathSettings = xMSF.createInstance("com.sun.star.util.PathSettings");
+ aPathSettings = xMSF.createInstance("com.sun.star.comp.framework.PathSettings");
+ assertNotNull("Can't instantiate com.sun.star.util.PathSettings.", aPathSettings);
+// System.out.println("Implementation: " + util.utils.getImplName(aPathSettings));
+// System.out.println("Service: ");
+ util.dbg.getSuppServices(aPathSettings);
+ final XPropertySet xPropSet_of_PathSettings = UnoRuntime.queryInterface(XPropertySet.class, aPathSettings);
+
+ xPropertyInfoOfPathSettings = xPropSet_of_PathSettings.getPropertySetInfo().getProperties();
+ aPathSettingNames = new String[xPropertyInfoOfPathSettings.length];
+ aPathSettingValues = new String[xPropertyInfoOfPathSettings.length];
+
+ aListOfWorkingProperty = new ArrayList<Property>();
// get intitial values and create new ones
- log.println("\n---- All properties ----");
- for (int i = 1; i < props.length; i++) {
- propNames[i] = props[i].Name;
- Object o = xProp.getPropertyValue(propNames[i]);
- System.out.println("#### Object: " + o.getClass().getName() + " - " + o.toString());
- propVals[i] = AnyConverter.toString(o);
- System.out.println("#### String " + propVals[i]);
- log.println("Property Name: " + propNames[i]);
- log.println("Property Value: " + propVals[i]);
- }
- log.println("---- Finish showing properties ----\n");
- }
- catch(com.sun.star.uno.Exception e) {
- e.printStackTrace();
- log.println(e.getClass().getName());
- log.println("Message: " + e.getMessage());
- failed("Could not create an instance of the test object.");
- }
- catch(Exception e) {
- e.printStackTrace();
- failed("What exception?");
+ for (int i = 0; i < xPropertyInfoOfPathSettings.length; i++)
+ {
+ final String sName = xPropertyInfoOfPathSettings[i].Name;
+ // System.out.println(sName);
+ aPathSettingNames[i] = sName;
+ Object o = xPropSet_of_PathSettings.getPropertyValue(sName);
+
+ String sValue = convertToString(o);
+ aPathSettingValues[i] = sValue;
+ aListOfWorkingProperty.add(xPropertyInfoOfPathSettings[i]);
+ }
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ System.out.println(e.getClass().getName());
+ System.out.println("Message: " + e.getMessage());
+ // fail("Could not create an instance of the test object.");
+ }
+ catch (Exception e)
+ {
+ fail("What exception?");
+ }
+ }
+
+ private String convertToString(Object o)
+ {
+ String sValue = "";
+ try
+ {
+ if (AnyConverter.isString(o))
+ {
+ sValue = AnyConverter.toString(o);
+ }
+ else if (AnyConverter.isArray(o))
+ {
+ Object oValueList = AnyConverter.toArray(o);
+ String[] aValueList = (String[]) oValueList;
+ String sValues = "";
+ for (int j = 0; j < aValueList.length; j++)
+ {
+ if (sValues.length() > 0)
+ {
+ sValues += ";";
+ }
+ sValues += aValueList[j];
+ }
+ sValue = sValues;
+ }
+ else
+ {
+ System.out.println("Can't convert Object to String");
+ }
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ /* ignore */
}
+ return sValue;
}
/**
- * This tests the XFastPropertySet interface implementation.
+ * Simple existance test, if this fails, the Lists must update
*/
- public void checkXFastPropertySet()
+ @Test
+ public void checkInternalListConsistence()
{
- log.println("---- Testing the XFastPropertySet interface ----");
-
- // creating instances
- XFastPropertySet xFPS = (XFastPropertySet)
- UnoRuntime.queryInterface(XFastPropertySet.class, oObj);
-
- String name = null;
- // do for all properties
- for (int i = 0; i < props.length; i++) {
- try {
- Property property = props[i];
- name = property.Name;
- int handle = property.Handle;
-
- // get property name and initial value
- log.println("Test property with name: " + name);
- String val = (String)xFPS.getFastPropertyValue(handle);
- log.println("Property has initial value: '" + val + "'");
-
- // set to a new correct value
- String newVal = changeToCorrectValue(val);
- log.println("Try to change to correct value '" + newVal + "'");
- xFPS.setFastPropertyValue(handle, newVal);
+ // check if all Properties are in the internal test list
+ for (int i = 0; i < xPropertyInfoOfPathSettings.length; i++)
+ {
+ final String sName = xPropertyInfoOfPathSettings[i].Name;
+ boolean bOccur = checkIfNameExistsInList(sName, availablePropNames, availablePropNameExtensions);
+ assertTrue("TEST IS WRONG, Name:='" + sName + "' doesn't exist in internal Test list.", bOccur);
+ }
- // check the change
- String checkVal = (String)xFPS.getFastPropertyValue(handle);
- assure("Did not change value on property " + name + ".", checkVal.equals(newVal));
+ // check if all properties in the internal list also exist in real life
+ for (int i = 0; i < availablePropNames.length; i++)
+ {
+ final String aListName = availablePropNames[i];
+ for (int j = 0; j < availablePropNameExtensions.length; j++)
+ {
+ final String aSubListName = availablePropNameExtensions[j];
+ final String aName = aListName + aSubListName;
+ boolean bOccur = checkIfNameExistsInList(aName, aPathSettingNames, new String[]
+ {
+ ""
+ } /* list must not empty! */);
+ assertTrue("TEST IS WRONG, Name:='" + aName + "' from the internal test list do not occur in real life path settings.", bOccur);
+ }
+ }
+ }
- newVal = changeToIncorrectValue(val);
- log.println("Try to change to incorrect value '" + newVal + "'");
- try {
- xFPS.setFastPropertyValue(handle, newVal);
- }
- catch(com.sun.star.lang.IllegalArgumentException e) {
- log.println("Correctly thrown Exception caught.");
+ /**
+ * Simple O(n^n) check if a given String (_sNameMustOccur) exist in the given list(+SubList) values.
+ * @param _sNameMustOccur
+ * @param _aList
+ * @param _aSubList
+ * @return true, if name occur
+ */
+ private boolean checkIfNameExistsInList(String _sNameMustOccur, String[] _aList, String[] _aSubList)
+ {
+ for (int i = 0; i < _aList.length; i++)
+ {
+ final String aListName = _aList[i];
+ for (int j = 0; j < _aSubList.length; j++)
+ {
+ final String aSubListName = _aSubList[j];
+ final String aName = aListName + aSubListName;
+ if (aName.equals(_sNameMustOccur))
+ {
+ return true;
}
+ }
+ }
+ return false;
+ }
- // check if changed
- checkVal = (String)xFPS.getFastPropertyValue(handle);
- assure("Value did change on property " + name + " though it should not have.",
- !checkVal.equals(newVal));
-
- // set back to initial setting
- xFPS.setFastPropertyValue(handle, val);
-
- // check if changed
- checkVal = (String)xFPS.getFastPropertyValue(handle);
- assure("Did not change value back to original on property "
- + name, checkVal.equals(val));
- log.println("Test of property " + name + " finished\n");
+ private String getPropertyValueAsString(String _sName)
+ {
+ final XPropertySet xPropSet_of_PathSettings = UnoRuntime.queryInterface(XPropertySet.class, aPathSettings);
+ String sValue = "";
+ {
+ Object o;
+ try
+ {
+ o = xPropSet_of_PathSettings.getPropertyValue(_sName);
+ sValue = convertToString(o);
+ }
+ catch (UnknownPropertyException ex)
+ {
}
- catch(com.sun.star.uno.Exception e) {
-// e.printStackTrace();
- log.println(e.getClass().getName());
- log.println("Message: " + e.getMessage());
- failed("Unexpected exception on property " + name + ".");
- continue;
+ catch (WrappedTargetException ex)
+ {
}
}
- log.println("---- Test of XFastPropertySet finished ----\n");
+ return sValue;
}
-
- // ____________________
/**
- * This tests the XMultiPropertySet interface implementation.
+ * Shows the path settings
+ * @throws UnknownPropertyException
+ * @throws WrappedTargetException
*/
- public void checkXMultiPropertySet()
+ @Test
+ public void showPathSettings() throws UnknownPropertyException, WrappedTargetException
{
- log.println("---- Testing the XMultiPropertySet interface ----");
- XMultiPropertySet xMPS = (XMultiPropertySet)
- UnoRuntime.queryInterface(XMultiPropertySet.class, oObj);
-
- String[] correctVals = new String[props.length];
- String[] incorrectVals = new String[props.length];
-
- // get intitial values and create new ones
- for (int i = 0; i < props.length; i++) {
- correctVals[i] = changeToCorrectValue(propVals[i]);
- incorrectVals[i] = changeToIncorrectValue(propVals[i]);
- }
-
- try {
- // add a change listener
- MyChangeListener mListener = new MyChangeListener();
- xMPS.addPropertiesChangeListener(propNames, mListener);
-
- // first change props to correct values
- log.println("Change to correct values.");
- xMPS.setPropertyValues(propNames, correctVals);
- assure("Could not change to correct values with XMultiPropoertySet.",
- verifyPropertySet(xMPS,propNames,correctVals)>0);
-
- // second, change to incorrect values: expect an exception
- log.println("Try to change to incorrect values.");
- try {
- xMPS.setPropertyValues(propNames, incorrectVals);
- }
- catch(com.sun.star.lang.IllegalArgumentException r) {
- log.println("Correctly thrown Exception caught.");
- }
- assure("Did change to incorrect values with XMultiPropertySet," +
- " but should not have.",
- verifyPropertySet(xMPS,propNames,correctVals)>0);
-
- // third, change back to initial values
- log.println("Change back to initial values.");
- xMPS.setPropertyValues(propNames, propVals);
- assure("Could not change back to initial values with" +
- " XMultiPropertySet.",
- verifyPropertySet(xMPS,propNames,propVals)>0);
-
- // fire the event for the listener
- log.println("Fire event.");
- xMPS.firePropertiesChangeEvent(propNames, mListener);
- assure("Event was not fired on XMultiPropertySet.",
- mListener.changePropertiesEventFired());
- }
- catch(com.sun.star.uno.Exception e) {
-// e.printStackTrace();
- log.println(e.getClass().getName());
- log.println("Message: " + e.getMessage());
- failed("Unexpected exception on XMultiPropertySet.");
- }
-
- // test finished
- log.println("---- Test of XMultiPropertySet finished ----\n");
+ System.out.println("\n---- All properties ----");
+ final XPropertySet xPropSet_of_PathSettings = UnoRuntime.queryInterface(XPropertySet.class, aPathSettings);
+
+// for (int i = 0; i < xPropertyInfoOfPathSettings.length; i++)
+ for (int i = 0; i < aListOfWorkingProperty.size(); i++)
+ {
+ final String sName = aListOfWorkingProperty.get(i).Name;
+ // aPathSettingWorkingNames[i] = sName;
+// System.out.print("PathSettings: Name:=");
+ System.out.print(sName);
+ Object o = xPropSet_of_PathSettings.getPropertyValue(sName);
+
+ // System.out.println("#### Object: '" + o.getClass().getName() + "' - '" + o.toString() + "'");
+ try
+ {
+ final String sValue = AnyConverter.toString(o);
+ // aPathSettingValues[i] = sValue;
+ // System.out.println("#### String " + sValue);
+ // System.out.println("Property Name: " + sName);
+ // System.out.println("Property Value: " + sValue);
+// System.out.print(" ==> ");
+// System.out.print(sValue);
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+// System.out.print(" FAILED ");
+ }
+ System.out.println();
+ }
+ System.out.println("---- Finish showing properties ----\n");
}
+ private boolean checkPaths(Object _o, Object _o2)
+ {
+ String sLeftPath = "";
+ String sRightPath = "";
+ if (AnyConverter.isArray(_o))
+ {
+ try
+ {
+ Object oValues = AnyConverter.toArray(_o);
+ sLeftPath = convertToString(oValues);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ }
+ }
+ else if (AnyConverter.isString(_o))
+ {
+ try
+ {
+ sLeftPath = AnyConverter.toString(_o);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ }
+ }
+
+ if (AnyConverter.isArray(_o2))
+ {
+ try
+ {
+ Object oValues = AnyConverter.toArray(_o2);
+ sRightPath = convertToString(oValues);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ }
+ }
+ else if (AnyConverter.isString(_o2))
+ {
+ try
+ {
+ sRightPath = AnyConverter.toString(_o2);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ }
+ }
+ return checkPaths(sLeftPath, sRightPath);
+ }
+
/**
- * Verify if the values of xProp are the same as vals.
- * @param xProp A XMultiPropertySet.
- * @param propNames An array with property names.
- * @param vals An array with values of the properties
- * @return -1 if none are equal, 1 if all are equal, 0 if some were equal
- * and some not.
- * @throws com.sun.star.lang.IllegalArgumentException
+ * Check 2 given paths if the _aOtherPath exists in _aPath, _aPath could be a list separated by ';'
+ * @param _aPath
+ * @param _aOtherPath
+ * @return true, if _aOtherPath found
*/
- private int verifyPropertySet(XMultiPropertySet xProp,
- String[] propNames, String[] vals)
+ private boolean checkPaths(String _aPath, String _aOtherPath)
{
- int ret=0;
- if (vals.length != propNames.length) {
- log.println("Length of array parameters must be equal.");
- return ret;
- }
- for (int i = 0; i < vals.length; i++) {
- Object[] objs = xProp.getPropertyValues(new String[]{propNames[i]});
- String retVal = (String)objs[0];
- boolean nCheck = retVal.equals(vals[i]);
- if (!nCheck) {
- log.println("Property '" + propNames[i] +
- "' was supposed to have value:");
- log.println(vals[i]);
- log.println("but has value:");
- log.println(retVal);
- }
- // initialize
- if (i==0) {
- ret = nCheck?1:-1;
- continue;
- }
- // return 0 if equal state changes compared to initial value
- if ((nCheck && ret<0) || (!nCheck && ret>0)) {
- ret = 0;
- }
- }
- return ret;
+ if (_aOtherPath.contains(";"))
+ {
+ StringTokenizer aToken = new StringTokenizer(_aOtherPath, ";");
+ int nCount = 0;
+ int nFound = 0;
+ while (aToken.hasMoreElements())
+ {
+ String sPath = (String)aToken.nextElement();
+ nCount ++;
+ if (checkPaths(_aPath, sPath))
+ {
+ nFound++;
+ }
+ }
+ if (nFound == nCount)
+ {
+ return true;
+ }
+ }
+ else if(_aPath.contains(";"))
+ {
+ StringTokenizer aToken = new StringTokenizer(_aPath, ";");
+ while (aToken.hasMoreElements())
+ {
+ String sToken = (String)aToken.nextElement();
+ if (sToken.equals(_aOtherPath))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+ else if (_aPath.equals(_aOtherPath))
+ {
+ return true;
+ }
+ return false;
}
-
- // ____________________
/**
- * This tests the XPropertySet interface implementation.
+ * This tests the XFastPropertySet interface implementation.
*/
- public void checkXPropertySet()
+ @Test
+ public void checkXFastPropertySet()
+ {
+ System.out.println("---- Testing the XFastPropertySet interface ----");
+
+
+ // do for all properties
+ // xPropertyInfoOfPathSettings.length
+ for (int i = 0; i < aListOfWorkingProperty.size(); i++)
+ {
+ final Property property = aListOfWorkingProperty.get(i); // xPropertyInfoOfPathSettings[i];
+ String name = property.Name;
+ // get property name and initial value
+ System.out.println("Test property with name: " + name);
+ boolean bResult;
+ if (name.endsWith("_writable"))
+ {
+ bResult = checkStringProperty(property);
+ }
+ else if (name.endsWith("_user"))
+ {
+ bResult = checkStringListProperty(property);
+ }
+ else if (name.endsWith("_internal"))
+ {
+ bResult = checkStringListProperty(property);
+ }
+ else
+ {
+ // old path settings
+ bResult = checkStringProperty(property);
+ }
+ System.out.print(" Test of property " + name + " finished");
+ if (bResult)
+ {
+ System.out.println(" [ok]");
+ }
+ else
+ {
+ System.out.println(" [FAILED]");
+ }
+ System.out.println();
+ }
+ System.out.println("---- Test of XFastPropertySet finished ----\n");
+ }
+
+ private boolean checkStringListProperty(Property property)
{
- log.println("---- Testing the XPropertySet interface ----");
+ // creating instances
+ boolean bResult = true;
+ XFastPropertySet xFPS = UnoRuntime.queryInterface(XFastPropertySet.class, aPathSettings);
+
+ String name = property.Name;
+ int handle = property.Handle;
+
+ Object oValue;
+ try
+ {
+ oValue = xFPS.getFastPropertyValue(handle);
+ }
+ catch (UnknownPropertyException ex)
+ {
+ return false;
+ }
+ catch (WrappedTargetException ex)
+ {
+ return false;
+ }
- XPropertySet xPS = (XPropertySet)
- UnoRuntime.queryInterface(XPropertySet.class, oObj);
+ if (!AnyConverter.isArray(oValue))
+ {
+ System.out.println(" Internal error, type wrong. PathSetting property with name:" + name + " should be an array.");
+ return false;
+ }
- MyChangeListener mListener1 = new MyChangeListener();
- MyChangeListener mListener2 = new MyChangeListener();
+ String val;
+ try
+ {
+ Object oValues = AnyConverter.toArray(oValue);
- for (int i=0; i<props.length; i++) {
- // adding listeners
- String name = propNames[i];
- log.println("Testing property '" + name + "'");
- try {
- log.println("Add 2 Listeners.");
- xPS.addPropertyChangeListener(name, mListener1);
- xPS.addVetoableChangeListener(name, mListener1);
- xPS.addPropertyChangeListener(name, mListener2);
- xPS.addVetoableChangeListener(name, mListener2);
- // change the property
- log.println("Change value.");
- String changeVal = changeToCorrectValue(propVals[i]);
- xPS.setPropertyValue(name, changeVal);
- String newVal = (String)xPS.getPropertyValue(name);
+ final String[] aValues = (String[])oValues;
- assure("Value did not change on property " + name + ".",
- newVal.equals(changeVal));
+ // aNewValues contains a deep copy of aValues
+ String[] aNewValues = new String[aValues.length];
+ System.arraycopy(aValues, 0, aNewValues, 0, aValues.length);
+ if (aValues.length > 0)
+ {
+ val = aValues[0];
+ }
+ else
+ {
+ val = null;
+ aNewValues = new String[1]; // create a String list
+ }
+ System.out.println(" Property has initial value: '" + val + "'");
- assure("Listener 1 was not called.", checkListener(mListener1), true);
- assure("Listener 2 was not called.", checkListener(mListener2), true);
+ // set to a new correct value
+ String newVal = changeToCorrectValue(val);
+ assertFalse("newVal must not equal val.", newVal.equals(val));
- mListener1.resetListener();
- mListener2.resetListener();
+ System.out.println(" Try to change to a correct value '" + newVal + "'");
+ aNewValues[0] = newVal;
- log.println("Remove Listener 1.");
+ try
+ {
+ try
+ {
+ xFPS.setFastPropertyValue(handle, aNewValues);
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ System.out.println(" FAIL: setFastPropertyValue(handle:=" + handle + ", name:='" + name + "')" + e.getMessage());
+ bResult = false;
+ }
- xPS.removePropertyChangeListener(name, mListener1);
- xPS.removeVetoableChangeListener(name, mListener1);
+ // Property_internal can't change we will not arrive bejond this line
- // change the property
- log.println("Change value back.");
- xPS.setPropertyValue(name, propVals[i]);
- newVal = (String)xPS.getPropertyValue(name);
- assure("Value did not change on property " + name,
- newVal.equals(propVals[i]));
+ // check the change
+ Object oObj = xFPS.getFastPropertyValue(handle);
+ if (!checkPaths(oObj, aNewValues))
+ {
+ System.out.println(" FAIL: Did not change value on property " + name + ".");
+ bResult = false;
+ }
- assure("Listener was called, although it was removed on" +
- " property " + name + ".", !checkListener(mListener1), true);
- assure("Listener 2 was not called on property " + name + ".",
- checkListener(mListener2), true);
+ // set back to initial setting
+ System.out.println(" Try to check");
+ try
+ {
+ xFPS.setFastPropertyValue(handle, oValue);
+ }
+ catch (com.sun.star.beans.PropertyVetoException e)
+ {
+ // should not occur
+ System.out.println(" FAIL: PropertyVetoException caught: " + e.getMessage());
+ bResult = false;
+ }
+ }
+ catch (com.sun.star.beans.PropertyVetoException e)
+ {
+ if (!name.endsWith("_internal"))
+ {
+ // should not occur
+ System.out.println(" FAIL: PropertyVetoException caught: " + e.getMessage());
+ bResult = false;
+ }
+ else
+ {
+ System.out.println(" OK: PropertyVetoException caught: " + e.getMessage() + " it seems not allowed to change internal values.");
+ }
}
- catch(com.sun.star.uno.Exception e) {
- e.printStackTrace();
- log.println(e.getClass().getName());
- log.println("Message: " + e.getMessage());
- failed("Unexpcted exception on property " + name);
- continue;
+
+ // check if changed
+ Object checkVal3 = xFPS.getFastPropertyValue(handle);
+ if (!checkPaths(checkVal3, oValues))
+ {
+ System.out.println(" FAIL: Can't change value back to original on property " + name);
+ bResult = false;
}
- log.println("Finish testing property '" + propNames[i] + "'\n");
}
- log.println("---- Test of XPropertySet finished ----\n");
-
+ catch (com.sun.star.uno.Exception e)
+ {
+ System.out.println(" FAIL: getFastPropertyValue(handle:=" + handle + ", name:='" + name + "')" + e.getMessage());
+ bResult = false;
+ }
+ return bResult;
}
- private boolean checkListener(MyChangeListener ml) {
- return ml.changePropertyEventFired() ||
- ml.changePropertiesEventFired() ||
- ml.vetoableChangeEventFired();
+ private boolean checkStringProperty(Property property)
+ {
+ boolean bResult = true;
+ XFastPropertySet xFPS = UnoRuntime.queryInterface(XFastPropertySet.class, aPathSettings);
+ String name = property.Name;
+ int handle = property.Handle;
+ Object oValue;
+ try
+ {
+ oValue = xFPS.getFastPropertyValue(handle);
+ }
+ catch (UnknownPropertyException ex)
+ {
+ return false;
+ }
+ catch (WrappedTargetException ex)
+ {
+ return false;
+ }
+
+
+ try
+ {
+ String val = "";
+ val = AnyConverter.toString(oValue);
+ System.out.println(" Property has initial value: '" + val + "'");
+
+ // set to a new correct value
+ String newVal = changeToCorrectValue(val);
+ System.out.println(" Try to change to a correct value '" + newVal + "'");
+ xFPS.setFastPropertyValue(handle, newVal);
+
+ // check the change
+ String checkVal = (String) xFPS.getFastPropertyValue(handle);
+ if (!checkPaths(checkVal, newVal))
+ {
+ System.out.println(" FAIL: Did not change value on property " + name + ".");
+ bResult = false;
+ }
+ newVal = changeToIncorrectValue(val);
+ System.out.println(" Try to change to incorrect value '" + newVal + "'");
+ try
+ {
+ xFPS.setFastPropertyValue(handle, newVal);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ System.out.println(" Correctly thrown Exception caught.");
+ }
+
+ // check if changed
+ String checkVal2 = (String) xFPS.getFastPropertyValue(handle);
+ if (!checkPaths(checkVal2, checkVal))
+ {
+ System.out.println(" FAIL: Value did change on property " + name + " though it should not have.");
+ bResult = false;
+ }
+ else
+ {
+ System.out.println(" OK: Incorrect value was not set.");
+ }
+ // set back to initial setting
+ System.out.println(" Set back to initial value.");
+ try
+ {
+ xFPS.setFastPropertyValue(handle, val);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ System.out.println(" IllegalArgumentException caught: " + e.getMessage());
+ bResult = false;
+ }
+ // check if changed
+ String checkVal3 = (String) xFPS.getFastPropertyValue(handle);
+ if (!checkVal3.equals(val))
+ {
+ if (!checkPaths(checkVal3, val))
+ {
+ System.out.println(" FAIL: Can't change value back to original on property " + name);
+ System.out.println(" Value is: " + checkVal3);
+
+ bResult = false;
+ }
+ else
+ {
+ System.out.println(" OK: the pathsettings contains the original path.");
+ System.out.println(" Value is: " + checkVal3);
+ System.out.println(" Value should be: " + val);
+ }
+ }
+ else
+ {
+ System.out.println(" OK: Change value back to original on property " + name);
+ }
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ System.out.println(" FAIL: getFastPropertyValue(handle:=" + handle + ", name:='" + name + "')" + e.getMessage());
+ bResult = false;
+ }
+ return bResult;
}
// ____________________
/**
+ * This tests the XMultiPropertySet interface implementation.
+ */
+
+ // The test checkXMultiPropertySet() has been marked as outdated!
+
+// @Test
+// public void checkXMultiPropertySet()
+// {
+// System.out.println("---- Testing the XMultiPropertySet interface ----");
+// XMultiPropertySet xMPS = UnoRuntime.queryInterface(XMultiPropertySet.class, aPathSettings);
+//
+// // xPropertyInfoOfPathSettings.length
+// String[] propertiesToTest = new String[1];
+// propertiesToTest[0] = availablePropNames[0];
+//
+// String[] correctVals = new String[propertiesToTest.length];
+// String[] incorrectVals = new String[propertiesToTest.length];
+//
+// String[] aPathSettingWorkingNames = null;
+// aPathSettingWorkingNames = new String[propertiesToTest.length];
+//
+// // get intitial values and create new ones
+// for (int i = 0; i < propertiesToTest.length; i++)
+// {
+// // Property aProp = aListOfWorkingProperty.get(i);
+// final String sName = propertiesToTest[i];
+// final String sValue = getPropertyValueAsString(sName);
+// aPathSettingWorkingNames[i] = sName;
+// correctVals[i] = changeToCorrectValue(sValue);
+// incorrectVals[i] = changeToIncorrectValue(sValue);
+// }
+//
+// try
+// {
+// // add a change listener
+// MyChangeListener mListener = new MyChangeListener();
+// xMPS.addPropertiesChangeListener(aPathSettingWorkingNames, mListener);
+//
+// // first change xPropertyInfoOfPathSettings to correct values
+// System.out.println("Change to correct values.");
+// xMPS.setPropertyValues(aPathSettingWorkingNames, correctVals);
+// assertTrue("Could not change to correct values with XMultiPropertySet.",
+// verifyPropertySet(xMPS, aPathSettingWorkingNames, correctVals) > 0);
+//
+// // second, change to incorrect values: expect an exception
+// System.out.println("Try to change to incorrect values.");
+// try
+// {
+// xMPS.setPropertyValues(aPathSettingWorkingNames, incorrectVals);
+// }
+// catch (com.sun.star.lang.IllegalArgumentException r)
+// {
+// System.out.println("Correctly thrown Exception caught.");
+// }
+// assertTrue("Did change to incorrect values with XMultiPropertySet,"
+// + " but should not have.",
+// verifyPropertySet(xMPS, aPathSettingWorkingNames, correctVals) > 0);
+//
+// // third, change back to initial values
+// System.out.println("Change back to initial values.");
+// xMPS.setPropertyValues(aPathSettingWorkingNames, aPathSettingValues);
+// assertTrue("Could not change back to initial values with"
+// + " XMultiPropertySet.",
+// verifyPropertySet(xMPS, aPathSettingWorkingNames, aPathSettingValues) > 0);
+//
+// // fire the event for the listener
+// System.out.println("Fire event.");
+// xMPS.firePropertiesChangeEvent(aPathSettingWorkingNames, mListener);
+// assertTrue("Event was not fired on XMultiPropertySet.",
+// mListener.changePropertiesEventFired());
+// }
+// catch (com.sun.star.uno.Exception e)
+// {
+//// e.printStackTrace();
+// System.out.println(e.getClass().getName());
+// System.out.println("Message: " + e.getMessage());
+// fail("Unexpected exception on XMultiPropertySet.");
+// }
+//
+// // test finished
+// System.out.println("---- Test of XMultiPropertySet finished ----\n");
+// }
+
+ /**
+ * Verify if the values of xPropSet_of_PathSettings are the same as vals.
+ * @param xPropSet_of_PathSettings A XMultiPropertySet.
+ * @param aPathSettingWorkingNames An array with property names.
+ * @param vals An array with values of the properties
+ * @return -1 if none are equal, 1 if all are equal, 0 if some were equal
+ * and some not.
+ * @throws com.sun.star.lang.IllegalArgumentException
+ */
+// private int verifyPropertySet(XMultiPropertySet xProp,
+// String[] propNames, String[] vals)
+// {
+// int ret = 0;
+// if (vals.length != propNames.length)
+// {
+// System.out.println("Length of array parameters must be equal.");
+// return ret;
+// }
+// for (int i = 0; i < vals.length; i++)
+// {
+// Object[] objs = xProp.getPropertyValues(new String[]
+// {
+// propNames[i]
+// });
+// String retVal = (String) objs[0];
+// boolean nCheck = retVal.equals(vals[i]);
+// if (!nCheck)
+// {
+// System.out.println("Property '" + propNames[i]
+// + "' was supposed to have value:");
+// System.out.println(vals[i]);
+// System.out.println("but has value:");
+// System.out.println(retVal);
+// }
+// // initialize
+// if (i == 0)
+// {
+// ret = nCheck ? 1 : -1;
+// continue;
+// }
+// // return 0 if equal state changes compared to initial value
+// if ((nCheck && ret < 0) || (!nCheck && ret > 0))
+// {
+// ret = 0;
+// }
+// }
+// return ret;
+// }
+
+ // ____________________
+ /**
+ * This tests the XPropertySet interface implementation.
+ */
+
+// The test checkXPropertySet() has been marked as outdated!
+
+
+// @Test
+// public void checkXPropertySet()
+// {
+// System.out.println("---- Testing the XPropertySet interface ----");
+//
+// XPropertySet xPS = UnoRuntime.queryInterface(XPropertySet.class, aPathSettings);
+//
+// MyChangeListener mListener1 = new MyChangeListener();
+// MyChangeListener mListener2 = new MyChangeListener();
+//
+// for (int i = 0; i < xPropertyInfoOfPathSettings.length; i++)
+// {
+// // adding listeners
+// String name = aPathSettingNames[i];
+// System.out.println("Testing property '" + name + "'");
+// try
+// {
+// System.out.println("Add 2 Listeners.");
+// xPS.addPropertyChangeListener(name, mListener1);
+// xPS.addVetoableChangeListener(name, mListener1);
+// xPS.addPropertyChangeListener(name, mListener2);
+// xPS.addVetoableChangeListener(name, mListener2);
+//
+// // change the property
+// System.out.println("Change value.");
+// String changeVal = changeToCorrectValue(aPathSettingValues[i]);
+// xPS.setPropertyValue(name, changeVal);
+// String newVal = (String) xPS.getPropertyValue(name);
+//
+// assertTrue("Value did not change on property " + name + ".",
+// newVal.equals(changeVal));
+//
+// assertTrue("Listener 1 was not called.", checkListener(mListener1));
+// assertTrue("Listener 2 was not called.", checkListener(mListener2));
+//
+// mListener1.resetListener();
+// mListener2.resetListener();
+//
+// System.out.println("Remove Listener 1.");
+//
+// xPS.removePropertyChangeListener(name, mListener1);
+// xPS.removeVetoableChangeListener(name, mListener1);
+//
+// // change the property
+// System.out.println("Change value back.");
+// xPS.setPropertyValue(name, aPathSettingValues[i]);
+// newVal = (String) xPS.getPropertyValue(name);
+// assertTrue("Value did not change on property " + name,
+// newVal.equals(aPathSettingValues[i]));
+//
+// assertTrue("Listener was called, although it was removed on"
+// + " property " + name + ".", !checkListener(mListener1));
+// assertTrue("Listener 2 was not called on property " + name + ".",
+// checkListener(mListener2));
+// }
+// catch (com.sun.star.uno.Exception e)
+// {
+// System.out.println(e.getClass().getName());
+// System.out.println("Message: " + e.getMessage());
+// fail("Unexpcted exception on property " + name);
+// }
+// System.out.println("Finish testing property '" + aPathSettingNames[i] + "'\n");
+// }
+// System.out.println("---- Test of XPropertySet finished ----\n");
+//
+// }
+
+// private boolean checkListener(MyChangeListener ml)
+// {
+// return ml.changePropertyEventFired()
+// || ml.changePropertiesEventFired()
+// || ml.vetoableChangeEventFired();
+// }
+
+ // ____________________
+ /**
* Change the given String to a correct path URL.
* @return The changed path URL.
*/
- private String changeToCorrectValue(String path) {
+ private String changeToCorrectValue(String path)
+ {
// the simplest possiblity
- if ( path == null || path.equals("") ) {
- return "file:///tmp";
+ if (path == null || path.equals(""))
+ {
+ String sTempDir = System.getProperty("java.io.tmpdir");
+ sTempDir = util.utils.getFullURL(sTempDir);
+ return sTempDir; // "file:///tmp";
}
- return path + "/tmp";
+ return graphical.FileHelper.appendPath(path, "tmp");
}
-
/**
* Change the given String to an incorrect path URL.
* @return The changed path URL.
*/
- private String changeToIncorrectValue(String path) {
- // the simplest possiblity
+ private String changeToIncorrectValue(String path)
+ {
+ // return an illegal path
return "fileblablabla";
}
-
/**
- * Listener implementation which sets a flag when
- * listener was called.
- */
+ * Listener implementation which sets a flag when
+ * listener was called.
+ */
public class MyChangeListener implements XPropertiesChangeListener,
- XPropertyChangeListener,
- XVetoableChangeListener {
-
- private boolean propChanged = false;
- private boolean propertiesChanged = false;
- private boolean disposeCalled = false;
- private boolean vetoableChanged = false;
-
- public void propertiesChange(
- com.sun.star.beans.PropertyChangeEvent[] e) {
- propertiesChanged = true;
- }
-
- public void vetoableChange(com.sun.star.beans.PropertyChangeEvent pE)
- throws com.sun.star.beans.PropertyVetoException {
- vetoableChanged = true;
- }
-
- public void propertyChange(com.sun.star.beans.PropertyChangeEvent pE) {
- propChanged = true;
- }
-
- public void disposing(com.sun.star.lang.EventObject eventObject) {
- disposeCalled = true;
- }
-
- public void resetListener() {
- propChanged = false;
- propertiesChanged = false;
- disposeCalled = false;
- vetoableChanged = false;
- }
-
- public boolean changePropertyEventFired() {
- return propChanged;
- }
- public boolean changePropertiesEventFired() {
- return propertiesChanged;
- }
- public boolean vetoableChangeEventFired() {
- return vetoableChanged;
- }
+ XPropertyChangeListener,
+ XVetoableChangeListener
+ {
- };
+ private boolean propChanged = false;
+ private boolean propertiesChanged = false;
+ private boolean disposeCalled = false;
+ private boolean vetoableChanged = false;
+
+ public void propertiesChange(
+ com.sun.star.beans.PropertyChangeEvent[] e)
+ {
+ propertiesChanged = true;
+ }
+
+ public void vetoableChange(com.sun.star.beans.PropertyChangeEvent pE)
+ throws com.sun.star.beans.PropertyVetoException
+ {
+ vetoableChanged = true;
+ }
+
+ public void propertyChange(com.sun.star.beans.PropertyChangeEvent pE)
+ {
+ propChanged = true;
+ }
+
+ public void disposing(com.sun.star.lang.EventObject eventObject)
+ {
+ disposeCalled = true;
+ }
+
+ public void resetListener()
+ {
+ propChanged = false;
+ propertiesChanged = false;
+ disposeCalled = false;
+ vetoableChanged = false;
+ }
+
+ public boolean changePropertyEventFired()
+ {
+ return propChanged;
+ }
+
+ public boolean changePropertiesEventFired()
+ {
+ return propertiesChanged;
+ }
+
+ public boolean vetoableChangeEventFired()
+ {
+ return vetoableChanged;
+ }
+ }
+
+ 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/path_settings/makefile.mk b/framework/qa/complex/path_settings/makefile.mk
index 70af7817ac..05900d46e1 100755
--- a/framework/qa/complex/path_settings/makefile.mk
+++ b/framework/qa/complex/path_settings/makefile.mk
@@ -25,60 +25,38 @@
#
#*************************************************************************
-PRJ = ..$/..$/..
-TARGET = PathSettings
-PRJNAME = $(TARGET)
-PACKAGE = complex$/path_settings
-
-# --- Settings -----------------------------------------------------
-.INCLUDE: settings.mk
-
-
-#----- compile .java files -----------------------------------------
-
-JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar mysql.jar
-JAVAFILES = PathSettingsTest.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
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
+# @echo "OOO_SUBSEQUENT_TESTS not set, do nothing."
+.ELSE
-# --- Parameters for the test --------------------------------------
+PRJ = ../../..
+PRJNAME = framework
+TARGET = qa_complex_path_settings
-# 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
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = complex/path_settings
-# test base is java complex
-CT_TESTBASE = -TestBase java_complex
+# here store only Files which contain a @Test
+JAVATESTFILES = \
+ PathSettingsTest.java
-# test looks something like the.full.package.TestName
-CT_TEST = -o $(PACKAGE:s\$/\.\).$(JAVAFILES:b)
+# put here all other files
+JAVAFILES = $(JAVATESTFILES)
-# start the runner application
-CT_APP = org.openoffice.Runner
+JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
-# --- Targets ------------------------------------------------------
+# Sample how to debug
+# JAVAIFLAGS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9003,suspend=y
-.IF "$(depend)" == ""
-ALL : ALLTAR
-.ELSE
-ALL: ALLDEP
-.ENDIF
+.END
-.INCLUDE : target.mk
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+.INCLUDE: installationtest.mk
-RUN: run
+ALLTAR : javatest
-run:
- +java -version
- +java -cp $(CLASSPATH) $(CT_APP) $(CT_APPEXECCOMMAND) $(CT_TESTBASE) $(CT_TEST)
+.END
diff --git a/framework/qa/complex/path_substitution/PathSubstitutionTest.java b/framework/qa/complex/path_substitution/PathSubstitutionTest.java
index 88877d8c76..23eea8da42 100755
--- a/framework/qa/complex/path_substitution/PathSubstitutionTest.java
+++ b/framework/qa/complex/path_substitution/PathSubstitutionTest.java
@@ -29,16 +29,26 @@ package complex.path_substitution;
import com.sun.star.lang.XMultiServiceFactory;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.util.XStringSubstitution;
-import complexlib.ComplexTestCase;
+
import java.util.Vector;
+// ---------- 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 static org.junit.Assert.*;
+// ------------------------------------------
+
/**
*
*/
-public class PathSubstitutionTest extends ComplexTestCase {
+public class PathSubstitutionTest
+{
private static XMultiServiceFactory xMSF;
-
// all substitution variables
private VariableContainer substVars = null;
@@ -47,14 +57,14 @@ public class PathSubstitutionTest extends ComplexTestCase {
* Right now, it's only 'checkXStringSubstitution'.
* @return All test methods.
*/
- public String[] getTestMethodNames() {
- return new String[]{"checkXStringSubstitution"};
- }
-
+// public String[] getTestMethodNames() {
+// return new String[]{"checkXStringSubstitution"};
+// }
/**
* Create an array with all substitution variables
*/
- private void initialize() {
+ @Before private void initialize()
+ {
substVars = new VariableContainer();
substVars.add("$(prog)", false, true);
substVars.add("$(inst)", false, true);
@@ -64,65 +74,72 @@ public class PathSubstitutionTest extends ComplexTestCase {
substVars.add("$(temp)", false, true);
substVars.add("$(lang)", false, false);
substVars.add("$(langid)", false, false);
- substVars.add("$(vlang)", false,false);
+ substVars.add("$(vlang)", false, false);
// path won't resubstitute
- substVars.add("$(path)", false,false);
+ substVars.add("$(path)", false, false);
}
/**
* One actual test: as the method 'getTestMethodNames()' tells.
*/
- public void checkXStringSubstitution()
+ @Test public void checkXStringSubstitution()
{
- xMSF = (XMultiServiceFactory)param.getMSF();
- log.println("---- Testing the XStringSubstitution interface ----");
- log.println("Create intance of test object.\n");
+ xMSF = getMSF();
+ System.out.println("---- Testing the XStringSubstitution interface ----");
+ System.out.println("Create intance of test object.\n");
XStringSubstitution oObj = null;
- try {
+ try
+ {
Object x = xMSF.createInstance(
- "com.sun.star.util.PathSubstitution");
- oObj = (XStringSubstitution)
- UnoRuntime.queryInterface(XStringSubstitution.class, x);
- if (oObj == null) throw new com.sun.star.uno.Exception();
- }
- catch(com.sun.star.uno.Exception e) {
- log.println(e.getClass().getName());
- log.println("Message: " + e.getMessage());
- failed("Could not create an instance of the test object.");
+ "com.sun.star.util.PathSubstitution");
+ oObj = UnoRuntime.queryInterface(XStringSubstitution.class, x);
+ if (oObj == null)
+ {
+ throw new com.sun.star.uno.Exception();
+ }
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ System.out.println(e.getClass().getName());
+ System.out.println("Message: " + e.getMessage());
+ fail("Could not create an instance of the test object.");
return;
}
- initialize();
+// initialize();
- for (int i=0; i<substVars.size(); i++) {
+ for (int i = 0; i < substVars.size(); i++)
+ {
String var = substVars.getVariable(i);
- log.println("Testing var '" + var + "'");
- try {
+ System.out.println("Testing var '" + var + "'");
+ try
+ {
String substVal = oObj.getSubstituteVariableValue(var);
- log.println("\tvalue '" + substVal + "'");
- substVars.putValue(i,substVal);
+ System.out.println("\tvalue '" + substVal + "'");
+ substVars.putValue(i, substVal);
// simple check: let path in a string replace
String substString = var + "/additional/path";
- log.println("Substitute '"+substString+"'");
+ System.out.println("Substitute '" + substString + "'");
String newValue = oObj.substituteVariables(substString, true);
- log.println("Return value '"+newValue+"'");
+ System.out.println("Return value '" + newValue + "'");
// 2do: better check for correct substitution
- assure("Did not substitute '"
- + substString+"' to '" + newValue
+ assertTrue("Did not substitute '"
+ + substString + "' to '" + newValue
+ "' correctly:", newValue.startsWith(substVal));
// simple check part two:
//make substitution backwards if possible
- if (substVars.canReSubstitute(i)) {
+ if (substVars.canReSubstitute(i))
+ {
substString = substVal + "/additional/path";
- log.println("Substitute backwards '"+substString+"'");
+ System.out.println("Substitute backwards '" + substString + "'");
newValue = oObj.reSubstituteVariables(substString);
- log.println("Return value '"+newValue+"'");
+ System.out.println("Return value '" + newValue + "'");
// 2do: better check for correct substitution
- assure("Did not reSubstitute '"
+ assertTrue("Did not reSubstitute '"
+ substString + "' to '" + newValue
+ "' correctly:", checkResubstitute(newValue, var));
}
@@ -131,28 +148,32 @@ public class PathSubstitutionTest extends ComplexTestCase {
//in middle of text works
substString = "file:///starting/" + var + "/path";
- log.println("Substitute '"+substString+"'");
+ System.out.println("Substitute '" + substString + "'");
newValue = oObj.substituteVariables(substString, false);
- log.println("Return value '"+newValue+"'");
+ System.out.println("Return value '" + newValue + "'");
boolean erg = true;
- if(substVars.onlySubstituteAtBegin(i))
+ if (substVars.onlySubstituteAtBegin(i))
+ {
// in this case it should not have worked
- erg = newValue.indexOf(substVal)==-1;
+ erg = newValue.indexOf(substVal) == -1;
+ }
else
- erg = newValue.indexOf(substVal)!=-1;
-
- assure("Did not substitute '"
+ {
+ erg = newValue.indexOf(substVal) != -1;
+ }
+ assertTrue("Did not substitute '"
+ substString + "' to '" + newValue
+ "' correctly:", erg);
}
- catch(com.sun.star.uno.Exception e) {
- log.println(e.getClass().getName());
- log.println("Message: " + e.getMessage());
- failed("Could not create an instance of the test object.");
+ catch (com.sun.star.uno.Exception e)
+ {
+ System.out.println(e.getClass().getName());
+ System.out.println("Message: " + e.getMessage());
+ fail("Could not create an instance of the test object.");
return;
}
- log.println("Finish testing '" + var + "'\n");
+ System.out.println("Finish testing '" + var + "'\n");
}
// check of greedy resubstitution
@@ -161,20 +182,21 @@ public class PathSubstitutionTest extends ComplexTestCase {
String instPth = substVars.getValue(inst);
String progPth = substVars.getValue(prog);
- if (progPth.startsWith(instPth) && instPth.startsWith(progPth)) {
- log.println("Greedy ReSubstitute");
+ if (progPth.startsWith(instPth) && instPth.startsWith(progPth))
+ {
+ System.out.println("Greedy ReSubstitute");
String substString = progPth + "/additional/path";
String newVal = oObj.reSubstituteVariables(substString);
- log.println("String '" + substString +
- "' should be resubstituted with");
- log.println("Variable '" + prog + "' instead of Variable '" +
- inst + "'");
- assure("Did not reSubstitute '" + substString
+ System.out.println("String '" + substString
+ + "' should be resubstituted with");
+ System.out.println("Variable '" + prog + "' instead of Variable '"
+ + inst + "'");
+ assertTrue("Did not reSubstitute '" + substString
+ "' to '" + newVal + "' correctly:",
newVal.startsWith(prog));
}
- log.println(
+ System.out.println(
"---- Finish testing the XStringSubstitution interface ----");
}
@@ -182,65 +204,118 @@ public class PathSubstitutionTest extends ComplexTestCase {
* test the resubstitution
* @return true, if resubstitution is correct.
*/
- private boolean checkResubstitute(String subst, String original) {
+ private boolean checkResubstitute(String subst, String original)
+ {
// simple: subst starts with original
- if ( subst.startsWith(original) ) {
+ if (subst.startsWith(original))
+ {
return true;
}
- else { // hard: been resubstituted with a differernt variable.
- for (int i=0; i<substVars.size(); i++) {
+ else
+ { // hard: been resubstituted with a differernt variable.
+ for (int i = 0; i < substVars.size(); i++)
+ {
String var = substVars.getVariable(i);
- if ( subst.startsWith(var) && original.startsWith(original)) {
+ if (subst.startsWith(var) && original.startsWith(original))
+ {
return true;
}
}
}
return false;
}
+
/**
* Class for containing the substitution variables with their
* values and some information.
*/
- private class VariableContainer {
+ private class VariableContainer
+ {
+
public Vector varName;
public Vector varValue;
public Vector substAtBegin;
public Vector resubst;
- public VariableContainer() {
+ public VariableContainer()
+ {
varName = new Vector();
varValue = new Vector();
substAtBegin = new Vector();
resubst = new Vector();
}
- public void add(String var) {
+ public void add(String var)
+ {
varName.add(var);
substAtBegin.add(Boolean.TRUE);
resubst.add(Boolean.TRUE);
}
+
public void add(String var, boolean onlySubstAtBegin,
- boolean canResubst) {
+ boolean canResubst)
+ {
varName.add(var);
this.substAtBegin.add(new Boolean(onlySubstAtBegin));
this.resubst.add(new Boolean(canResubst));
}
- public void putValue(int i, String val) {
+ public void putValue(int i, String val)
+ {
varValue.add(i, val);
}
- public int size() { return varName.size(); }
- public String getVariable(int i) { return (String)varName.get(i); }
- public String getValue(int i) { return (String)varName.get(i); }
- public String getValue(String var) {
- return (String)varValue.get(varName.indexOf(var));
+ public int size()
+ {
+ return varName.size();
}
- public boolean onlySubstituteAtBegin(int i) {
- return ((Boolean)substAtBegin.get(i)).booleanValue();
+
+ public String getVariable(int i)
+ {
+ return (String) varName.get(i);
}
- public boolean canReSubstitute(int i) {
- return ((Boolean)resubst.get(i)).booleanValue();
+
+ public String getValue(int i)
+ {
+ return (String) varName.get(i);
}
+
+ public String getValue(String var)
+ {
+ return (String) varValue.get(varName.indexOf(var));
+ }
+
+ public boolean onlySubstituteAtBegin(int i)
+ {
+ return ((Boolean) substAtBegin.get(i)).booleanValue();
+ }
+
+ public boolean canReSubstitute(int i)
+ {
+ return ((Boolean) resubst.get(i)).booleanValue();
+ }
+ }
+
+ 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/path_substitution/makefile.mk b/framework/qa/complex/path_substitution/makefile.mk
index a266d3fa41..338affbf70 100755
--- a/framework/qa/complex/path_substitution/makefile.mk
+++ b/framework/qa/complex/path_substitution/makefile.mk
@@ -25,59 +25,98 @@
#
#*************************************************************************
-PRJ = ..$/..$/..
-TARGET = PathSubstitution
-PRJNAME = $(TARGET)
-PACKAGE = complex$/path_substitution
-
-# --- Settings -----------------------------------------------------
-.INCLUDE: settings.mk
-
-
-#----- compile .java files -----------------------------------------
-
-JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar mysql.jar
-JAVAFILES = PathSubstitutionTest.java
-JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
-
-#----- make a jar from compiled files ------------------------------
-
-MAXLINELENGTH = 100000
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
+.ELSE
-JARCLASSDIRS = $(PACKAGE)
-JARTARGET = $(TARGET).jar
-JARCOMPRESS = TRUE
+PRJ = ../../..
+PRJNAME = framework
+TARGET = qa_complex_path_substitution
-# --- Parameters for the test --------------------------------------
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = complex/path_substitution
-# 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
+# here store only Files which contain a @Test
+JAVATESTFILES = \
+ PathSubstitutionTest.java
-# test base is java complex
-CT_TESTBASE = -TestBase java_complex
+# put here all other files
+JAVAFILES = $(JAVATESTFILES)
-# test looks something like the.full.package.TestName
-CT_TEST = -o $(PACKAGE:s\$/\.\).$(JAVAFILES:b)
+JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
-# start the runner application
-CT_APP = org.openoffice.Runner
+# Sample how to debug
+# JAVAIFLAGS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9003,suspend=y
-# --- Targets ------------------------------------------------------
+.END
-.IF "$(depend)" == ""
-ALL : ALLTAR
-.ELSE
-ALL: ALLDEP
-.ENDIF
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+.INCLUDE: installationtest.mk
-.INCLUDE : target.mk
+ALLTAR : javatest
-RUN: run
+.END
-run:
- +java -cp $(CLASSPATH) $(CT_APP) $(CT_APPEXECCOMMAND) $(CT_TESTBASE) $(CT_TEST)
+#
+#
+#
+#
+# PRJ = ..$/..$/..
+# TARGET = PathSubstitution
+# PRJNAME = $(TARGET)
+# PACKAGE = complex$/path_substitution
+#
+# # --- Settings -----------------------------------------------------
+# .INCLUDE: settings.mk
+#
+#
+# #----- compile .java files -----------------------------------------
+#
+# JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar mysql.jar
+# JAVAFILES = PathSubstitutionTest.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)" == ""
+# ALL : ALLTAR
+# .ELSE
+# ALL: ALLDEP
+# .ENDIF
+#
+# .INCLUDE : target.mk
+#
+# RUN: run
+#
+# run:
+# +java -cp $(CLASSPATH) $(CT_APP) $(CT_APPEXECCOMMAND) $(CT_TESTBASE) $(CT_TEST)
+#
diff --git a/framework/qa/complex/sequence/CheckSequenceOfEnum.java b/framework/qa/complex/sequence/CheckSequenceOfEnum.java
deleted file mode 100755
index 90399c5030..0000000000
--- a/framework/qa/complex/sequence/CheckSequenceOfEnum.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-package complex.sequence;
-
-import com.sun.star.lang.XMultiServiceFactory;
-import com.sun.star.enumexample.XEnumSequence;
-import com.sun.star.beans.PropertyState;
-import com.sun.star.uno.UnoRuntime;
-import complexlib.ComplexTestCase;
-
-/**
- * The test is for bug 111128. The mapping of sequence<enumeration> between
- * Java and C++ from the IDL definition was erroneous. This test checks, if
- * the mapping works.
- */
-public class CheckSequenceOfEnum extends ComplexTestCase {
-
- /**
- * Return all test methods.
- * @return The test methods.
- */
- public String[] getTestMethodNames() {
- return new String[]{"checkSequence"};
- }
-
- /**
- * Check the sequence<enumeration> mapping between Java and C++.
- * Since the Office does
- * not use such a construct itself, a C++ component with an own defined
- * interface is used for testing.
- */
- public void checkSequence() {
- try {
- XMultiServiceFactory xMSF = (XMultiServiceFactory) param.getMSF();
- Object oObj = xMSF.createInstance("com.sun.star.enumexample.ChangeSequenceOrder");
- assure("Build the shared library 'changeSequenceOrder' in directory 'enumexample' and\n"
- + "register the created zip 'EnumSequenceComponent' before executing this test.", oObj != null);
- // build a first sequence
- PropertyState[] aOriginalSequence = new PropertyState[] {
- PropertyState.DIRECT_VALUE,
- PropertyState.DEFAULT_VALUE,
- PropertyState.AMBIGUOUS_VALUE
- };
- XEnumSequence xSequence = (XEnumSequence)UnoRuntime.queryInterface(XEnumSequence.class, oObj);
- PropertyState[] aChangedSequence = xSequence.getSequenceInChangedOrder(aOriginalSequence);
- assure("Did not return a correct sequence.", checkSequence(aOriginalSequence, aChangedSequence));
- }
- catch(Exception e) {
- e.printStackTrace();
- failed("Exception!");
- }
- }
-
- private boolean checkSequence(PropertyState[] aOriginalSequence, PropertyState[] aChangedSequence) {
- boolean erg = true;
- int length = aOriginalSequence.length;
- for ( int i=0; i<length; i++ ) {
- if ( aOriginalSequence[i] != aChangedSequence[length -1 - i]) {
- log.println("Checking '" + aOriginalSequence[i] + "' == '" + aChangedSequence[length - 1 - i] + "'");
- erg = false;
- }
- if ( aChangedSequence[length - 1 - i].getValue() != PropertyState.fromInt(i).getValue() ) {
- log.println("Checking '" + aChangedSequence[length - 1 - i].getValue() + "' == '" + PropertyState.fromInt(i).getValue() + "'");
- erg = false;
- }
- }
- return erg;
- }
-}
-
-
diff --git a/framework/qa/complex/sequence/makefile.mk b/framework/qa/complex/sequence/makefile.mk
deleted file mode 100755
index ba18b278d7..0000000000
--- a/framework/qa/complex/sequence/makefile.mk
+++ /dev/null
@@ -1,98 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ = ..$/..$/..
-TARGET = CheckSequenceOfEnum
-PRJNAME = $(TARGET)
-PACKAGE = complex$/sequence
-
-# --- Settings -----------------------------------------------------
-.INCLUDE: settings.mk
-
-
-#----- compile .java files -----------------------------------------
-
-JARFILES = mysql.jar ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar CheckSequenceOfEnum.jar
-JAVAFILES = CheckSequenceOfEnum.java
-
-ENUMSEQUENCEIDL = com.sun.star.enumexample.XEnumSequence
-
-#----- make a jar from compiled files ------------------------------
-
-MAXLINELENGTH = 100000
-
-JARCLASSDIRS = $(PACKAGE) com
-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\$/\.\).CheckSequenceOfEnum
-
-# start the runner application
-CT_APP = org.openoffice.Runner
-
-RDB = $(BIN)$/myudkapi.rdb
-JAVADIR = $(OUT)$/misc$/java
-
-# --- Targets ------------------------------------------------------
-
-.IF "$(depend)" == ""
-ALL: GENJAVAFILES ALLTAR
-.ELSE
-ALL: ALLDEP
-.ENDIF
-
-
-.INCLUDE : target.mk
-
-$(RDB) :
- +idlc -I$(IDL) -I$(SOLARIDLDIR) -O$(BIN) $?
- +regmerge $@ /UCR $(BIN)$/{$(?:f:s/.idl/.urd/)}
- +regmerge $@ / $(SOLARBINDIR)$/udkapi.rdb
- touch $@
-
-GENJAVAFILES :
- -+$(MKDIR) $(CLASSDIR) >& $(NULLDEV)
- -+$(MKDIR) $(JAVADIR) >& $(NULLDEV)
- +javamaker -BUCR -nD -O$(CLASSDIR) $(RDB) -T$(ENUMSEQUENCEIDL)
-
-RUN:
- +java -cp $(CLASSPATH) $(CT_APP) $(CT_APPEXECCOMMAND) $(CT_TESTBASE) $(CT_TEST)
-
-run: RUN
diff --git a/framework/qa/unoapi/framework.sce b/framework/qa/unoapi/framework.sce
index dad0c838de..76f3d1b089 100755
--- a/framework/qa/unoapi/framework.sce
+++ b/framework/qa/unoapi/framework.sce
@@ -2,7 +2,7 @@
-o fwl.FilterFactory
-o fwl.FrameLoaderFactory
-o fwl.SubstituteVariables
--o fwl.TypeDetection
+#i113245 -o fwl.TypeDetection
#i84346 -o fwl.PathSettings
-o fwk.DispatchRecorder
-o fwk.DispatchRecorderSupplier
@@ -17,7 +17,7 @@
-o fwk.ServiceHandler
-o fwk.URLTransformer
-o fwk.MacrosMenuController
--o fwk.ModuleManager
+#i112746 -o fwk.ModuleManager
-o fwk.UIElementFactoryManager
-o fwk.UICommandDescription
-o fwk.LayoutManager
diff --git a/framework/source/services/pathsettings.cxx b/framework/source/services/pathsettings.cxx
index cbdf12fe16..147c1108fd 100644
--- a/framework/source/services/pathsettings.cxx
+++ b/framework/source/services/pathsettings.cxx
@@ -973,6 +973,13 @@ sal_Bool PathSettings::impl_isValidPath(const OUStringList& lPath) const
//-----------------------------------------------------------------------------
sal_Bool PathSettings::impl_isValidPath(const ::rtl::OUString& sPath) const
{
+ // allow empty path to reset a path.
+// idea by LLA to support empty pathes
+// if (sPath.getLength() == 0)
+// {
+// return sal_True;
+// }
+
return (! INetURLObject(sPath).HasError());
}
diff --git a/linguistic/prj/build.lst b/linguistic/prj/build.lst
index 57c332f6f3..b85d4cfd9d 100644
--- a/linguistic/prj/build.lst
+++ b/linguistic/prj/build.lst
@@ -3,4 +3,8 @@ lg linguistic usr1 - all lg_mkout NULL
lg linguistic\prj get - all lg_prj NULL
lg linguistic\inc nmake - all lg_inc NULL
lg linguistic\source nmake - all lg_src lg_inc NULL
+
lg linguistic\qa\unoapi nmake - all lg_qa_unoapi NULL
+
+# could be we need a Japanese office version
+# lg linguistic\qa\complex\linguistic nmake - all lg_qa_complex NULL
diff --git a/linguistic/qa/complex/linguistic/HangulHanjaConversion.java b/linguistic/qa/complex/linguistic/HangulHanjaConversion.java
index 42b8e9fe8e..f1e7d2d64b 100644
--- a/linguistic/qa/complex/linguistic/HangulHanjaConversion.java
+++ b/linguistic/qa/complex/linguistic/HangulHanjaConversion.java
@@ -43,56 +43,57 @@ import com.sun.star.linguistic2.XConversionDictionaryList;
import com.sun.star.sheet.XSpreadsheet;
import com.sun.star.sheet.XSpreadsheetDocument;
import com.sun.star.table.XCell;
-import com.sun.star.text.XTextCursor;
-import com.sun.star.text.XTextDocument;
-import com.sun.star.text.XWordCursor;
+
import com.sun.star.uno.UnoRuntime;
-import complexlib.ComplexTestCase;
-import java.io.PrintWriter;
import util.DesktopTools;
+// 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 HangulHanjaConversion extends ComplexTestCase {
+public class HangulHanjaConversion {
XMultiServiceFactory xMSF = null;
boolean disposed = false;
Locale aLocale = new Locale("ko", "KR", "");
short dictType = ConversionDictionaryType.HANGUL_HANJA;
- public String[] getTestMethodNames() {
- return new String[] { "ConversionDictionaryList" };
- }
+// public String[] getTestMethodNames() {
+// return new String[] { "ConversionDictionaryList" };
+// }
- public void before() {
- xMSF = (XMultiServiceFactory) param.getMSF();
+ @Before public void before() {
+ xMSF = getMSF();
}
- public void ConversionDictionaryList() {
+ @Test public void ConversionDictionaryList() {
Object ConversionDictionaryList = null;
try {
ConversionDictionaryList = xMSF.createInstance(
"com.sun.star.linguistic2.ConversionDictionaryList");
} catch (com.sun.star.uno.Exception e) {
- assure("Couldn't create ConversionDictionaryList", false);
+ fail("Couldn't create ConversionDictionaryList");
}
if (ConversionDictionaryList == null) {
- assure("Couldn't create ConversionDictionaryList", false);
+ fail("Couldn't create ConversionDictionaryList");
}
boolean bList = checkXConversionDictionaryList(
ConversionDictionaryList);
- assure("XConversionDictionaryList doesnt work as expected", bList);
+ assertTrue("XConversionDictionaryList doesnt work as expected", bList);
}
private boolean checkXConversionDictionaryList(Object list) {
boolean res = true;
- XConversionDictionaryList xCList = (XConversionDictionaryList) UnoRuntime.queryInterface(
- XConversionDictionaryList.class,
- list);
+ XConversionDictionaryList xCList = UnoRuntime.queryInterface(XConversionDictionaryList.class, list);
XConversionDictionary xDict = null;
try {
@@ -100,28 +101,30 @@ public class HangulHanjaConversion extends ComplexTestCase {
dictType);
} catch (com.sun.star.lang.NoSupportException e) {
res = false;
- assure("Couldn't add Dictionary", false);
+ fail("Couldn't add Dictionary");
} catch (com.sun.star.container.ElementExistException e) {
res = false;
- assure("Couldn't add Dictionary", false);
+ fail("Couldn't add Dictionary");
}
try {
xCList.addNewDictionary("addNewDictionary", aLocale, dictType);
res = false;
- assure("wrong exception while adding Dictionary again", false);
+ fail("wrong exception while adding Dictionary again");
} catch (com.sun.star.lang.NoSupportException e) {
res = false;
- assure("wrong exception while adding Dictionary again", false);
+ fail("wrong exception while adding Dictionary again");
} catch (com.sun.star.container.ElementExistException e) {
}
boolean localRes = checkNameContainer(xCList.getDictionaryContainer());
res &= localRes;
- assure("getDictionaryContainer didn't work as expected", localRes);
+ assertTrue("getDictionaryContainer didn't work as expected", localRes);
- String FileToLoad = util.utils.getFullTestURL("hangulhanja.sxc");
- XComponent xDoc = DesktopTools.loadDoc(xMSF, FileToLoad,
+ String FileToLoad = TestDocument.getUrl("hangulhanja.sxc");
+ // String FileToLoad = util.utils.getFullTestURL();
+
+XComponent xDoc = DesktopTools.loadDoc(xMSF, FileToLoad,
new PropertyValue[] { });
XSpreadsheet xSheet = getSheet(xDoc);
boolean done = false;
@@ -145,7 +148,7 @@ public class HangulHanjaConversion extends ComplexTestCase {
} catch (com.sun.star.lang.IllegalArgumentException e) {
e.printStackTrace();
res = false;
- assure("Exception while checking adding entry", false);
+ fail("Exception while checking adding entry");
} catch (com.sun.star.container.ElementExistException e) {
//ignored
}
@@ -157,7 +160,7 @@ public class HangulHanjaConversion extends ComplexTestCase {
} catch (com.sun.star.lang.IllegalArgumentException e) {
e.printStackTrace();
res = false;
- assure("Exception while checking adding entry", false);
+ fail("Exception while checking adding entry");
} catch (com.sun.star.container.ElementExistException e) {
//ignored
}
@@ -165,7 +168,7 @@ public class HangulHanjaConversion extends ComplexTestCase {
localRes = xCList.queryMaxCharCount(aLocale, dictType,
ConversionDirection.FROM_LEFT) == 42;
res &= localRes;
- assure("queryMaxCharCount returned the wrong value", localRes);
+ assertTrue("queryMaxCharCount returned the wrong value", localRes);
String[] conversion = null;
@@ -177,37 +180,36 @@ public class HangulHanjaConversion extends ComplexTestCase {
TextConversionOption.NONE);
} catch (com.sun.star.lang.IllegalArgumentException e) {
res = false;
- assure("Exception while calling queryConversions", false);
+ fail("Exception while calling queryConversions");
} catch (com.sun.star.lang.NoSupportException e) {
res = false;
- assure("Exception while calling queryConversions", false);
+ fail("Exception while calling queryConversions");
}
localRes = conversion[0].equals(expectedConversion);
res &= localRes;
- assure("queryConversions didn't work as expected", localRes);
+ assertTrue("queryConversions didn't work as expected", localRes);
try {
xCList.getDictionaryContainer().removeByName("addNewDictionary");
} catch (com.sun.star.container.NoSuchElementException e) {
res = false;
- assure("exception while removing Dictionary again", false);
+ fail("exception while removing Dictionary again");
} catch (com.sun.star.lang.WrappedTargetException e) {
res = false;
- assure("exception while removing Dictionary again", false);
+ fail("exception while removing Dictionary again");
}
localRes = !xCList.getDictionaryContainer()
.hasByName("addNewDictionary");
res &= localRes;
- assure("Dictionary hasn't been removed properly", localRes);
+ assertTrue("Dictionary hasn't been removed properly", localRes);
- XComponent dicList = (XComponent) UnoRuntime.queryInterface(
- XComponent.class, xCList);
+ XComponent dicList = UnoRuntime.queryInterface(XComponent.class, xCList);
XEventListener listen = new EventListener();
dicList.addEventListener(listen);
dicList.dispose();
- assure("dispose didn't work", disposed);
+ assertTrue("dispose didn't work", disposed);
dicList.removeEventListener(listen);
DesktopTools.closeDoc(xDoc);
@@ -244,23 +246,17 @@ public class HangulHanjaConversion extends ComplexTestCase {
}
private XSpreadsheet getSheet(XComponent xDoc) {
- XSpreadsheetDocument xSheetDoc = (XSpreadsheetDocument) UnoRuntime.queryInterface(
- XSpreadsheetDocument.class,
- xDoc);
+ XSpreadsheetDocument xSheetDoc = UnoRuntime.queryInterface(XSpreadsheetDocument.class, xDoc);
XSpreadsheet xSheet = null;
try {
- xSheet = (XSpreadsheet) UnoRuntime.queryInterface(
- XSpreadsheet.class,
- xSheetDoc.getSheets()
- .getByName(xSheetDoc.getSheets()
- .getElementNames()[0]));
+ xSheet = UnoRuntime.queryInterface(XSpreadsheet.class, xSheetDoc.getSheets().getByName(xSheetDoc.getSheets().getElementNames()[0]));
} catch (com.sun.star.container.NoSuchElementException e) {
- log.println("Couldn't get sheet");
- e.printStackTrace((PrintWriter) log);
+ System.out.println("Couldn't get sheet");
+ e.printStackTrace();
} catch (com.sun.star.lang.WrappedTargetException e) {
- log.println("Couldn't get sheet");
- e.printStackTrace((PrintWriter) log);
+ System.out.println("Couldn't get sheet");
+ e.printStackTrace();
}
return xSheet;
@@ -280,8 +276,8 @@ public class HangulHanjaConversion extends ComplexTestCase {
try {
re = xSpreadsheet.getCellByPosition(x, y);
} catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- log.println("Couldn't get word");
- e.printStackTrace((PrintWriter) log);
+ System.out.println("Couldn't get word");
+ e.printStackTrace();
}
return re;
@@ -342,4 +338,26 @@ public class HangulHanjaConversion extends ComplexTestCase {
disposed = true;
}
}
-} \ No newline at end of file
+
+ 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/linguistic/qa/complex/linguistic/TestDocument.java b/linguistic/qa/complex/linguistic/TestDocument.java
new file mode 100644
index 0000000000..415686b7c4
--- /dev/null
+++ b/linguistic/qa/complex/linguistic/TestDocument.java
@@ -0,0 +1,41 @@
+/*************************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+************************************************************************/
+
+package complex.linguistic;
+
+import java.io.File;
+import org.openoffice.test.OfficeFileUrl;
+
+final class TestDocument
+{
+ public static String getUrl(String name)
+ {
+ return OfficeFileUrl.getAbsolute(new File("testdocuments", name));
+ }
+
+ private TestDocument() {}
+}
diff --git a/linguistic/qa/complex/linguistic/makefile.mk b/linguistic/qa/complex/linguistic/makefile.mk
index 75330e3c5d..43a88ee0a1 100644
--- a/linguistic/qa/complex/linguistic/makefile.mk
+++ b/linguistic/qa/complex/linguistic/makefile.mk
@@ -25,49 +25,37 @@
#
#*************************************************************************
-PRJ = ..$/..$/..
-TARGET = HangulHanjaConversion
-PRJNAME = linguistic
-PACKAGE = complex$/linguistic
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
+.ELSE
-# --- 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 = HangulHanjaConversion.java
-JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
-
-#----- make a jar from compiled files ------------------------------
+PRJ = ../../..
+PRJNAME = sc
+TARGET = qa_complex_linguistic
-MAXLINELENGTH = 100000
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = complex/linguistic
-JARCLASSDIRS = $(PACKAGE)
-JARTARGET = $(TARGET).jar
-JARCOMPRESS = TRUE
+# here store only Files which contain a @Test
+JAVATESTFILES = \
+ HangulHanjaConversion.java
-# --- Parameters for the test --------------------------------------
+# put here all other files
+JAVAFILES = $(JAVATESTFILES) \
+ TestDocument.java
-# test base is java complex
-CT_TESTBASE = -tb java_complex
+JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
-# test looks something like the.full.package.TestName
-CT_TEST = -o $(PACKAGE:s\$/\.\).$(JAVAFILES:b)
+# Sample how to debug
+# JAVAIFLAGS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9003,suspend=y
-# start the runner application
-CT_APP = org.openoffice.Runner
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
-RUN: run
-
-run:
- +java -cp $(CLASSPATH) $(CT_APP) $(CT_TESTBASE) $(CT_TEST) -tdoc $(PWD)$/testdocuments
+.END
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+.INCLUDE: installationtest.mk
+ALLTAR : javatest
+.END
diff --git a/sfx2/prj/build.lst b/sfx2/prj/build.lst
index 96320614ea..1e471312c6 100644
--- a/sfx2/prj/build.lst
+++ b/sfx2/prj/build.lst
@@ -23,3 +23,9 @@ sf sfx2\workben\custompanel nmake - all sf_wb_custompanel NUL
sf sfx2\util nmake - all sf_util sf_appl sf_bast sf_cnfg sf_ctrl sf_dlg sf_doc sf_expl sf_inet sf_menu sf_layout sf_noti sf_sbar sf_tbox sf_view NULL
sf sfx2\qa\unoapi nmake - all sf_qa_unoapi NULL
sf sfx2\qa\cppunit nmake - all sf_qa_cppunit sf_util NULL
+
+# fails on unxsoli4
+# sf sfx2\qa\complex\standalonedocumentinfo nmake - all sf_qa_complex_standalonedocumentinfo sf_util NULL
+
+# sf sfx2\qa\complex\framework nmake - all sf_qa_complex_framework sf_qa_complex_framework_dochelper NULL
+# sf sfx2\qa\complex\docinfo nmake - all sf_qa_complex_docinfo sf_util NULL
diff --git a/sfx2/qa/complex/CheckGlobalEventBroadcaster_writer1.java b/sfx2/qa/complex/CheckGlobalEventBroadcaster_writer1.java
deleted file mode 100644
index 6ab5400ec4..0000000000
--- a/sfx2/qa/complex/CheckGlobalEventBroadcaster_writer1.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-package complex.framework;
-
-import com.sun.star.awt.XWindow;
-import com.sun.star.document.XEventBroadcaster;
-import com.sun.star.document.XEventListener;
-import com.sun.star.lang.XMultiServiceFactory;
-import com.sun.star.sheet.XSpreadsheetDocument;
-import com.sun.star.text.XTextDocument;
-import com.sun.star.uno.UnoRuntime;
-import complex.framework.DocHelper.WriterHelper;
-import complexlib.ComplexTestCase;
-import java.util.ArrayList;
-import com.sun.star.task.XJobExecutor;
-import com.sun.star.util.URL;
-import util.UITools;
-
-/**
- * This testcase checks the GlobalEventBroadcaster
- * it will add an XEventListener and verify the Events
- * raised when opening/changing and closing Office Documents
- */
-public class CheckGlobalEventBroadcaster_writer1 extends ComplexTestCase {
- XMultiServiceFactory m_xMSF = null;
- XEventBroadcaster m_xEventBroadcaster = null;
- ArrayList notifyEvents = new ArrayList();
- XTextDocument xTextDoc;
- XSpreadsheetDocument xSheetDoc;
- XEventListener m_xEventListener = new EventListenerImpl();
-
- public String[] getTestMethodNames() {
- return new String[] {
- "initialize", "checkWriter", "cleanup"
- };
- }
-
- public void initialize() {
- m_xMSF = (XMultiServiceFactory) param.getMSF();
- log.println("check wether there is a valid MultiServiceFactory");
-
- if (m_xMSF == null) {
- assure("## Couldn't get MultiServiceFactory make sure your Office is started",
- true);
- }
-
- log.println("... done");
-
- log.println(
- "Create an instance of com.sun.star.frame.GlobalEventBroadcaster");
-
- Object GlobalEventBroadcaster = null;
- Object dispatcher = null;
-
- try {
- GlobalEventBroadcaster = m_xMSF.createInstance(
- "com.sun.star.frame.GlobalEventBroadcaster");
- } catch (com.sun.star.uno.Exception e) {
- assure("## Exception while creating instance", false);
- }
-
- log.println("... done");
-
- log.println("check wether the created instance is valid");
-
- if (GlobalEventBroadcaster == null) {
- assure("couldn't create service", false);
- }
-
- log.println("... done");
-
- log.println(
- "try to query the XEventBroadcaster from the gained Object");
- m_xEventBroadcaster = (XEventBroadcaster) UnoRuntime.queryInterface(
- XEventBroadcaster.class,
- GlobalEventBroadcaster);
-
- if (util.utils.isVoid(m_xEventBroadcaster)) {
- assure("couldn't get XEventBroadcaster", false);
- }
-
- log.println("... done");
-
- log.println("adding Listener");
- m_xEventBroadcaster.addEventListener(m_xEventListener);
- log.println("... done");
- }
-
- public void checkWriter() {
- log.println("-- Checking Writer --");
-
- WriterHelper wHelper = new WriterHelper(m_xMSF);
- String[] expected;
- boolean locRes = true;
- log.println("opening an empty writer doc");
- notifyEvents.clear();
- xTextDoc = wHelper.openEmptyDoc();
- shortWait();
- expected = new String[] { "OnUnfocus", "OnCreate", "OnViewCreated", "OnFocus" };
-
- assure("Wrong events fired when opening empty doc",
- proveExpectation(expected));
- log.println("... done");
-
- log.println("changing the writer doc");
- notifyEvents.clear();
- xTextDoc.getText().setString("GlobalEventBroadcaster");
- shortWait();
- expected = new String[] { "OnModifyChanged" };
-
- assure("Wrong events fired when changing doc",
- proveExpectation(expected));
- log.println("... done");
-
- log.println("closing the empty writer doc");
- notifyEvents.clear();
- wHelper.closeDoc(xTextDoc);
- shortWait();
- expected = new String[] { "OnUnfocus", "OnFocus", "OnViewClosed", "OnUnload" };
-
- assure("Wrong events fired when closing empty doc",
- proveExpectation(expected));
- log.println("... done");
-
- log.println("opening an writer doc via Window-New Window");
- notifyEvents.clear();
- xTextDoc = wHelper.openFromDialog(".uno:NewWindow", "", false);
- shortWait();
- expected = new String[] { "OnUnfocus", "OnCreate", "OnViewCreated", "OnFocus", "OnUnfocus", "OnViewCreated", "OnFocus", };
-
- assure("Wrong events fired when opening an writer doc via Window-New Window",
- proveExpectation(expected));
- log.println("... done");
-
- log.println("closing the created writer doc");
- notifyEvents.clear();
-
- wHelper.closeDoc(xTextDoc);
- shortWait();
- expected = new String[] { "OnViewClosed", "OnUnfocus", "OnFocus", "OnViewClosed", "OnUnload" };
-
- assure("Wrong events fired when closing Window-New Window",
- proveExpectation(expected));
-
- log.println("... done");
-
- log.println("Opening document with label wizard");
- xTextDoc = wHelper.openFromDialog("private:factory/swriter?slot=21051", "", false);
- shortWait();
- XWindow xWindow = (XWindow) UnoRuntime.queryInterface(XWindow.class, wHelper.getToolkit ().getActiveTopWindow ());
- UITools ut = new UITools(m_xMSF,xWindow);
- notifyEvents.clear();
- log.println("pressing button 'New Document'");
- try{
- ut.clickButton ("New Document");
- } catch (Exception e) {
- log.println("Couldn't press Button");
- }
- log.println("... done");
- shortWait();
- shortWait();
- shortWait();
- expected = new String[] { "OnViewClosed", "OnCreate", "OnFocus", "OnModifyChanged" };
-
- assure("Wrong events fired when starting labels wizard",
- proveExpectation(expected));
-
- log.println("-- Done Writer --");
- }
-
- public void cleanup() {
- log.println("removing Listener");
- m_xEventBroadcaster.removeEventListener(m_xEventListener);
- log.println("... done");
- }
-
- /**
- * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
- * reset</code> call.
- */
- private void shortWait() {
- try {
- Thread.sleep(2000);
- } catch (InterruptedException e) {
- log.println("While waiting :" + e);
- }
- }
-
- private boolean proveExpectation(String[] expected) {
- boolean locRes = true;
- boolean failure = false;
-
- log.println("Fired Events:");
- for (int k=0;k<notifyEvents.size();k++) {
- System.out.println("\t- "+notifyEvents.get(k));
- }
-
- for (int i = 0; i < expected.length; i++) {
- locRes = notifyEvents.contains(expected[i]);
-
- if (!locRes) {
- log.println("The event " + expected[i] + " isn't fired");
- failure = true;
- }
- }
-
- return !failure;
- }
-
- public class EventListenerImpl implements XEventListener {
- public void disposing(com.sun.star.lang.EventObject eventObject) {
- log.println("disposing: " + eventObject.Source.toString());
- }
-
- public void notifyEvent(com.sun.star.document.EventObject eventObject) {
- notifyEvents.add(eventObject.EventName);
- }
- }
-}
diff --git a/sfx2/qa/complex/docinfo/DocumentProperties.java b/sfx2/qa/complex/docinfo/DocumentProperties.java
index 2f818b972b..e5043ddcc3 100644
--- a/sfx2/qa/complex/docinfo/DocumentProperties.java
+++ b/sfx2/qa/complex/docinfo/DocumentProperties.java
@@ -26,9 +26,12 @@
************************************************************************/
package complex.docinfo;
+import com.sun.star.beans.*;
+import com.sun.star.beans.Property;
import com.sun.star.beans.PropertyValue;
import com.sun.star.beans.XPropertyContainer;
import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.XPropertySetInfo;
import com.sun.star.document.XDocumentInfo;
import com.sun.star.document.XDocumentInfoSupplier;
import com.sun.star.frame.XComponentLoader;
@@ -37,233 +40,324 @@ import com.sun.star.lang.XComponent;
import com.sun.star.lang.XMultiServiceFactory;
import com.sun.star.text.XTextDocument;
import com.sun.star.uno.UnoRuntime;
-import com.sun.star.uno.XInterface;
import com.sun.star.util.Date;
-import complexlib.ComplexTestCase;
+
import util.DesktopTools;
import util.WriterTools;
+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 DocumentProperties
+{
-public class DocumentProperties extends ComplexTestCase {
XMultiServiceFactory m_xMSF = null;
XTextDocument xTextDoc = null;
+ XTextDocument xTextDocSecond = null;
- public String[] getTestMethodNames() {
- return new String[] {"checkDocInfo", "cleanup"};
- }
-
- public void checkDocInfo() {
- m_xMSF = (XMultiServiceFactory) param.getMSF();
-
- log.println(
- "check wether there is a valid MultiServiceFactory");
+// public String[] getTestMethodNames() {
+// return new String[] {"checkDocInfo", "cleanup"};
+// }
+ @Test public void checkDocInfo()
+ {
+ m_xMSF = getMSF();
- if (m_xMSF == null) {
- assure("## Couldn't get MultiServiceFactory make sure your Office is started",
- true);
- }
+ System.out.println("check wether there is a valid MultiServiceFactory");
- log.println("... done");
-
- log.println("Opening a Writer document");
- xTextDoc = WriterTools.createTextDoc(m_xMSF);
- log.println("... done");
-
- XDocumentInfoSupplier xDocInfoSup =
- (XDocumentInfoSupplier) UnoRuntime.queryInterface(XDocumentInfoSupplier.class,
- xTextDoc);
- XDocumentInfo xDocInfo = xDocInfoSup.getDocumentInfo();
- XPropertyContainer xPropContainer =
- (XPropertyContainer) UnoRuntime.queryInterface(XPropertyContainer.class,
- xDocInfo);
-
- log.println("Trying to add a existing property");
-
- boolean worked =
- addProperty(xPropContainer, "Author", (short) 0, "");
- assure("Could set an existing property", !worked);
- log.println("...done");
-
- log.println("Trying to add a integer property");
- worked =
- addProperty(xPropContainer, "intValue", com.sun.star.beans.PropertyAttribute.READONLY,
- new Integer(17));
- assure("Couldn't set an integer property", worked);
- log.println("...done");
-
- log.println("Trying to add a double property");
- worked =
- addProperty(xPropContainer, "doubleValue", com.sun.star.beans.PropertyAttribute.REMOVEABLE ,
- new Double(17.7));
- assure("Couldn't set an double property", worked);
- log.println("...done");
-
- log.println("Trying to add a boolean property");
- worked =
- addProperty(xPropContainer, "booleanValue", com.sun.star.beans.PropertyAttribute.REMOVEABLE,
- Boolean.TRUE);
- assure("Couldn't set an boolean property", worked);
- log.println("...done");
-
- log.println("Trying to add a date property");
- worked =
- addProperty(xPropContainer, "dateValue", com.sun.star.beans.PropertyAttribute.REMOVEABLE,
- new Date());
- assure("Couldn't set an date property", worked);
- log.println("...done");
-
- log.println("trying to remove a read only Property");
- try {
- xPropContainer.removeProperty ("intValue");
- assure("Could remove read only property", false);
- } catch (Exception e) {
- log.println("\tException was thrown "+e);
- log.println("\t...OK");
- }
- log.println("...done");
-
+ assertNotNull("## Couldn't get MultiServiceFactory make sure your Office is started", m_xMSF);
+ // TODO: need other temp directory!
String tempdir = System.getProperty("java.io.tmpdir");
String fs = System.getProperty("file.separator");
- if (!tempdir.endsWith(fs)) {
+ if (!tempdir.endsWith(fs))
+ {
tempdir += fs;
}
-
tempdir = util.utils.getFullURL(tempdir);
-
- log.println("Storing the document");
-
- try {
- XStorable store =
- (XStorable) UnoRuntime.queryInterface(XStorable.class,
- xTextDoc);
- store.storeToURL(tempdir + "DocInfo.oot",
- new PropertyValue[] {});
- DesktopTools.closeDoc(xTextDoc);
- } catch (Exception e) {
- assure("Couldn't store document", false);
+ final String sTempDocument = tempdir + "DocInfo.oot";
+
+ if (true)
+ {
+ System.out.println("... done");
+
+
+ System.out.println("Opening a Writer document");
+ xTextDoc = WriterTools.createTextDoc(m_xMSF);
+ System.out.println("... done");
+
+ XDocumentInfoSupplier xDocInfoSup = UnoRuntime.queryInterface(XDocumentInfoSupplier.class, xTextDoc);
+ XDocumentInfo xDocInfo = xDocInfoSup.getDocumentInfo();
+ XPropertyContainer xPropContainer = UnoRuntime.queryInterface(XPropertyContainer.class, xDocInfo);
+
+ System.out.println("Trying to add a existing property");
+
+ boolean worked = addProperty(xPropContainer, "Author", (short) 0, "");
+ assertTrue("Could set an existing property", !worked);
+ System.out.println("...done");
+
+ System.out.println("Trying to add a integer property");
+ worked = addProperty(xPropContainer, "intValue", com.sun.star.beans.PropertyAttribute.READONLY, new Integer(17));
+ assertTrue("Couldn't set an integer property", worked);
+ System.out.println("...done");
+
+ System.out.println("Trying to add a double property");
+ worked = addProperty(xPropContainer, "doubleValue", com.sun.star.beans.PropertyAttribute.REMOVEABLE, new Double(17.7));
+ assertTrue("Couldn't set an double property", worked);
+ System.out.println("...done");
+
+ System.out.println("Trying to add a boolean property");
+ worked = addProperty(xPropContainer, "booleanValue", com.sun.star.beans.PropertyAttribute.REMOVEABLE, Boolean.TRUE);
+ assertTrue("Couldn't set an boolean property", worked);
+ System.out.println("...done");
+
+ System.out.println("Trying to add a date property");
+ worked = addProperty(xPropContainer, "dateValue", com.sun.star.beans.PropertyAttribute.REMOVEABLE, new Date());
+ assertTrue("Couldn't set an date property", worked);
+ System.out.println("...done");
+
+ System.out.println("trying to remove a read only Property");
+ try
+ {
+ xPropContainer.removeProperty("intValue");
+ fail("Could remove read only property");
+ }
+ catch (Exception e)
+ {
+ System.out.println("\tException was thrown " + e);
+ System.out.println("\t...OK");
+ }
+ System.out.println("...done");
+
+ XPropertySet xProps2 = UnoRuntime.queryInterface(XPropertySet.class, xPropContainer);
+ showPropertySet(xProps2);
+
+
+ System.out.println("Storing the document");
+ try
+ {
+ XStorable store = UnoRuntime.queryInterface(XStorable.class, xTextDoc);
+ store.storeToURL(sTempDocument, new PropertyValue[] {});
+ DesktopTools.closeDoc(xTextDoc);
+ }
+ catch (Exception e)
+ {
+ fail("Couldn't store document");
+ }
+
+ System.out.println("...done");
}
- log.println("...done");
-
- log.println("loading the document");
-
- try {
- XComponentLoader xCL =
- (XComponentLoader) UnoRuntime.queryInterface(XComponentLoader.class,
- m_xMSF.createInstance(
- "com.sun.star.frame.Desktop"));
- XComponent xComp =
- xCL.loadComponentFromURL(tempdir + "DocInfo.oot",
- "_blank", 0, new PropertyValue[] {});
- xTextDoc =
- (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class,
- xComp);
- } catch (Exception e) {
- assure("Couldn't load document", false);
- }
- log.println("...done");
-
- xDocInfoSup =
- (XDocumentInfoSupplier) UnoRuntime.queryInterface(XDocumentInfoSupplier.class,
- xTextDoc);
- xDocInfo = xDocInfoSup.getDocumentInfo();
-
- XPropertySet xProps =
- (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class,
- xDocInfo);
-
- assure("Integer doesn't work",
- checkType(xProps, "intValue", "java.lang.Integer"));
- assure("Double doesn't work",
- checkType(xProps, "doubleValue", "java.lang.Double"));
- assure("Boolean doesn't work",
- checkType(xProps, "booleanValue", "java.lang.Boolean"));
- assure("Date doesn't work",
- checkType(xProps, "dateValue",
- "com.sun.star.util.DateTime"));
-
- xPropContainer =
- (XPropertyContainer) UnoRuntime.queryInterface(XPropertyContainer.class,
- xDocInfo);
-
- log.println("trying to remove a not user defined Property");
- try {
- xPropContainer.removeProperty ("Author");
- assure("Could remove non user defined property", false);
- } catch (Exception e) {
- log.println("\tException was thrown "+e);
- log.println("\t...OK");
+ if (true)
+ {
+ System.out.println("loading the document");
+
+ try
+ {
+ XComponentLoader xCL = UnoRuntime.queryInterface(XComponentLoader.class, m_xMSF.createInstance("com.sun.star.frame.Desktop"));
+ XComponent xComp = xCL.loadComponentFromURL(sTempDocument, "_blank", 0, new PropertyValue[] {});
+ xTextDocSecond = UnoRuntime.queryInterface(XTextDocument.class, xComp);
+ }
+ catch (Exception e)
+ {
+ fail("Couldn't load document");
+ }
+
+ System.out.println("...done");
+
+ XDocumentInfoSupplier xDocInfoSup = UnoRuntime.queryInterface(XDocumentInfoSupplier.class, xTextDocSecond);
+ XDocumentInfo xDocInfo = xDocInfoSup.getDocumentInfo();
+ XPropertyContainer xPropContainer = UnoRuntime.queryInterface(XPropertyContainer.class, xDocInfo);
+
+ XPropertySet xProps = UnoRuntime.queryInterface(XPropertySet.class, xDocInfo);
+ showPropertySet(xProps);
+
+ assertTrue("Double doesn't work", checkType(xProps, "doubleValue", "java.lang.Double"));
+ assertTrue("Boolean doesn't work", checkType(xProps, "booleanValue", "java.lang.Boolean"));
+
+ // TODO: dateValue does not exist.
+ // assertTrue("Date doesn't work", checkType(xProps, "dateValue", "com.sun.star.util.DateTime"));
+
+ // TODO: is java.lang.Double
+ // assertTrue("Integer doesn't work", checkType(xProps, "intValue", "java.lang.Integer"));
+
+ xPropContainer = UnoRuntime.queryInterface(XPropertyContainer.class, xDocInfo);
+
+ System.out.println("trying to remove a not user defined Property");
+ try
+ {
+ xPropContainer.removeProperty("Author");
+ fail("Could remove non user defined property");
+ }
+ catch (Exception e)
+ {
+ System.out.println("\tException was thrown " + e);
+ System.out.println("\t...OK");
+ }
+ System.out.println("...done");
+
+
+ System.out.println("Trying to remove a user defined property");
+ try
+ {
+ xPropContainer.removeProperty("booleanValue");
+ System.out.println("\t...OK");
+ }
+ catch (Exception e)
+ {
+ System.out.println("\tException was thrown " + e);
+ System.out.println("\t...FAILED");
+ fail("Could not remove user defined property");
+ }
+ showPropertySet(xProps);
+ System.out.println("...done");
}
- log.println("...done");
-
- log.println("Trying to remove a user defined property");
- try {
- xPropContainer.removeProperty ("dateValue");
- log.println("\t...OK");
- } catch (Exception e) {
- log.println("\tException was thrown "+e);
- log.println("\t...FAILED");
- assure("Could not remove user defined property", false);
- }
- log.println("...done");
-
}
- public void cleanup() {
+ @After public void cleanup()
+ {
+ DesktopTools.closeDoc(xTextDocSecond);
DesktopTools.closeDoc(xTextDoc);
}
+ private void showPropertySet(XPropertySet xProps)
+ {
+ try
+ {
+ // get an XPropertySet, here the one of a text cursor
+ // XPropertySet xCursorProps = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, mxDocCursor);
+
+ // get the property info interface of this XPropertySet
+ XPropertySetInfo xPropsInfo = xProps.getPropertySetInfo();
+
+ // get all properties (NOT the values) from XPropertySetInfo
+ Property[] aProps = xPropsInfo.getProperties();
+ int i;
+ for (i = 0; i < aProps.length; ++i) {
+ // number of property within this info object
+ System.out.print("Property #" + i);
+
+ // name of property
+ System.out.print(": Name<" + aProps[i].Name);
+
+ // handle of property (only for XFastPropertySet)
+ System.out.print("> Handle<" + aProps[i].Handle);
+
+ // type of property
+ System.out.print("> " + aProps[i].Type.toString());
+
+ // attributes (flags)
+ System.out.print(" Attributes<");
+ short nAttribs = aProps[i].Attributes;
+ if ((nAttribs & PropertyAttribute.MAYBEVOID) != 0)
+ System.out.print("MAYBEVOID|");
+ if ((nAttribs & PropertyAttribute.BOUND) != 0)
+ System.out.print("BOUND|");
+ if ((nAttribs & PropertyAttribute.CONSTRAINED) != 0)
+ System.out.print("CONSTRAINED|");
+ if ((nAttribs & PropertyAttribute.READONLY) != 0)
+ System.out.print("READONLY|");
+ if ((nAttribs & PropertyAttribute.TRANSIENT) != 0)
+ System.out.print("TRANSIENT|");
+ if ((nAttribs & PropertyAttribute.MAYBEAMBIGUOUS ) != 0)
+ System.out.print("MAYBEAMBIGUOUS|");
+ if ((nAttribs & PropertyAttribute.MAYBEDEFAULT) != 0)
+ System.out.print("MAYBEDEFAULT|");
+ if ((nAttribs & PropertyAttribute.REMOVEABLE) != 0)
+ System.out.print("REMOVEABLE|");
+ System.out.println("0>");
+ }
+ } catch (Exception e) {
+ // If anything goes wrong, give the user a stack trace
+ e.printStackTrace(System.out);
+ }
+ }
+
private boolean checkType(XPropertySet xProps, String aName,
- String expected) {
+ String expected)
+ {
boolean ret = true;
- log.println("Checking " + expected);
+ System.out.println("Checking " + expected);
String getting =
- getPropertyByName(xProps, aName).getClass().getName();
+ getPropertyByName(xProps, aName).getClass().getName();
- if (!getting.equals(expected)) {
- log.println("\t Expected: " + expected);
- log.println("\t Detting: " + getting);
+ if (!getting.equals(expected))
+ {
+ System.out.println("\t Expected: " + expected);
+ System.out.println("\t Getting: " + getting);
ret = false;
}
- if (ret) {
- log.println("...OK");
+ if (ret)
+ {
+ System.out.println("...OK");
}
-
return ret;
}
- private Object getPropertyByName(XPropertySet xProps, String aName) {
+ private Object getPropertyByName(XPropertySet xProps, String aName)
+ {
Object ret = null;
- try {
+ try
+ {
ret = xProps.getPropertyValue(aName);
- } catch (Exception e) {
- log.println("\tCouldn't get Property " + aName);
- log.println("\tMessage " + e);
+ }
+ catch (Exception e)
+ {
+ System.out.println("\tCouldn't get Property " + aName);
+ System.out.println("\tMessage " + e);
}
return ret;
}
private boolean addProperty(XPropertyContainer xPropContainer,
- String aName, short attr, Object defaults) {
+ String aName, short attr, Object defaults)
+ {
boolean ret = true;
- try {
+ try
+ {
xPropContainer.addProperty(aName, attr, defaults);
- } catch (Exception e) {
+ }
+ catch (Exception e)
+ {
ret = false;
- log.println("\tCouldn't get Property " + aName);
- log.println("\tMessage " + e);
+ System.out.println("\tCouldn't get Property " + aName);
+ System.out.println("\tMessage " + e);
}
return ret;
}
+
+ 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/sfx2/qa/complex/docinfo/makefile.mk b/sfx2/qa/complex/docinfo/makefile.mk
index 8c35255410..626b648a6d 100644
--- a/sfx2/qa/complex/docinfo/makefile.mk
+++ b/sfx2/qa/complex/docinfo/makefile.mk
@@ -25,32 +25,39 @@
#
#*************************************************************************
-PRJ = ..$/..$/..
-TARGET = DocumentProperties
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
+.ELSE
+
+PRJ = ../../..
PRJNAME = sfx2
-PACKAGE = complex$/docinfo
+TARGET = qa_complex_docinfo
-# --- Settings -----------------------------------------------------
-.INCLUDE: settings.mk
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = complex/docinfo
+JAVATESTFILES = \
+ DocumentProperties.java
+
+JAVAFILES = $(JAVATESTFILES)
-#----- compile .java files -----------------------------------------
+JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
-JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar
-JAVAFILES = DocumentProperties.java
+# Sample how to debug
+# JAVAIFLAGS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9003,suspend=y
+
+.END
+
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+.INCLUDE: installationtest.mk
-#----- make a jar from compiled files ------------------------------
+ALLTAR : javatest
-MAXLINELENGTH = 100000
+.END
-JARCLASSDIRS = $(PACKAGE)
-JARTARGET = $(TARGET).jar
-JARCOMPRESS = TRUE
-# --- Targets ------------------------------------------------------
-.INCLUDE : target.mk
-run:
- $(JAVAI) $(JAVAIFLAGS) -cp $(CLASSPATH) org.openoffice.Runner -TestBase java_complex -o $(PACKAGE:s#$/#.#).$(JAVAFILES:b)
diff --git a/sfx2/qa/complex/framework/CheckGlobalEventBroadcaster_writer1.java b/sfx2/qa/complex/framework/CheckGlobalEventBroadcaster_writer1.java
new file mode 100644
index 0000000000..139c0e5a9e
--- /dev/null
+++ b/sfx2/qa/complex/framework/CheckGlobalEventBroadcaster_writer1.java
@@ -0,0 +1,281 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+package complex.framework;
+
+import com.sun.star.awt.XWindow;
+import com.sun.star.document.XEventBroadcaster;
+import com.sun.star.document.XEventListener;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import complex.framework.DocHelper.WriterHelper;
+
+import java.util.ArrayList;
+
+import util.UITools;
+
+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.*;
+
+
+/**
+ * This testcase checks the GlobalEventBroadcaster
+ * it will add an XEventListener and verify the Events
+ * raised when opening/changing and closing Office Documents
+ */
+public class CheckGlobalEventBroadcaster_writer1 {
+ XMultiServiceFactory m_xMSF = null;
+ XEventBroadcaster m_xEventBroadcaster = null;
+ ArrayList notifyEvents = new ArrayList();
+ // XTextDocument xTextDoc;
+ XSpreadsheetDocument xSheetDoc;
+ XEventListener m_xEventListener = new EventListenerImpl();
+
+// public String[] getTestMethodNames() {
+// return new String[] {
+// "initialize", "checkWriter", "cleanup"
+// };
+// }
+
+ @Before public void initialize() {
+ m_xMSF = getMSF();
+ System.out.println("check wether there is a valid MultiServiceFactory");
+
+ assertNotNull("## Couldn't get MultiServiceFactory make sure your Office is started", m_xMSF);
+
+ System.out.println("... done");
+
+ System.out.println(
+ "Create an instance of com.sun.star.frame.GlobalEventBroadcaster");
+
+ Object GlobalEventBroadcaster = null;
+ Object dispatcher = null;
+
+ try {
+ GlobalEventBroadcaster = m_xMSF.createInstance(
+ "com.sun.star.frame.GlobalEventBroadcaster");
+ } catch (com.sun.star.uno.Exception e) {
+ fail("## Exception while creating instance");
+ }
+
+ System.out.println("... done");
+
+ System.out.println("check wether the created instance is valid");
+
+ assertNotNull("couldn't create service", GlobalEventBroadcaster);
+
+ System.out.println("... done");
+
+ System.out.println(
+ "try to query the XEventBroadcaster from the gained Object");
+ m_xEventBroadcaster = UnoRuntime.queryInterface(XEventBroadcaster.class, GlobalEventBroadcaster);
+
+ if (util.utils.isVoid(m_xEventBroadcaster)) {
+ fail("couldn't get XEventBroadcaster");
+ }
+
+ System.out.println("... done");
+
+ System.out.println("adding Listener");
+ m_xEventBroadcaster.addEventListener(m_xEventListener);
+ System.out.println("... done");
+ }
+
+ @Test public void checkWriter() {
+ System.out.println("-- Checking Writer --");
+
+ WriterHelper wHelper = new WriterHelper(m_xMSF);
+ String[] expected;
+ boolean locRes = true;
+ System.out.println("opening an empty writer doc");
+ notifyEvents.clear();
+ {
+ XTextDocument xTextDoc = wHelper.openEmptyDoc();
+ shortWait();
+ expected = new String[] { "OnUnfocus", "OnCreate", "OnViewCreated", "OnFocus" };
+
+ assertTrue("Wrong events fired when opening empty doc",
+ proveExpectation(expected));
+ System.out.println("... done");
+
+ System.out.println("changing the writer doc");
+ notifyEvents.clear();
+ xTextDoc.getText().setString("GlobalEventBroadcaster");
+ shortWait();
+ expected = new String[] { "OnModifyChanged" };
+
+ assertTrue("Wrong events fired when changing doc",
+ proveExpectation(expected));
+ System.out.println("... done");
+
+ System.out.println("closing the empty writer doc");
+ notifyEvents.clear();
+ wHelper.closeDoc(xTextDoc);
+ shortWait();
+ }
+ expected = new String[] { "OnUnfocus", "OnFocus", "OnViewClosed", "OnUnload" };
+
+ assertTrue("Wrong events fired when closing empty doc",
+ proveExpectation(expected));
+ System.out.println("... done");
+
+ System.out.println("opening an writer doc via Window-New Window");
+ notifyEvents.clear();
+ {
+ XTextDocument xTextDoc = wHelper.openFromDialog(".uno:NewWindow", "", false);
+
+ shortWait();
+ expected = new String[] { "OnUnfocus", "OnCreate", "OnViewCreated", "OnFocus", "OnUnfocus", "OnViewCreated", "OnFocus", };
+
+ assertTrue("Wrong events fired when opening an writer doc via Window-New Window",
+ proveExpectation(expected));
+ System.out.println("... done");
+
+ System.out.println("closing the created writer doc");
+ notifyEvents.clear();
+
+ wHelper.closeDoc(xTextDoc);
+ shortWait();
+ }
+ expected = new String[] { "OnViewClosed", "OnUnfocus", "OnFocus", "OnViewClosed", "OnUnload" };
+
+ assertTrue("Wrong events fired when closing Window-New Window",
+ proveExpectation(expected));
+
+ System.out.println("... done");
+ // TODO: It seems not possible to close the document without interactiv question
+ // there the follow test will not be execute
+ if (false) {
+ System.out.println("Opening document with label wizard");
+ XTextDocument xTextDoc = wHelper.openFromDialog("private:factory/swriter?slot=21051", "", false);
+ shortWait();
+ XWindow xWindow = UnoRuntime.queryInterface(XWindow.class, wHelper.getToolkit().getActiveTopWindow());
+ UITools ut = new UITools(m_xMSF,xWindow);
+ notifyEvents.clear();
+ System.out.println("pressing button 'New Document'");
+ try{
+ ut.clickButton ("New Document");
+ } catch (Exception e) {
+ System.out.println("Couldn't press Button");
+ }
+ System.out.println("... done");
+ shortWait();
+ shortWait();
+ shortWait();
+ expected = new String[] { "OnViewClosed", "OnCreate", "OnFocus", "OnModifyChanged" };
+
+ assertTrue("Wrong events fired when starting labels wizard",
+ proveExpectation(expected));
+
+ System.out.println("Try to close document...");
+ wHelper.closeDoc(xTextDoc);
+ shortWait();
+ wHelper.closeFromDialog();
+ shortWait();
+ xTextDoc = null;
+ }
+
+ System.out.println("-- Done Writer --");
+ }
+
+ @After public void cleanup() {
+ System.out.println("removing Listener");
+ m_xEventBroadcaster.removeEventListener(m_xEventListener);
+ System.out.println("... done");
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(2000);
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e);
+ }
+ }
+
+ private boolean proveExpectation(String[] expected) {
+ boolean locRes = true;
+ boolean failure = false;
+
+ System.out.println("Fired Events:");
+ for (int k=0;k<notifyEvents.size();k++) {
+ System.out.println("\t- "+notifyEvents.get(k));
+ }
+
+ for (int i = 0; i < expected.length; i++) {
+ locRes = notifyEvents.contains(expected[i]);
+
+ if (!locRes) {
+ System.out.println("The event " + expected[i] + " isn't fired");
+ failure = true;
+ }
+ }
+
+ return !failure;
+ }
+
+ public class EventListenerImpl implements XEventListener {
+ public void disposing(com.sun.star.lang.EventObject eventObject) {
+ System.out.println("disposing: " + eventObject.Source.toString());
+ }
+
+ public void notifyEvent(com.sun.star.document.EventObject eventObject) {
+ notifyEvents.add(eventObject.EventName);
+ }
+ }
+
+ 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() CheckGlobalEventBroadcaster_writer1");
+ connection.tearDown();
+ }
+
+ private static final OfficeConnection connection = new OfficeConnection();
+
+}
diff --git a/sfx2/qa/complex/DocHelper/DialogThread.java b/sfx2/qa/complex/framework/DialogThread.java
index 19f5b32d3e..19f5b32d3e 100644
--- a/sfx2/qa/complex/DocHelper/DialogThread.java
+++ b/sfx2/qa/complex/framework/DialogThread.java
diff --git a/sfx2/qa/complex/DocHelper/makefile.mk b/sfx2/qa/complex/framework/DocHelper/makefile.mk
index 6b6ac9191c..ad614cfca3 100644
--- a/sfx2/qa/complex/DocHelper/makefile.mk
+++ b/sfx2/qa/complex/framework/DocHelper/makefile.mk
@@ -25,10 +25,10 @@
#
#*************************************************************************
-PRJ = ..$/..$/..
+PRJ = ../../../..
TARGET = DocHelper
PRJNAME = $(TARGET)
-PACKAGE = complex$/framework$/dochelper
+PACKAGE = complex/framework/dochelper
# --- Settings -----------------------------------------------------
.INCLUDE: settings.mk
@@ -37,8 +37,11 @@ PACKAGE = complex$/framework$/dochelper
#----- compile .java files -----------------------------------------
JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar
-JAVAFILES = DialogThread.java WriterHelper.java
-JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
+JAVAFILES = \
+ DialogThread.java \
+ WriterHelper.java
+
+JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)/$(PACKAGE)/$(i:b).class)
# --- Targets ------------------------------------------------------
diff --git a/sfx2/qa/complex/DocumentMetadataAccessTest.java b/sfx2/qa/complex/framework/DocumentMetadataAccessTest.java
index da9cfd6cf7..8fd1d3d1a0 100644
--- a/sfx2/qa/complex/DocumentMetadataAccessTest.java
+++ b/sfx2/qa/complex/framework/DocumentMetadataAccessTest.java
@@ -27,15 +27,14 @@
package complex.framework;
-import complexlib.ComplexTestCase;
+// import complexlib.ComplexTestCase;
import helper.StreamSimulator;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.XComponentContext;
-import com.sun.star.uno.Any;
import com.sun.star.lang.XMultiServiceFactory;
import com.sun.star.lang.XComponent;
-import com.sun.star.lang.XInitialization;
+
import com.sun.star.lang.XServiceInfo;
import com.sun.star.lang.IllegalArgumentException;
import com.sun.star.lang.WrappedTargetException;
@@ -46,17 +45,23 @@ import com.sun.star.beans.Pair;
import com.sun.star.beans.StringPair;
import com.sun.star.container.XEnumerationAccess;
import com.sun.star.container.XEnumeration;
-import com.sun.star.container.ElementExistException;
-import com.sun.star.container.NoSuchElementException;
import com.sun.star.io.XInputStream;
-import com.sun.star.io.XOutputStream;
import com.sun.star.util.XCloseable;
import com.sun.star.frame.XStorable;
-import com.sun.star.frame.XLoadable;
import com.sun.star.text.XTextDocument;
import com.sun.star.text.XTextRange;
import com.sun.star.text.XText;
import com.sun.star.rdf.*;
+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.*;
/**
* Test case for interface com.sun.star.rdf.XDocumentMetadataAccess
@@ -68,7 +73,7 @@ import com.sun.star.rdf.*;
*
* @author mst
*/
-public class DocumentMetadataAccessTest extends ComplexTestCase
+public class DocumentMetadataAccessTest
{
XMultiServiceFactory xMSF;
XComponentContext xContext;
@@ -105,72 +110,77 @@ public class DocumentMetadataAccessTest extends ComplexTestCase
XRepositorySupplier xRS;
XDocumentMetadataAccess xDMA;
- public String[] getTestMethodNames ()
- {
- return new String[] { "check", "checkRDFa" };
- }
+// public String[] getTestMethodNames ()
+// {
+// return new String[] { "check", "checkRDFa" };
+// }
+ /**
+ * The test parameters
+ */
+ private static TestParameters param = null;
- public void before()
+ @Before public void before()
{
try {
- xMSF = (XMultiServiceFactory) param.getMSF();
- assure("could not create MultiServiceFactory.", xMSF != null);
- XPropertySet xPropertySet = (XPropertySet)
- UnoRuntime.queryInterface(XPropertySet.class, xMSF);
+ xMSF = getMSF();
+ param = new TestParameters();
+ param.put("ServiceFactory", xMSF); // important for param.getMSF()
+
+ assertNotNull("could not create MultiServiceFactory.", xMSF);
+ XPropertySet xPropertySet = UnoRuntime.queryInterface(XPropertySet.class, xMSF);
Object defaultCtx = xPropertySet.getPropertyValue("DefaultContext");
- xContext = (XComponentContext)
- UnoRuntime.queryInterface(XComponentContext.class, defaultCtx);
- assure("could not get component context.", xContext != null);
+ xContext = UnoRuntime.queryInterface(XComponentContext.class, defaultCtx);
+ assertNotNull("could not get component context.", xContext);
tempDir = util.utils.getOfficeTemp/*Dir*/(xMSF);
- log.println("tempdir: " + tempDir);
+ System.out.println("tempdir: " + tempDir);
foo = URI.create(xContext, "uri:foo");
- assure("foo", null != foo);
+ assertNotNull("foo", foo);
bar = URI.create(xContext, "uri:bar");
- assure("bar", null != bar);
+ assertNotNull("bar", bar);
baz = URI.create(xContext, "uri:baz");
- assure("baz", null != baz);
+ assertNotNull("baz", baz);
blank1 = BlankNode.create(xContext, "_:1");
- assure("blank1", null != blank1);
+ assertNotNull("blank1", blank1);
blank2 = BlankNode.create(xContext, "_:2");
- assure("blank2", null != blank2);
+ assertNotNull("blank2", blank2);
blank3 = BlankNode.create(xContext, "_:3");
- assure("blank3", null != blank3);
+ assertNotNull("blank3", blank3);
blank4 = BlankNode.create(xContext, "_:4");
- assure("blank4", null != blank4);
+ assertNotNull("blank4", blank4);
rdf_type = URI.createKnown(xContext, URIs.RDF_TYPE);
- assure("rdf_type", null != rdf_type);
+ assertNotNull("rdf_type", rdf_type);
rdfs_label = URI.createKnown(xContext, URIs.RDFS_LABEL);
- assure("rdfs_label", null != rdfs_label);
+ assertNotNull("rdfs_label", rdfs_label);
pkg_Document = URI.createKnown(xContext, URIs.PKG_DOCUMENT);
- assure("pkg_Document", null != pkg_Document);
+ assertNotNull("pkg_Document", pkg_Document);
pkg_hasPart = URI.createKnown(xContext, URIs.PKG_HASPART);
- assure("pkg_hasPart", null != pkg_hasPart);
+ assertNotNull("pkg_hasPart", pkg_hasPart);
pkg_MetadataFile = URI.createKnown(xContext, URIs.PKG_METADATAFILE);
- assure("pkg_MetadataFile", null != pkg_MetadataFile);
+ assertNotNull("pkg_MetadataFile", pkg_MetadataFile);
odf_ContentFile = URI.createKnown(xContext, URIs.ODF_CONTENTFILE);
- assure("odf_ContentFile", null != odf_ContentFile);
+ assertNotNull("odf_ContentFile", odf_ContentFile);
odf_StylesFile = URI.createKnown(xContext, URIs.ODF_STYLESFILE);
- assure("odf_StylesFile", null != odf_StylesFile);
+ assertNotNull("odf_StylesFile", odf_StylesFile);
odf_Element = URI.createKnown(xContext, URIs.ODF_ELEMENT);
- assure("odf_Element", null != odf_Element);
+ assertNotNull("odf_Element", odf_Element);
} catch (Exception e) {
report(e);
}
}
- public void after()
+ @After public void after()
{
xRep = null;
xRS = null;
xDMA = null;
}
- public void check()
+ @Test public void check()
{
XComponent xComp = null;
XComponent xComp2 = null;
@@ -178,7 +188,7 @@ public class DocumentMetadataAccessTest extends ComplexTestCase
XEnumeration xStmtsEnum;
XNamedGraph xManifest;
- log.println("Creating document with Repository...");
+ System.out.println("Creating document with Repository...");
// we cannot create a XDMA directly, we must create
// a document and get it from there :(
@@ -188,40 +198,37 @@ public class DocumentMetadataAccessTest extends ComplexTestCase
loadProps[0].Name = "Hidden";
loadProps[0].Value = new Boolean(true);
xComp = util.DesktopTools.openNewDoc(xMSF, "swriter", loadProps);
- XTextDocument xText = (XTextDocument) UnoRuntime.queryInterface(
- XTextDocument.class, xComp);
-
- XRepositorySupplier xRS = (XRepositorySupplier)
- UnoRuntime.queryInterface(XRepositorySupplier.class, xComp);
- assure("xRS null", null != xRS);
- XDocumentMetadataAccess xDMA = (XDocumentMetadataAccess)
- UnoRuntime.queryInterface(XDocumentMetadataAccess.class, xRS);
- assure("xDMA null", null != xDMA);
+ XTextDocument xText = UnoRuntime.queryInterface(XTextDocument.class, xComp);
+
+ XRepositorySupplier xRS = UnoRuntime.queryInterface(XRepositorySupplier.class, xComp);
+ assertNotNull("xRS null", xRS);
+ XDocumentMetadataAccess xDMA = UnoRuntime.queryInterface(XDocumentMetadataAccess.class, xRS);
+ assertNotNull("xDMA null", xDMA);
xRep = xRS.getRDFRepository();
- assure("xRep null", null != xRep);
+ assertNotNull("xRep null", xRep);
- log.println("...done");
+ System.out.println("...done");
- log.println("Checking that new repository is initialized...");
+ System.out.println("Checking that new repository is initialized...");
XURI xBaseURI = (XURI) xDMA;
String baseURI = xBaseURI.getStringValue();
- assure("new: baseURI",
- null != xBaseURI && !xBaseURI.getStringValue().equals(""));
+ assertNotNull("new: baseURI", xBaseURI );
+ assertTrue("new: baseURI", !xBaseURI.getStringValue().equals(""));
- assure("new: # graphs", 1 == xRep.getGraphNames().length);
+ assertTrue("new: # graphs", 1 == xRep.getGraphNames().length);
XURI manifest = URI.createNS(xContext, xBaseURI.getStringValue(),
manifestPath);
xManifest = xRep.getGraph(manifest);
- assure("new: manifest graph", null != xManifest);
+ assertTrue("new: manifest graph", null != xManifest);
Statement[] manifestStmts = getManifestStmts(xBaseURI);
xStmtsEnum = xRep.getStatements(null, null, null);
- assure("new: manifest graph", eq(xStmtsEnum, manifestStmts));
+ assertTrue("new: manifest graph", eq(xStmtsEnum, manifestStmts));
- log.println("...done");
+ System.out.println("...done");
- log.println("Checking some invalid args...");
+ System.out.println("Checking some invalid args...");
String content = "behold, for i am the content.";
XTextRange xTR = new TestRange(content);
@@ -229,205 +236,201 @@ public class DocumentMetadataAccessTest extends ComplexTestCase
try {
xDMA.getElementByURI(null);
- assure("getElementByURI: null allowed", false);
+ fail("getElementByURI: null allowed");
} catch (IllegalArgumentException e) {
// ignore
}
try {
xDMA.getMetadataGraphsWithType(null);
- assure("getMetadataGraphsWithType: null URI allowed", false);
+ fail("getMetadataGraphsWithType: null URI allowed");
} catch (IllegalArgumentException e) {
// ignore
}
try {
xDMA.addMetadataFile("", new XURI[0]);
- assure("addMetadataFile: empty filename allowed", false);
+ fail("addMetadataFile: empty filename allowed");
} catch (IllegalArgumentException e) {
// ignore
}
try {
xDMA.addMetadataFile("/foo", new XURI[0]);
- assure("addMetadataFile: absolute filename allowed", false);
+ fail("addMetadataFile: absolute filename allowed");
} catch (IllegalArgumentException e) {
// ignore
}
try {
xDMA.addMetadataFile("fo\"o", new XURI[0]);
- assure("addMetadataFile: invalid filename allowed", false);
+ fail("addMetadataFile: invalid filename allowed");
} catch (IllegalArgumentException e) {
// ignore
}
try {
xDMA.addMetadataFile("../foo", new XURI[0]);
- assure("addMetadataFile: filename with .. allowed", false);
+ fail("addMetadataFile: filename with .. allowed");
} catch (IllegalArgumentException e) {
// ignore
}
try {
xDMA.addMetadataFile("foo/../../bar", new XURI[0]);
- assure("addMetadataFile: filename with nest .. allowed", false);
+ fail("addMetadataFile: filename with nest .. allowed");
} catch (IllegalArgumentException e) {
// ignore
}
try {
xDMA.addMetadataFile("foo/././bar", new XURI[0]);
- assure("addMetadataFile: filename with nest . allowed", false);
+ fail("addMetadataFile: filename with nest . allowed");
} catch (IllegalArgumentException e) {
// ignore
}
try {
xDMA.addMetadataFile("content.xml", new XURI[0]);
- assure("addMetadataFile: content.xml allowed", false);
+ fail("addMetadataFile: content.xml allowed");
} catch (IllegalArgumentException e) {
// ignore
}
try {
xDMA.addMetadataFile("styles.xml", new XURI[0]);
- assure("addMetadataFile: styles.xml allowed", false);
+ fail("addMetadataFile: styles.xml allowed");
} catch (IllegalArgumentException e) {
// ignore
}
try {
xDMA.addMetadataFile("meta.xml", new XURI[0]);
- assure("addMetadataFile: meta.xml allowed", false);
+ fail("addMetadataFile: meta.xml allowed");
} catch (IllegalArgumentException e) {
// ignore
}
try {
xDMA.addMetadataFile("settings.xml", new XURI[0]);
- assure("addMetadataFile: settings.xml allowed", false);
+ fail("addMetadataFile: settings.xml allowed");
} catch (IllegalArgumentException e) {
// ignore
}
try {
xDMA.importMetadataFile(FileFormat.RDF_XML, null, "foo",
foo, new XURI[0]);
- assure("importMetadataFile: null stream allowed", false);
+ fail("importMetadataFile: null stream allowed");
} catch (IllegalArgumentException e) {
// ignore
}
+
+ final String sEmptyRDF = TestDocument.getUrl("empty.rdf");
try {
- XInputStream xFooIn =
- new StreamSimulator(tempDir + "empty.rdf", true, param);
+ XInputStream xFooIn = new StreamSimulator(sEmptyRDF, true, param);
xDMA.importMetadataFile(FileFormat.RDF_XML, xFooIn, "",
foo, new XURI[0]);
- assure("importMetadataFile: empty filename allowed", false);
+ fail("importMetadataFile: empty filename allowed");
} catch (IllegalArgumentException e) {
// ignore
}
try {
XInputStream xFooIn =
- new StreamSimulator(tempDir + "empty.rdf", true, param);
+ new StreamSimulator(sEmptyRDF, true, param);
xDMA.importMetadataFile(FileFormat.RDF_XML, xFooIn, "meta.xml",
foo, new XURI[0]);
- assure("importMetadataFile: meta.xml filename allowed", false);
+ fail("importMetadataFile: meta.xml filename allowed");
} catch (IllegalArgumentException e) {
// ignore
}
try {
XInputStream xFooIn =
- new StreamSimulator(tempDir + "empty.rdf", true, param);
+ new StreamSimulator(sEmptyRDF, true, param);
xDMA.importMetadataFile(FileFormat.RDF_XML,
xFooIn, "foo", null, new XURI[0]);
- assure("importMetadataFile: null base URI allowed", false);
+ fail("importMetadataFile: null base URI allowed");
} catch (IllegalArgumentException e) {
// ignore
}
try {
XInputStream xFooIn =
- new StreamSimulator(tempDir + "empty.rdf", true, param);
+ new StreamSimulator(sEmptyRDF, true, param);
xDMA.importMetadataFile(FileFormat.RDF_XML,
xFooIn, "foo", rdf_type, new XURI[0]);
- assure("importMetadataFile: non-absolute base URI allowed",
- false);
+ fail("importMetadataFile: non-absolute base URI allowed");
} catch (IllegalArgumentException e) {
// ignore
}
try {
xDMA.removeMetadataFile(null);
- assure("removeMetadataFile: null URI allowed", false);
+ fail("removeMetadataFile: null URI allowed");
} catch (IllegalArgumentException e) {
// ignore
}
try {
xDMA.addContentOrStylesFile("");
- assure("addContentOrStylesFile: empty filename allowed",
- false);
+ fail("addContentOrStylesFile: empty filename allowed");
} catch (IllegalArgumentException e) {
// ignore
}
try {
xDMA.addContentOrStylesFile("/content.xml");
- assure("addContentOrStylesFile: absolute filename allowed",
- false);
+ fail("addContentOrStylesFile: absolute filename allowed");
} catch (IllegalArgumentException e) {
// ignore
}
try {
xDMA.addContentOrStylesFile("foo.rdf");
- assure("addContentOrStylesFile: invalid filename allowed",
- false);
+ fail("addContentOrStylesFile: invalid filename allowed");
} catch (IllegalArgumentException e) {
// ignore
}
try {
xDMA.removeContentOrStylesFile("");
- assure("removeContentOrStylesFile: empty filename allowed",
- false);
+ fail("removeContentOrStylesFile: empty filename allowed");
} catch (IllegalArgumentException e) {
// ignore
}
try {
xDMA.loadMetadataFromStorage(null, foo, null);
- assure("loadMetadataFromStorage: null storage allowed", false);
+ fail("loadMetadataFromStorage: null storage allowed");
} catch (IllegalArgumentException e) {
// ignore
}
try {
xDMA.storeMetadataToStorage(null/*, base*/);
- assure("storeMetadataToStorage: null storage allowed", false);
+ fail("storeMetadataToStorage: null storage allowed");
} catch (IllegalArgumentException e) {
// ignore
}
try {
xDMA.loadMetadataFromMedium(new PropertyValue[0]);
- assure("loadMetadataFromMedium: empty medium allowed", false);
+ fail("loadMetadataFromMedium: empty medium allowed");
} catch (IllegalArgumentException e) {
// ignore
}
try {
xDMA.storeMetadataToMedium(new PropertyValue[0]);
- assure("storeMetadataToMedium: empty medium allowed", false);
+ fail("storeMetadataToMedium: empty medium allowed");
} catch (IllegalArgumentException e) {
// ignore
}
- log.println("...done");
+ System.out.println("...done");
- log.println("Checking file addition/removal...");
+ System.out.println("Checking file addition/removal...");
xDMA.removeContentOrStylesFile(contentPath);
xStmtsEnum = xManifest.getStatements(null, null, null);
- assure("removeContentOrStylesFile (content)",
+ assertTrue("removeContentOrStylesFile (content)",
eq(xStmtsEnum, new Statement[] {
manifestStmts[0], manifestStmts[2], manifestStmts[4]
}));
xDMA.addContentOrStylesFile(contentPath);
xStmtsEnum = xManifest.getStatements(null, null, null);
- assure("addContentOrStylesFile (content)",
+ assertTrue("addContentOrStylesFile (content)",
eq(xStmtsEnum, manifestStmts));
xDMA.removeContentOrStylesFile(stylesPath);
xStmtsEnum = xManifest.getStatements(null, null, null);
- assure("removeContentOrStylesFile (styles)",
+ assertTrue("removeContentOrStylesFile (styles)",
eq(xStmtsEnum, new Statement[] {
manifestStmts[0], manifestStmts[1], manifestStmts[3]
}));
xDMA.addContentOrStylesFile(stylesPath);
xStmtsEnum = xManifest.getStatements(null, null, null);
- assure("addContentOrStylesFile (styles)",
+ assertTrue("addContentOrStylesFile (styles)",
eq(xStmtsEnum, manifestStmts));
XURI xFoo = URI.createNS(xContext, xBaseURI.getStringValue(),
@@ -440,44 +443,41 @@ public class DocumentMetadataAccessTest extends ComplexTestCase
new Statement(xFoo, rdf_type, bar, manifest);
xDMA.addMetadataFile(fooPath, new XURI[] { bar });
xStmtsEnum = xManifest.getStatements(null, null, null);
- assure("addMetadataFile",
+ assertTrue("addMetadataFile",
eq(xStmtsEnum, merge(manifestStmts, new Statement[] {
xM_BaseHaspartFoo, xM_FooTypeMetadata, xM_FooTypeBar
})));
XURI[] graphsBar = xDMA.getMetadataGraphsWithType(bar);
- assure("getMetadataGraphsWithType",
+ assertTrue("getMetadataGraphsWithType",
graphsBar.length == 1 && eq(graphsBar[0], xFoo));
xDMA.removeMetadataFile(xFoo);
xStmtsEnum = xManifest.getStatements(null, null, null);
- assure("removeMetadataFile",
+ assertTrue("removeMetadataFile",
eq(xStmtsEnum, manifestStmts));
- log.println("...done");
+ System.out.println("...done");
- log.println("Checking mapping...");
+ System.out.println("Checking mapping...");
- XEnumerationAccess xTextEnum = (XEnumerationAccess)
- UnoRuntime.queryInterface(XEnumerationAccess.class,
- xText.getText());
+ XEnumerationAccess xTextEnum = UnoRuntime.queryInterface(XEnumerationAccess.class, xText.getText());
Object o = xTextEnum.createEnumeration().nextElement();
- XMetadatable xMeta1 = (XMetadatable) UnoRuntime.queryInterface(
- XMetadatable.class, o);
+ XMetadatable xMeta1 = UnoRuntime.queryInterface(XMetadatable.class, o);
XURI uri;
XMetadatable xMeta;
xMeta = xDMA.getElementByURI(xMeta1);
- assure("getElementByURI: null", null != xMeta);
+ assertTrue("getElementByURI: null", null != xMeta);
String XmlId = xMeta.getMetadataReference().Second;
String XmlId1 = xMeta1.getMetadataReference().Second;
- assure("getElementByURI: no xml id", !XmlId.equals(""));
- assure("getElementByURI: different xml id", XmlId.equals(XmlId1));
+ assertTrue("getElementByURI: no xml id", !XmlId.equals(""));
+ assertTrue("getElementByURI: different xml id", XmlId.equals(XmlId1));
- log.println("...done");
+ System.out.println("...done");
- log.println("Checking storing and loading...");
+ System.out.println("Checking storing and loading...");
XURI xFoobar = URI.createNS(xContext, xBaseURI.getStringValue(),
fooBarPath);
@@ -485,23 +485,23 @@ public class DocumentMetadataAccessTest extends ComplexTestCase
fooBarPath);
xDMA.addMetadataFile(fooBarPath, new XURI[0]);
xStmtsEnum = xRep.getStatements(null, null, null);
- assure("addMetadataFile",
+ assertTrue("addMetadataFile",
eq(xStmtsEnum, merge(manifestStmts, metadataStmts )));
Statement xFoobar_FooBarFoo =
new Statement(foo, bar, foo, xFoobar);
xRep.getGraph(xFoobar).addStatement(foo, bar, foo);
xStmtsEnum = xRep.getStatements(null, null, null);
- assure("addStatement",
+ assertTrue("addStatement",
eq(xStmtsEnum, merge(manifestStmts, merge(metadataStmts,
new Statement[] { xFoobar_FooBarFoo }))));
PropertyValue noMDNoContentFile = new PropertyValue();
noMDNoContentFile.Name = "URL";
- noMDNoContentFile.Value = util.utils.getFullTestURL("CUSTOM.odt");
+ noMDNoContentFile.Value = TestDocument.getUrl("CUSTOM.odt");
PropertyValue noMDFile = new PropertyValue();
noMDFile.Name = "URL";
- noMDFile.Value = util.utils.getFullTestURL("TEST.odt");
+ noMDFile.Value = TestDocument.getUrl("TEST.odt");
PropertyValue file = new PropertyValue();
file.Name = "URL";
file.Value = tempDir + "TESTDMA.odt";
@@ -525,71 +525,67 @@ public class DocumentMetadataAccessTest extends ComplexTestCase
// this should re-init
xDMA.loadMetadataFromMedium(argsEmptyNoContent);
xRep = xRS.getRDFRepository();
- assure("xRep null", null != xRep);
- assure("baseURI still tdoc?",
+ assertTrue("xRep null", null != xRep);
+ assertTrue("baseURI still tdoc?",
!baseURI.equals(xDMA.getStringValue()));
Statement[] manifestStmts2 = getManifestStmts((XURI) xDMA);
xStmtsEnum = xRep.getStatements(null, null, null);
// there is no content or styles file in here, so we have just
// the package stmt
- assure("loadMetadataFromMedium (no metadata, no content)",
+ assertTrue("loadMetadataFromMedium (no metadata, no content)",
eq(xStmtsEnum, new Statement[] { manifestStmts2[0] }));
// this should re-init
xDMA.loadMetadataFromMedium(argsEmpty);
xRep = xRS.getRDFRepository();
- assure("xRep null", null != xRep);
- assure("baseURI still tdoc?",
+ assertTrue("xRep null", null != xRep);
+ assertTrue("baseURI still tdoc?",
!baseURI.equals(xDMA.getStringValue()));
Statement[] manifestStmts3 = getManifestStmts((XURI) xDMA);
xStmtsEnum = xRep.getStatements(null, null, null);
- assure("loadMetadataFromMedium (no metadata)",
+ assertTrue("loadMetadataFromMedium (no metadata)",
eq(xStmtsEnum, manifestStmts3));
xDMA.loadMetadataFromMedium(args);
xRep = xRS.getRDFRepository();
- assure("xRep null", null != xRep);
+ assertTrue("xRep null", null != xRep);
Statement[] manifestStmts4 = getManifestStmts((XURI) xDMA);
Statement[] metadataStmts4 = getMetadataFileStmts((XURI) xDMA,
fooBarPath);
xStmtsEnum = xRep.getStatements(null, null, null);
- assure("some graph(s) not reloaded",
+ assertTrue("some graph(s) not reloaded",
graphs.length == xRep.getGraphNames().length);
XURI xFoobar4 = URI.createNS(xContext, xDMA.getStringValue(),
fooBarPath);
Statement xFoobar_FooBarFoo4 =
new Statement(foo, bar, foo, xFoobar4);
- assure("loadMetadataFromMedium (re-load)",
+ assertTrue("loadMetadataFromMedium (re-load)",
eq(xStmtsEnum, merge(manifestStmts4, merge(metadataStmts4,
new Statement[] { xFoobar_FooBarFoo4 }))));
- log.println("...done");
+ System.out.println("...done");
- log.println("Checking storing and loading via model...");
+ System.out.println("Checking storing and loading via model...");
String f = tempDir + "TESTPARA.odt";
- XStorable xStor = (XStorable) UnoRuntime.queryInterface(
- XStorable.class, xRS);
+ XStorable xStor = UnoRuntime.queryInterface(XStorable.class, xRS);
xStor.storeToURL(f, new PropertyValue[0]);
xComp2 = util.DesktopTools.loadDoc(xMSF, f, loadProps);
- XDocumentMetadataAccess xDMA2 = (XDocumentMetadataAccess)
- UnoRuntime.queryInterface(XDocumentMetadataAccess.class,
- xComp2);
- assure("xDMA2 null", null != xDMA2);
+ XDocumentMetadataAccess xDMA2 = UnoRuntime.queryInterface(XDocumentMetadataAccess.class, xComp2);
+ assertTrue("xDMA2 null", null != xDMA2);
- XRepositorySupplier xRS2 = (XRepositorySupplier)
- UnoRuntime.queryInterface(XRepositorySupplier.class, xComp2);
- assure("xRS2 null", null != xRS2);
+ XRepositorySupplier xRS2 = UnoRuntime.queryInterface(XRepositorySupplier.class, xComp2);
+ assertTrue("xRS2 null", null != xRS2);
XRepository xRep2 = xRS2.getRDFRepository();
- assure("xRep2 null", null != xRep2);
+ assertTrue("xRep2 null", null != xRep2);
Statement[] manifestStmts5 = getManifestStmts((XURI) xDMA2);
Statement[] metadataStmts5 = getMetadataFileStmts((XURI) xDMA2,
@@ -600,11 +596,11 @@ public class DocumentMetadataAccessTest extends ComplexTestCase
new Statement(foo, bar, foo, xFoobar5);
xStmtsEnum = xRep.getStatements(null, null, null);
XEnumeration xStmtsEnum2 = xRep2.getStatements(null, null, null);
- assure("load: repository differs",
+ assertTrue("load: repository differs",
eq(xStmtsEnum2, merge(manifestStmts5, merge(metadataStmts5,
new Statement[] { xFoobar_FooBarFoo5 }))));
- log.println("...done");
+ System.out.println("...done");
} catch (Exception e) {
report(e);
@@ -614,49 +610,48 @@ public class DocumentMetadataAccessTest extends ComplexTestCase
}
}
- public void checkRDFa()
+ @Test public void checkRDFa()
{
XComponent xComp = null;
- String file;
try {
- file = util.utils.getFullTestURL("TESTRDFA.odt");
+ final String file = TestDocument.getUrl("TESTRDFA.odt");
xComp = loadRDFa(file);
if (xComp != null)
{
- file = tempDir + "TESTRDFA.odt";
- storeRDFa(xComp, file);
+ final String sNewFile = tempDir + "TESTRDFA.odt";
+ storeRDFa(xComp, sNewFile);
close(xComp);
- xComp = loadRDFa(file);
+
+ xComp = loadRDFa(sNewFile);
}
} finally {
close(xComp);
}
}
- public void storeRDFa(XComponent xComp, String file)
+ private void storeRDFa(XComponent xComp, String file)
{
try {
- log.println("Storing test document...");
+ System.out.println("Storing test document...");
- XStorable xStor = (XStorable) UnoRuntime.queryInterface(
- XStorable.class, xComp);
+ XStorable xStor = UnoRuntime.queryInterface(XStorable.class, xComp);
xStor.storeToURL(file, new PropertyValue[0]);
- log.println("...done");
+ System.out.println("...done");
} catch (Exception e) {
report(e);
}
}
- public XComponent loadRDFa(String file)
+ private XComponent loadRDFa(String file)
{
XComponent xComp = null;
try {
- log.println("Loading test document...");
+ System.out.println("Loading test document...");
PropertyValue[] loadProps = new PropertyValue[1];
loadProps[0] = new PropertyValue();
@@ -667,46 +662,39 @@ public class DocumentMetadataAccessTest extends ComplexTestCase
xComp = util.DesktopTools.loadDoc(xMSF, file, loadProps);
- XRepositorySupplier xRS = (XRepositorySupplier)
- UnoRuntime.queryInterface(XRepositorySupplier.class, xComp);
- assure("xRS null", null != xRS);
+ XRepositorySupplier xRS = UnoRuntime.queryInterface(XRepositorySupplier.class, xComp);
+ assertTrue("xRS null", null != xRS);
- XDocumentRepository xRep = (XDocumentRepository)
- UnoRuntime.queryInterface(XDocumentRepository.class,
- xRS.getRDFRepository());
- assure("xRep null", null != xRep);
+ XDocumentRepository xRep = UnoRuntime.queryInterface(XDocumentRepository.class, xRS.getRDFRepository());
+ assertTrue("xRep null", null != xRep);
- XTextDocument xTextDoc = (XTextDocument)
- UnoRuntime.queryInterface(XTextDocument.class, xComp);
+ XTextDocument xTextDoc = UnoRuntime.queryInterface(XTextDocument.class, xComp);
XText xText = xTextDoc.getText();
- XEnumerationAccess xEA = (XEnumerationAccess)
- UnoRuntime.queryInterface(XEnumerationAccess.class, xText);
+ XEnumerationAccess xEA = UnoRuntime.queryInterface(XEnumerationAccess.class, xText);
XEnumeration xEnum = xEA.createEnumeration();
- log.println("...done");
+ System.out.println("...done");
- log.println("Checking RDFa in loaded test document...");
+ System.out.println("Checking RDFa in loaded test document...");
XMetadatable xPara;
Pair<Statement[], Boolean> result;
Statement x_FooBarLit1 = new Statement(foo, bar, mkLit("1"), null);
- xPara = (XMetadatable) UnoRuntime.queryInterface(
- XMetadatable.class, xEnum.nextElement());
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
result = xRep.getStatementRDFa(xPara);
- assure("RDFa: 1",
+ assertTrue("RDFa: 1",
!result.Second &&
eq(result.First, new Statement[] {
x_FooBarLit1
}));
Statement x_FooBarLit2 = new Statement(foo, bar, mkLit("2"), null);
- xPara = (XMetadatable) UnoRuntime.queryInterface(
- XMetadatable.class, xEnum.nextElement());
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
result = xRep.getStatementRDFa(xPara);
- assure("RDFa: 2",
+ assertTrue("RDFa: 2",
!result.Second &&
eq(result.First, new Statement[] {
x_FooBarLit2
@@ -714,54 +702,47 @@ public class DocumentMetadataAccessTest extends ComplexTestCase
Statement x_BlankBarLit3 =
new Statement(blank1, bar, mkLit("3"), null);
- xPara = (XMetadatable) UnoRuntime.queryInterface(
- XMetadatable.class, xEnum.nextElement());
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
result = xRep.getStatementRDFa(xPara);
- assure("RDFa: 3",
+ assertTrue("RDFa: 3",
!result.Second &&
eq(result.First, new Statement[] {
x_BlankBarLit3
}));
- XBlankNode b3 = (XBlankNode) UnoRuntime.queryInterface(
- XBlankNode.class, result.First[0].Subject);
+ XBlankNode b3 = UnoRuntime.queryInterface(XBlankNode.class, result.First[0].Subject);
Statement x_BlankBarLit4 =
new Statement(blank2, bar, mkLit("4"), null);
- xPara = (XMetadatable) UnoRuntime.queryInterface(
- XMetadatable.class, xEnum.nextElement());
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
result = xRep.getStatementRDFa(xPara);
- assure("RDFa: 4",
+ assertTrue("RDFa: 4",
!result.Second &&
eq(result.First, new Statement[] {
x_BlankBarLit4
}));
- XBlankNode b4 = (XBlankNode) UnoRuntime.queryInterface(
- XBlankNode.class, result.First[0].Subject);
+ XBlankNode b4 = UnoRuntime.queryInterface(XBlankNode.class, result.First[0].Subject);
Statement x_BlankBarLit5 =
new Statement(blank1, bar, mkLit("5"), null);
- xPara = (XMetadatable) UnoRuntime.queryInterface(
- XMetadatable.class, xEnum.nextElement());
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
result = xRep.getStatementRDFa(xPara);
- assure("RDFa: 5",
+ assertTrue("RDFa: 5",
!result.Second &&
eq(result.First, new Statement[] {
x_BlankBarLit5
}));
- XBlankNode b5 = (XBlankNode) UnoRuntime.queryInterface(
- XBlankNode.class, result.First[0].Subject);
+ XBlankNode b5 = UnoRuntime.queryInterface(XBlankNode.class, result.First[0].Subject);
- assure("RDFa: 3 != 4",
+ assertTrue("RDFa: 3 != 4",
!b3.getStringValue().equals(b4.getStringValue()));
- assure("RDFa: 3 == 5",
+ assertTrue("RDFa: 3 == 5",
b3.getStringValue().equals(b5.getStringValue()));
Statement x_FooBarLit6 = new Statement(foo, bar, mkLit("6"), null);
Statement x_FooBazLit6 = new Statement(foo, baz, mkLit("6"), null);
- xPara = (XMetadatable) UnoRuntime.queryInterface(
- XMetadatable.class, xEnum.nextElement());
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
result = xRep.getStatementRDFa(xPara);
- assure("RDFa: 6",
+ assertTrue("RDFa: 6",
!result.Second &&
eq(result.First, new Statement[] {
x_FooBarLit6, x_FooBazLit6
@@ -770,10 +751,9 @@ public class DocumentMetadataAccessTest extends ComplexTestCase
Statement x_FooBarLit7 = new Statement(foo, bar, mkLit("7"), null);
Statement x_FooBazLit7 = new Statement(foo, baz, mkLit("7"), null);
Statement x_FooFooLit7 = new Statement(foo, foo, mkLit("7"), null);
- xPara = (XMetadatable) UnoRuntime.queryInterface(
- XMetadatable.class, xEnum.nextElement());
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
result = xRep.getStatementRDFa(xPara);
- assure("RDFa: 7",
+ assertTrue("RDFa: 7",
!result.Second &&
eq(result.First, new Statement[] {
x_FooBarLit7, x_FooBazLit7, x_FooFooLit7
@@ -784,28 +764,25 @@ public class DocumentMetadataAccessTest extends ComplexTestCase
Statement x_FooBarLit = new Statement(foo, bar, lit, null);
Statement x_FooBarLittype = new Statement(foo, bar, lit_type, null);
- xPara = (XMetadatable) UnoRuntime.queryInterface(
- XMetadatable.class, xEnum.nextElement());
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
result = xRep.getStatementRDFa(xPara);
- assure("RDFa: 8",
+ assertTrue("RDFa: 8",
result.Second &&
eq(result.First, new Statement[] {
x_FooBarLit
}));
- xPara = (XMetadatable) UnoRuntime.queryInterface(
- XMetadatable.class, xEnum.nextElement());
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
result = xRep.getStatementRDFa(xPara);
- assure("RDFa: 9",
+ assertTrue("RDFa: 9",
result.Second &&
eq(result.First, new Statement[] {
x_FooBarLit
}));
- xPara = (XMetadatable) UnoRuntime.queryInterface(
- XMetadatable.class, xEnum.nextElement());
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
result = xRep.getStatementRDFa(xPara);
- assure("RDFa: 10",
+ assertTrue("RDFa: 10",
result.Second &&
eq(result.First, new Statement[] {
x_FooBarLittype
@@ -813,10 +790,9 @@ public class DocumentMetadataAccessTest extends ComplexTestCase
Statement x_FooBarLit11
= new Statement(foo, bar, mkLit("11", bar), null);
- xPara = (XMetadatable) UnoRuntime.queryInterface(
- XMetadatable.class, xEnum.nextElement());
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
result = xRep.getStatementRDFa(xPara);
- assure("RDFa: 11",
+ assertTrue("RDFa: 11",
!result.Second &&
eq(result.First, new Statement[] {
x_FooBarLit11
@@ -825,19 +801,17 @@ public class DocumentMetadataAccessTest extends ComplexTestCase
XURI xFile = URI.createNS(xContext, file, "/" + contentPath);
Statement x_FileBarLit12 =
new Statement(xFile, bar, mkLit("12"), null);
- xPara = (XMetadatable) UnoRuntime.queryInterface(
- XMetadatable.class, xEnum.nextElement());
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
result = xRep.getStatementRDFa(xPara);
- assure("RDFa: 12",
+ assertTrue("RDFa: 12",
!result.Second &&
eq(result.First, new Statement[] {
x_FileBarLit12
}));
- xPara = (XMetadatable) UnoRuntime.queryInterface(
- XMetadatable.class, xEnum.nextElement());
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
result = xRep.getStatementRDFa(xPara);
- assure("RDFa: 13",
+ assertTrue("RDFa: 13",
result.Second &&
eq(result.First, new Statement[] {
x_FooBarLit
@@ -845,51 +819,45 @@ public class DocumentMetadataAccessTest extends ComplexTestCase
Statement x_FooLabelLit14 =
new Statement(foo, rdfs_label, mkLit("14"), null);
- xPara = (XMetadatable) UnoRuntime.queryInterface(
- XMetadatable.class, xEnum.nextElement());
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
result = xRep.getStatementRDFa(xPara);
- assure("RDFa: 14",
+ assertTrue("RDFa: 14",
result.Second &&
eq(result.First, new Statement[] {
- x_FooBarLit
+ /* x_FooLabelLit14 */ x_FooBarLit
}));
- xPara = (XMetadatable) UnoRuntime.queryInterface(
- XMetadatable.class, xEnum.nextElement());
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
result = xRep.getStatementRDFa(xPara);
- assure("RDFa: 15", eq(result.First, new Statement[] { } ));
+ assertTrue("RDFa: 15", eq(result.First, new Statement[] { } ));
- xPara = (XMetadatable) UnoRuntime.queryInterface(
- XMetadatable.class, xEnum.nextElement());
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
result = xRep.getStatementRDFa(xPara);
- assure("RDFa: 16", eq(result.First, new Statement[] { } ));
+ assertTrue("RDFa: 16", eq(result.First, new Statement[] { } ));
- xPara = (XMetadatable) UnoRuntime.queryInterface(
- XMetadatable.class, xEnum.nextElement());
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
result = xRep.getStatementRDFa(xPara);
- assure("RDFa: 17", eq(result.First, new Statement[] { } ));
+ assertTrue("RDFa: 17", eq(result.First, new Statement[] { } ));
- xPara = (XMetadatable) UnoRuntime.queryInterface(
- XMetadatable.class, xEnum.nextElement());
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
result = xRep.getStatementRDFa(xPara);
- assure("RDFa: 18", eq(result.First, new Statement[] { } ));
+ assertTrue("RDFa: 18", eq(result.First, new Statement[] { } ));
- xPara = (XMetadatable) UnoRuntime.queryInterface(
- XMetadatable.class, xEnum.nextElement());
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
result = xRep.getStatementRDFa(xPara);
- assure("RDFa: 19", eq(result.First, new Statement[] { } ));
+ assertTrue("RDFa: 19", eq(result.First, new Statement[] { } ));
- xPara = (XMetadatable) UnoRuntime.queryInterface(
+ xPara = UnoRuntime.queryInterface(
XMetadatable.class, xEnum.nextElement());
result = xRep.getStatementRDFa(xPara);
- assure("RDFa: 20", eq(result.First, new Statement[] { } ));
+ assertTrue("RDFa: 20", eq(result.First, new Statement[] { } ));
- xPara = (XMetadatable) UnoRuntime.queryInterface(
+ xPara = UnoRuntime.queryInterface(
XMetadatable.class, xEnum.nextElement());
result = xRep.getStatementRDFa(xPara);
- assure("RDFa: 21", eq(result.First, new Statement[] { } ));
+ assertTrue("RDFa: 21", eq(result.First, new Statement[] { } ));
- log.println("...done");
+ System.out.println("...done");
} catch (Exception e) {
report(e);
@@ -905,33 +873,35 @@ public class DocumentMetadataAccessTest extends ComplexTestCase
{
if (e instanceof WrappedTargetException)
{
- log.println("Cause:");
+ System.out.println("Cause:");
Exception cause = (Exception)
(((WrappedTargetException)e).TargetException);
- log.println(cause.toString());
+ System.out.println(cause.toString());
report2(cause);
} else if (e instanceof WrappedTargetRuntimeException) {
- log.println("Cause:");
+ System.out.println("Cause:");
Exception cause = (Exception)
(((WrappedTargetRuntimeException)e).TargetException);
- log.println(cause.toString());
+ System.out.println(cause.toString());
report2(cause);
}
}
public void report(Exception e) {
- log.println("Exception occurred:");
- e.printStackTrace((java.io.PrintWriter) log);
+ System.out.println("Exception occurred:");
+ e.printStackTrace();
report2(e);
- failed();
+ fail();
}
static void close(XComponent i_comp)
{
try {
- XCloseable xClos = (XCloseable) UnoRuntime.queryInterface(
- XCloseable.class, i_comp);
- if (xClos != null) xClos.close(true);
+ XCloseable xClos = UnoRuntime.queryInterface(XCloseable.class, i_comp);
+ if (xClos != null)
+ {
+ xClos.close(true);
+ }
} catch (Exception e) {
}
}
@@ -960,14 +930,16 @@ public class DocumentMetadataAccessTest extends ComplexTestCase
}
public static String toS(XNode n) {
- if (null == n) return "< null >";
+ if (null == n)
+ {
+ return "< null >";
+ }
return n.getStringValue();
}
static boolean isBlank(XNode i_node)
{
- XBlankNode blank = (XBlankNode) UnoRuntime.queryInterface(
- XBlankNode.class, i_node);
+ XBlankNode blank = UnoRuntime.queryInterface(XBlankNode.class, i_node);
return blank != null;
}
@@ -1000,7 +972,7 @@ public class DocumentMetadataAccessTest extends ComplexTestCase
java.util.Collection c = new java.util.Vector();
while (i_Enum.hasMoreElements()) {
Statement s = (Statement) i_Enum.nextElement();
-//log.println("toSeq: " + s.getSubject().getStringValue() + " " + s.getPredicate().getStringValue() + " " + s.getObject().getStringValue() + ".");
+//System.out.println("toSeq: " + s.getSubject().getStringValue() + " " + s.getPredicate().getStringValue() + " " + s.getObject().getStringValue() + ".");
c.add(s);
}
// return (Statement[]) c.toArray();
@@ -1035,11 +1007,17 @@ public class DocumentMetadataAccessTest extends ComplexTestCase
{
XNode[] left = (XNode[]) i_Left;
XNode[] right = (XNode[]) i_Right;
- if (left.length != right.length) throw new RuntimeException();
+ if (left.length != right.length)
+ {
+ throw new RuntimeException();
+ }
for (int i = 0; i < left.length; ++i) {
int eq = (left[i].getStringValue().compareTo(
right[i].getStringValue()));
- if (eq != 0) return eq;
+ if (eq != 0)
+ {
+ return eq;
+ }
}
return 0;
}
@@ -1078,23 +1056,23 @@ public class DocumentMetadataAccessTest extends ComplexTestCase
XURI lG = i_Left.Graph;
XURI rG = i_Right.Graph;
if (!eq(lG, rG)) {
- log.println("Graphs differ: " + toS(lG) + " != " + toS(rG));
+ System.out.println("Graphs differ: " + toS(lG) + " != " + toS(rG));
return false;
}
if (!eq(i_Left.Subject, i_Right.Subject)) {
- log.println("Subjects differ: " +
+ System.out.println("Subjects differ: " +
i_Left.Subject.getStringValue() + " != " +
i_Right.Subject.getStringValue());
return false;
}
if (!eq(i_Left.Predicate, i_Right.Predicate)) {
- log.println("Predicates differ: " +
+ System.out.println("Predicates differ: " +
i_Left.Predicate.getStringValue() + " != " +
i_Right.Predicate.getStringValue());
return false;
}
if (!eq(i_Left.Object, i_Right.Object)) {
- log.println("Objects differ: " +
+ System.out.println("Objects differ: " +
i_Left.Object.getStringValue() + " != " +
i_Right.Object.getStringValue());
return false;
@@ -1105,7 +1083,7 @@ public class DocumentMetadataAccessTest extends ComplexTestCase
static boolean eq(Statement[] i_Result, Statement[] i_Expected)
{
if (i_Result.length != i_Expected.length) {
- log.println("eq: different lengths: " + i_Result.length + " " +
+ System.out.println("eq: different lengths: " + i_Result.length + " " +
i_Expected.length);
return false;
}
@@ -1113,8 +1091,13 @@ public class DocumentMetadataAccessTest extends ComplexTestCase
java.util.Arrays.asList(i_Expected).toArray();
java.util.Arrays.sort(i_Result, new StmtComp());
java.util.Arrays.sort(expected, new StmtComp());
- for (int i = 0; i < expected.length; ++i) {
- if (!eq(i_Result[i], expected[i])) return false;
+ for (int i = 0; i < expected.length; ++i)
+ {
+ // This is better for debug!
+ final Statement a = i_Result[i];
+ final Statement b = expected[i];
+ final boolean cond = eq(a, b);
+ if (!cond) return false;
}
return true;
}
@@ -1141,15 +1124,15 @@ public class DocumentMetadataAccessTest extends ComplexTestCase
static boolean eq(XQuerySelectResult i_Result,
String[] i_Vars, XNode[][] i_Bindings) throws Exception
{
- String[] vars = (String[]) i_Result.getBindingNames();
+ String[] vars = i_Result.getBindingNames();
XEnumeration iter = (XEnumeration) i_Result;
XNode[][] bindings = toSeqs(iter);
if (vars.length != i_Vars.length) {
- log.println("var lengths differ");
+ System.out.println("var lengths differ");
return false;
}
if (bindings.length != i_Bindings.length) {
- log.println("binding lengths differ: " + i_Bindings.length +
+ System.out.println("binding lengths differ: " + i_Bindings.length +
" vs " + bindings.length );
return false;
}
@@ -1157,16 +1140,16 @@ public class DocumentMetadataAccessTest extends ComplexTestCase
java.util.Arrays.sort(i_Bindings, new BindingComp());
for (int i = 0; i < i_Bindings.length; ++i) {
if (i_Bindings[i].length != i_Vars.length) {
- log.println("TEST ERROR!");
+ System.out.println("TEST ERROR!");
throw new Exception();
}
if (bindings[i].length != i_Vars.length) {
- log.println("binding length and var length differ");
+ System.out.println("binding length and var length differ");
return false;
}
for (int j = 0; j < i_Vars.length; ++j) {
if (!eq(bindings[i][j], i_Bindings[i][j])) {
- log.println("bindings differ: " +
+ System.out.println("bindings differ: " +
toS(bindings[i][j]) + " != " + toS(i_Bindings[i][j]));
return false;
}
@@ -1174,7 +1157,7 @@ public class DocumentMetadataAccessTest extends ComplexTestCase
}
for (int i = 0; i < i_Vars.length; ++i) {
if (!vars[i].equals(i_Vars[i])) {
- log.println("variable names differ: " +
+ System.out.println("variable names differ: " +
vars[i] + " != " + i_Vars[i]);
return false;
}
@@ -1253,17 +1236,27 @@ public class DocumentMetadataAccessTest extends ComplexTestCase
public String getLocalName() { return ""; }
public StringPair getMetadataReference()
- { return new StringPair(m_Stream, m_XmlId); }
+ {
+ return new StringPair(m_Stream, m_XmlId);
+ }
public void setMetadataReference(StringPair i_Ref)
throws IllegalArgumentException
- { m_Stream = (String)i_Ref.First; m_XmlId = (String)i_Ref.Second; }
+ {
+ m_Stream = i_Ref.First;
+ m_XmlId = i_Ref.Second;
+ }
public void ensureMetadataReference()
- { m_Stream = "content.xml"; m_XmlId = "42"; }
+ {
+ m_Stream = "content.xml";
+ m_XmlId = "42";
+ }
public String getImplementationName() { return null; }
public String[] getSupportedServiceNames() { return null; }
public boolean supportsService(String i_Svc)
- { return i_Svc.equals("com.sun.star.text.Paragraph"); }
+ {
+ return i_Svc.equals("com.sun.star.text.Paragraph");
+ }
public XText getText() { return null; }
public XTextRange getStart() { return null; }
@@ -1271,5 +1264,29 @@ public class DocumentMetadataAccessTest extends ComplexTestCase
public String getString() { return m_Text; }
public void setString(String i_Str) { m_Text = i_Str; }
}
+
+
+
+ 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() DocumentMetadataAccessTest");
+ connection.tearDown();
+ }
+
+ private static final OfficeConnection connection = new OfficeConnection();
+
}
diff --git a/sfx2/qa/complex/DocumentMetaData.java b/sfx2/qa/complex/framework/DocumentPropertiesTest.java
index e4ed104c4a..20a0746c83 100644
--- a/sfx2/qa/complex/DocumentMetaData.java
+++ b/sfx2/qa/complex/framework/DocumentPropertiesTest.java
@@ -1,7 +1,7 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
+ *
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
@@ -27,14 +27,11 @@
package complex.framework;
-import complexlib.ComplexTestCase;
-import helper.StreamSimulator;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.XComponentContext;
-import com.sun.star.uno.Any;
import com.sun.star.lang.XInitialization;
-import com.sun.star.lang.XSingleServiceFactory;
+
import com.sun.star.lang.XMultiServiceFactory;
import com.sun.star.lang.Locale;
import com.sun.star.lang.EventObject;
@@ -51,10 +48,16 @@ import com.sun.star.beans.NamedValue;
import com.sun.star.beans.PropertyAttribute;
import com.sun.star.beans.UnknownPropertyException;
import com.sun.star.beans.IllegalTypeException;
-import com.sun.star.embed.XStorage;
-import com.sun.star.io.XInputStream;
+
import com.sun.star.document.XDocumentProperties;
+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.*;
/**
* Test case for the service com.sun.star.document.DocumentProperties.
@@ -63,13 +66,13 @@ import com.sun.star.document.XDocumentProperties;
*
* @author mst
*/
-public class DocumentMetaData extends ComplexTestCase
+public class DocumentPropertiesTest
{
- public String[] getTestMethodNames () {
- return new String[] { "check", "cleanup" };
- }
+// public String[] getTestMethodNames () {
+// return new String[] { "check", "cleanup" };
+// }
- public void cleanup() {
+ @After public void cleanup() {
// nothing to do
}
@@ -95,19 +98,18 @@ public class DocumentMetaData extends ComplexTestCase
}
}
- public void check() {
+ @Test public void check() {
try {
- XMultiServiceFactory xMSF = (XMultiServiceFactory) param.getMSF();
- assure("could not create MultiServiceFactory.", xMSF != null);
- XPropertySet xPropertySet = (XPropertySet)
- UnoRuntime.queryInterface(XPropertySet.class, xMSF);
+ XMultiServiceFactory xMSF = getMSF();
+ assertNotNull("could not create MultiServiceFactory.", xMSF);
+ XPropertySet xPropertySet = UnoRuntime.queryInterface(XPropertySet.class, xMSF);
Object defaultCtx = xPropertySet.getPropertyValue("DefaultContext");
- XComponentContext xContext = (XComponentContext)
- UnoRuntime.queryInterface(XComponentContext.class, defaultCtx);
- assure("could not get component context.", xContext != null);
+ XComponentContext xContext = UnoRuntime.queryInterface(XComponentContext.class, defaultCtx);
+ assertNotNull("could not get component context.", xContext);
+ // TODO: Path to temp
String temp = util.utils.getOfficeTemp/*Dir*/(xMSF);
- log.println("tempdir: " + temp);
+ System.out.println("tempdir: " + temp);
PropertyValue[] noArgs = { };
PropertyValue mimetype = new PropertyValue();
@@ -120,61 +122,56 @@ public class DocumentMetaData extends ComplexTestCase
cfile.Value = temp + "EMPTY.odt";
PropertyValue[] mimeEmptyArgs = { mimetype, cfile };
- log.println("Creating service DocumentProperties...");
+ System.out.println("Creating service DocumentProperties...");
Object oDP =
// xMSF.createInstanceWithContext(
// "com.sun.star.document.DocumentProperties", xContext);
xMSF.createInstance("com.sun.star.document.DocumentProperties");
- XDocumentProperties xDP = (XDocumentProperties)
- UnoRuntime.queryInterface(XDocumentProperties.class, oDP);
+ XDocumentProperties xDP = UnoRuntime.queryInterface(XDocumentProperties.class, oDP);
- log.println("...done");
+ System.out.println("...done");
- log.println("Checking initialize ...");
+ System.out.println("Checking initialize ...");
- XDocumentProperties xDP2 = (XDocumentProperties)
- UnoRuntime.queryInterface(XDocumentProperties.class,
- xMSF.createInstance(
- "com.sun.star.document.DocumentProperties"));
- XInitialization xInit = (XInitialization)
- UnoRuntime.queryInterface(XInitialization.class, xDP2);
+ XDocumentProperties xDP2 = UnoRuntime.queryInterface(XDocumentProperties.class, xMSF.createInstance("com.sun.star.document.DocumentProperties"));
+ XInitialization xInit = UnoRuntime.queryInterface(XInitialization.class, xDP2);
xInit.initialize(new Object[] { });
- log.println("...done");
+ System.out.println("...done");
- log.println("Checking storing default-initialized meta data ...");
+ System.out.println("Checking storing default-initialized meta data ...");
// xDP2.storeToMedium(temp + "EMPTY.odt", mimeArgs);
xDP2.storeToMedium("", mimeEmptyArgs);
- log.println("...done");
+ System.out.println("...done");
- log.println("Checking loading default-initialized meta data ...");
+ System.out.println("Checking loading default-initialized meta data ...");
// xDP2.loadFromMedium(temp + "EMPTY.odt", noArgs);
xDP2.loadFromMedium("", mimeEmptyArgs);
- assure ("Author", "".equals(xDP2.getAuthor()));
+ assertTrue ("Author", "".equals(xDP2.getAuthor()));
- log.println("...done");
+ System.out.println("...done");
- log.println("(Not) Checking preservation of custom meta data ...");
+ System.out.println("(Not) Checking preservation of custom meta data ...");
- xDP2.loadFromMedium(util.utils.getFullTestURL("CUSTOM.odt"),
+ xDP2.loadFromMedium(TestDocument.getUrl("CUSTOM.odt"),
noArgs);
- assure ("Author", "".equals(xDP2.getAuthor()));
+ assertTrue ("Author", "".equals(xDP2.getAuthor()));
xDP2.storeToMedium(temp + "CUSTOM.odt", mimeArgs);
//FIXME: now what? comparing for binary equality seems useless
// we could unzip the written file and grep for the custom stuff
// but would that work on windows...
- log.println("...done");
+ System.out.println("...done");
- log.println("Checking loading from test document...");
+ System.out.println("Checking loading from test document...");
- String file = util.utils.getFullTestURL("TEST.odt");
+ String file = TestDocument.getUrl("TEST.odt");
xDP.loadFromMedium(file, noArgs);
/* XInputStream xStream =
new StreamSimulator("./testdocuments/TEST.odt", true, param);
@@ -188,68 +185,68 @@ public class DocumentMetaData extends ComplexTestCase
XStorage.class, oStor);
xDP.loadFromStorage(xStor);*/
- log.println("...done");
+ System.out.println("...done");
- log.println("Checking meta-data import...");
+ System.out.println("Checking meta-data import...");
- assure ("Author", "Karl-Heinz Mustermann".equals(xDP.getAuthor()));
- assure ("Generator",
+ assertTrue("Author", "Karl-Heinz Mustermann".equals(xDP.getAuthor()));
+ assertTrue("Generator",
"StarOffice/8$Solaris_x86 OpenOffice.org_project/680m232$Build-9227"
.equals(xDP.getGenerator()));
- assure ("CreationDate", 2007 == xDP.getCreationDate().Year);
- assure ("Title", "Urgent Memo".equals(xDP.getTitle()));
- assure ("Subject", "Wichtige Mitteilung".equals(xDP.getSubject()));
- assure ("Description",
+ assertTrue("CreationDate", 2007 == xDP.getCreationDate().Year);
+ assertTrue("Title", "Urgent Memo".equals(xDP.getTitle()));
+ assertTrue("Subject", "Wichtige Mitteilung".equals(xDP.getSubject()));
+ assertTrue("Description",
"Modern internal company memorandum in full-blocked style"
.equals(xDP.getDescription()));
-// assure ("Language", "".equals(xDP.getLanguage()));
- assure ("ModifiedBy",
+// assertTrue("Language", "".equals(xDP.getLanguage()));
+ assertTrue("ModifiedBy",
"Karl-Heinz Mustermann".equals(xDP.getModifiedBy()));
- assure ("ModificationDate", 10 == xDP.getModificationDate().Month);
- assure ("PrintedBy",
+ assertTrue("ModificationDate", 10 == xDP.getModificationDate().Month);
+ assertTrue("PrintedBy",
"Karl-Heinz Mustermann".equals(xDP.getPrintedBy()));
- assure ("PrintDate", 29 == xDP.getPrintDate().Day);
- assure ("TemplateName",
+ assertTrue("PrintDate", 29 == xDP.getPrintDate().Day);
+ assertTrue("TemplateName",
"Modern Memo".equals(xDP.getTemplateName()));
- assure ("TemplateURL",
+ assertTrue("TemplateURL",
xDP.getTemplateURL().endsWith("memmodern.ott"));
- assure ("TemplateDate", 17 == xDP.getTemplateDate().Hours);
- assure ("AutoloadURL", "../TEST.odt".equals(xDP.getAutoloadURL()));
- assure ("AutoloadSecs", 0 == xDP.getAutoloadSecs());
- assure ("DefaultTarget", "_blank".equals(xDP.getDefaultTarget()));
- assure ("EditingCycles", 3 == xDP.getEditingCycles());
- assure ("EditingDuration", 320 == xDP.getEditingDuration());
+ assertTrue("TemplateDate", 17 == xDP.getTemplateDate().Hours);
+ assertTrue("AutoloadURL", "../TEST.odt".equals(xDP.getAutoloadURL()));
+ assertTrue("AutoloadSecs", 0 == xDP.getAutoloadSecs());
+ assertTrue("DefaultTarget", "_blank".equals(xDP.getDefaultTarget()));
+ assertTrue("EditingCycles", 3 == xDP.getEditingCycles());
+ assertTrue("EditingDuration", 320 == xDP.getEditingDuration());
String[] kws = xDP.getKeywords();
- assure ("Keywords", fromArray(kws).containsAll(
+ assertTrue("Keywords", fromArray(kws).containsAll(
fromArray(new Object[] { "Asien", "Memo", "Reis" })));
NamedValue[] ds = xDP.getDocumentStatistics();
/* for (int i = 0; i < ds.length; ++i) {
- log.println("nv: " + ds[i].Name + " " + ds[i].Value);
+ System.out.println("nv: " + ds[i].Name + " " + ds[i].Value);
}
NamedValue nv1 = new NamedValue("WordCount", new Integer(23));
NamedValue nv2 = new NamedValue("WordCount", new Integer(23));
- log.println("eq: " + nv1.equals(nv2)); // grrr, this is false...
+ System.out.println("eq: " + nv1.equals(nv2)); // grrr, this is false...
*/
- assure ("DocumentStatistics:WordCount", containsNV(ds,
+ assertTrue("DocumentStatistics:WordCount", containsNV(ds,
new NamedValue("WordCount", new Integer(23))));
- assure ("DocumentStatistics:PageCount", containsNV(ds,
+ assertTrue("DocumentStatistics:PageCount", containsNV(ds,
new NamedValue("PageCount", new Integer(1))));
XPropertyContainer udpc = xDP.getUserDefinedProperties();
XPropertySet udps = (XPropertySet) UnoRuntime.queryInterface(
XPropertySet.class, udpc);
- assure ("UserDefined 1", "Dies ist ein wichtiger Hinweis"
+ assertTrue("UserDefined 1", "Dies ist ein wichtiger Hinweis"
.equals(udps.getPropertyValue("Hinweis")));
- assure ("UserDefined 2", ("Kann Spuren von N"
+ assertTrue("UserDefined 2", ("Kann Spuren von N"
+ new String(new byte[] { (byte) 0xc3, (byte) 0xbc }, "UTF-8")
+ "ssen enthalten")
.equals(udps.getPropertyValue("Warnung")));
- log.println("...done");
+ System.out.println("...done");
- log.println("Checking meta-data updates...");
+ System.out.println("Checking meta-data updates...");
String str;
DateTime dt = new DateTime();
@@ -258,75 +255,75 @@ public class DocumentMetaData extends ComplexTestCase
str = "me";
xDP.setAuthor(str);
- assure ("setAuthor", str.equals(xDP.getAuthor()));
+ assertTrue("setAuthor", str.equals(xDP.getAuthor()));
str = "the computa";
xDP.setGenerator(str);
- assure ("setGenerator", str.equals(xDP.getGenerator()));
+ assertTrue("setGenerator", str.equals(xDP.getGenerator()));
dt.Year = 2038;
dt.Month = 1;
dt.Day = 1;
xDP.setCreationDate(dt);
- assure ("setCreationDate", dt.Year == xDP.getCreationDate().Year);
+ assertTrue("setCreationDate", dt.Year == xDP.getCreationDate().Year);
str = "El t'itulo";
xDP.setTitle(str);
- assure ("setTitle", str.equals(xDP.getTitle()));
+ assertTrue("setTitle", str.equals(xDP.getTitle()));
str = "Ein verkommenes Subjekt";
xDP.setSubject(str);
- assure ("setSubject", str.equals(xDP.getSubject()));
+ assertTrue("setSubject", str.equals(xDP.getSubject()));
str = "Este descripci'on no es importante";
xDP.setDescription(str);
- assure ("setDescription", str.equals(xDP.getDescription()));
+ assertTrue("setDescription", str.equals(xDP.getDescription()));
l.Language = "en";
l.Country = "GB";
xDP.setLanguage(l);
Locale l2 = xDP.getLanguage();
- assure ("setLanguage Lang", l.Language.equals(l2.Language));
- assure ("setLanguage Cty", l.Country.equals(l2.Country));
+ assertTrue("setLanguage Lang", l.Language.equals(l2.Language));
+ assertTrue("setLanguage Cty", l.Country.equals(l2.Country));
str = "myself";
xDP.setModifiedBy(str);
- assure ("setModifiedBy", str.equals(xDP.getModifiedBy()));
+ assertTrue("setModifiedBy", str.equals(xDP.getModifiedBy()));
dt.Year = 2042;
xDP.setModificationDate(dt);
- assure ("setModificationDate",
+ assertTrue("setModificationDate",
dt.Year == xDP.getModificationDate().Year);
str = "i didnt do it";
xDP.setPrintedBy(str);
- assure ("setPrintedBy", str.equals(xDP.getPrintedBy()));
+ assertTrue("setPrintedBy", str.equals(xDP.getPrintedBy()));
dt.Year = 2024;
xDP.setPrintDate(dt);
- assure ("setPrintDate", dt.Year == xDP.getPrintDate().Year);
+ assertTrue("setPrintDate", dt.Year == xDP.getPrintDate().Year);
str = "blah";
xDP.setTemplateName(str);
- assure ("setTemplateName", str.equals(xDP.getTemplateName()));
+ assertTrue("setTemplateName", str.equals(xDP.getTemplateName()));
str = "gopher://some-hole-in-the-ground/";
xDP.setTemplateURL(str);
- assure ("setTemplateURL", str.equals(xDP.getTemplateURL()));
+ assertTrue("setTemplateURL", str.equals(xDP.getTemplateURL()));
dt.Year = 2043;
xDP.setTemplateDate(dt);
- assure ("setTemplateDate", dt.Year == xDP.getTemplateDate().Year);
+ assertTrue("setTemplateDate", dt.Year == xDP.getTemplateDate().Year);
str = "http://nowhere/";
xDP.setAutoloadURL(str);
- assure ("setAutoloadURL", str.equals(xDP.getAutoloadURL()));
+ assertTrue("setAutoloadURL", str.equals(xDP.getAutoloadURL()));
i = 3661; // this might not work (due to conversion via double...)
xDP.setAutoloadSecs(i);
-// log.println("set: " + i + " get: " + xDP.getAutoloadSecs());
- assure ("setAutoloadSecs", i == xDP.getAutoloadSecs());
+// System.out.println("set: " + i + " get: " + xDP.getAutoloadSecs());
+ assertTrue("setAutoloadSecs", i == xDP.getAutoloadSecs());
str = "_blank";
xDP.setDefaultTarget(str);
- assure ("setDefaultTarget", str.equals(xDP.getDefaultTarget()));
+ assertTrue("setDefaultTarget", str.equals(xDP.getDefaultTarget()));
i = 42;
xDP.setEditingCycles((short) i);
- assure ("setEditingCycles", i == xDP.getEditingCycles());
+ assertTrue("setEditingCycles", i == xDP.getEditingCycles());
i = 84;
xDP.setEditingDuration(i);
- assure ("setEditingDuration", i == xDP.getEditingDuration());
+ assertTrue("setEditingDuration", i == xDP.getEditingDuration());
str = "";
String[] kws2 = new String[] {
"keywordly", "keywordlike", "keywordalicious" };
xDP.setKeywords(kws2);
kws = xDP.getKeywords();
- assure ("setKeywords", fromArray(kws).containsAll(fromArray(kws2)));
+ assertTrue("setKeywords", fromArray(kws).containsAll(fromArray(kws2)));
NamedValue[] ds2 = new NamedValue[] {
new NamedValue("SyllableCount", new Integer(9)),
@@ -334,16 +331,16 @@ public class DocumentMetaData extends ComplexTestCase
new NamedValue("SentenceCount", new Integer(7)) };
xDP.setDocumentStatistics(ds2);
ds = xDP.getDocumentStatistics();
- assure ("setDocumentStatistics:SyllableCount", containsNV(ds,
+ assertTrue("setDocumentStatistics:SyllableCount", containsNV(ds,
new NamedValue("SyllableCount", new Integer(9))));
- assure ("setDocumentStatistics:FrameCount", containsNV(ds,
+ assertTrue("setDocumentStatistics:FrameCount", containsNV(ds,
new NamedValue("FrameCount", new Integer(2))));
- assure ("setDocumentStatistics:SentenceCount", containsNV(ds,
+ assertTrue("setDocumentStatistics:SentenceCount", containsNV(ds,
new NamedValue("SentenceCount", new Integer(7))));
- log.println("...done");
+ System.out.println("...done");
- log.println("Checking user-defined meta-data updates...");
+ System.out.println("Checking user-defined meta-data updates...");
// actually, this tests the PropertyBag service
// but maybe the DocumentProperties service will be implemented
@@ -384,109 +381,108 @@ public class DocumentMetaData extends ComplexTestCase
udpc.removeProperty("Info 1");
udpc.removeProperty("Removed");
} catch (UnknownPropertyException e) {
- assure("removeProperty failed", false);
+ fail("removeProperty failed");
}
try {
udpc.addProperty("Forbidden", PropertyAttribute.REMOVEABLE,
new String[] { "foo", "bar" });
- assure("inserting value of non-supported type did not fail",
- false);
+ fail("inserting value of non-supported type did not fail");
} catch (IllegalTypeException e) {
// ignore
}
- assure ("UserDefined bool", new Boolean(b).equals(
+ assertTrue("UserDefined bool", new Boolean(b).equals(
udps.getPropertyValue("Frobnicate")));
- assure ("UserDefined duration", eqDuration(dur, (Duration)
+ assertTrue("UserDefined duration", eqDuration(dur, (Duration)
udps.getPropertyValue("FrobDuration")));
- assure ("UserDefined time", eqTime(t, (Time)
+ assertTrue("UserDefined time", eqTime(t, (Time)
udps.getPropertyValue("FrobDuration2")));
- assure ("UserDefined date", eqDate(date, (Date)
+ assertTrue("UserDefined date", eqDate(date, (Date)
udps.getPropertyValue("FrobEndDate")));
- assure ("UserDefined datetime", eqDateTime(dt, (DateTime)
+ assertTrue("UserDefined datetime", eqDateTime(dt, (DateTime)
udps.getPropertyValue("FrobStartTime")));
- assure ("UserDefined float", new Double(d).equals(
+ assertTrue("UserDefined float", new Double(d).equals(
udps.getPropertyValue("Pi")));
- assure ("UserDefined string", "bar".equals(
+ assertTrue("UserDefined string", "bar".equals(
udps.getPropertyValue("Foo")));
- assure ("UserDefined empty name", "eeeeek".equals(
+ assertTrue("UserDefined empty name", "eeeeek".equals(
udps.getPropertyValue("")));
try {
udps.getPropertyValue("Removed");
- assure("UserDefined remove didn't", false);
+ fail("UserDefined remove didn't");
} catch (UnknownPropertyException e) {
// ok
}
- log.println("...done");
+ System.out.println("...done");
- log.println("Checking storing meta-data to file...");
+ System.out.println("Checking storing meta-data to file...");
xDP.storeToMedium(temp + "TEST.odt", mimeArgs);
- log.println("...done");
+ System.out.println("...done");
- log.println("Checking loading meta-data from stored file...");
+ System.out.println("Checking loading meta-data from stored file...");
xDP.loadFromMedium(temp + "TEST.odt", noArgs);
- log.println("...done");
+ System.out.println("...done");
- log.println("Checking user-defined meta-data from stored file...");
+ System.out.println("Checking user-defined meta-data from stored file...");
udpc = xDP.getUserDefinedProperties();
udps = (XPropertySet) UnoRuntime.queryInterface(
XPropertySet.class, udpc);
- assure ("UserDefined bool", new Boolean(b).equals(
+ assertTrue("UserDefined bool", new Boolean(b).equals(
udps.getPropertyValue("Frobnicate")));
- assure ("UserDefined duration", eqDuration(dur, (Duration)
+ assertTrue("UserDefined duration", eqDuration(dur, (Duration)
udps.getPropertyValue("FrobDuration")));
// this is now a Duration!
Duration t_dur = new Duration(false, (short)0, (short)0, (short)0,
t.Hours, t.Minutes, t.Seconds,
(short)(10 * t.HundredthSeconds));
- assure ("UserDefined time", eqDuration(t_dur, (Duration)
+ assertTrue("UserDefined time", eqDuration(t_dur, (Duration)
udps.getPropertyValue("FrobDuration2")));
- assure ("UserDefined date", eqDate(date, (Date)
+ assertTrue("UserDefined date", eqDate(date, (Date)
udps.getPropertyValue("FrobEndDate")));
- assure ("UserDefined datetime", eqDateTime(dt, (DateTime)
+ assertTrue("UserDefined datetime", eqDateTime(dt, (DateTime)
udps.getPropertyValue("FrobStartTime")));
- assure ("UserDefined float", new Double(d).equals(
+ assertTrue("UserDefined float", new Double(d).equals(
udps.getPropertyValue("Pi")));
- assure ("UserDefined string", "bar".equals(
+ assertTrue("UserDefined string", "bar".equals(
udps.getPropertyValue("Foo")));
try {
udps.getPropertyValue("Removed");
- assure("UserDefined remove didn't", false);
+ fail("UserDefined remove didn't");
} catch (UnknownPropertyException e) {
// ok
}
- log.println("...done");
+ System.out.println("...done");
- log.println("Checking notification listener interface...");
+ System.out.println("Checking notification listener interface...");
Listener listener = new Listener();
XModifyBroadcaster xMB = (XModifyBroadcaster)
UnoRuntime.queryInterface(XModifyBroadcaster.class, xDP);
xMB.addModifyListener(listener);
xDP.setAuthor("not me");
- assure ("Listener Author", listener.reset());
+ assertTrue("Listener Author", listener.reset());
udpc.addProperty("Listener", PropertyAttribute.REMOVEABLE, "foo");
- assure ("Listener UserDefined Add", listener.reset());
+ assertTrue("Listener UserDefined Add", listener.reset());
udps.setPropertyValue("Listener", "bar");
- assure ("Listener UserDefined Set", listener.reset());
+ assertTrue("Listener UserDefined Set", listener.reset());
udpc.removeProperty("Listener");
- assure ("Listener UserDefined Remove", listener.reset());
+ assertTrue("Listener UserDefined Remove", listener.reset());
xMB.removeModifyListener(listener);
udpc.addProperty("Listener2", PropertyAttribute.REMOVEABLE, "foo");
- assure ("Removed Listener UserDefined Add", !listener.reset());
+ assertTrue("Removed Listener UserDefined Add", !listener.reset());
- log.println("...done");
+ System.out.println("...done");
} catch (Exception e) {
report(e);
@@ -538,9 +534,32 @@ public class DocumentMetaData extends ComplexTestCase
}
public void report(Exception e) {
- log.println("Exception occurred:");
- e.printStackTrace((java.io.PrintWriter) log);
- failed();
+ System.out.println("Exception occurred:");
+ e.printStackTrace();
+ fail();
+ }
+
+
+ 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() DocumentPropertiesTest");
+ connection.tearDown();
+ }
+
+ private static final OfficeConnection connection = new OfficeConnection();
+
}
diff --git a/sfx2/qa/complex/framework/TestDocument.java b/sfx2/qa/complex/framework/TestDocument.java
new file mode 100644
index 0000000000..8cc6ef7756
--- /dev/null
+++ b/sfx2/qa/complex/framework/TestDocument.java
@@ -0,0 +1,39 @@
+/*************************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+************************************************************************/
+
+package complex.framework;
+
+import java.io.File;
+import org.openoffice.test.OfficeFileUrl;
+
+final class TestDocument {
+ public static String getUrl(String name) {
+ return OfficeFileUrl.getAbsolute(new File("testdocuments", name));
+ }
+
+ private TestDocument() {}
+}
diff --git a/sfx2/qa/complex/DocHelper/WriterHelper.java b/sfx2/qa/complex/framework/WriterHelper.java
index 7b393677f7..d4a8158bb0 100644
--- a/sfx2/qa/complex/DocHelper/WriterHelper.java
+++ b/sfx2/qa/complex/framework/WriterHelper.java
@@ -73,19 +73,20 @@ public class WriterHelper {
* @return if an error occurs the errormessage is returned and an empty String if not
*/
public String closeDoc(XTextDocument xTextDoc) {
- XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
- XCloseable.class, xTextDoc);
+ XCloseable closer = UnoRuntime.queryInterface(XCloseable.class, xTextDoc);
String err = "";
try {
closer.close(true);
} catch (com.sun.star.util.CloseVetoException e) {
err = "couldn't close document " + e;
+ System.out.println(err);
}
return err;
}
+ private XTextDocument xLocalDoc = null;
/** a TextDocument is opened by pressing a button in a dialog given by uno-URL
* @param url the uno-URL of the dialog to be opened
* @param createButton the language dependend label of the button to be pressed
@@ -95,9 +96,8 @@ public class WriterHelper {
*/
public XTextDocument openFromDialog(String url, String createButton,
boolean destroyLocal) {
- XTextDocument xLocalDoc = WriterTools.createTextDoc(m_xMSF);
- XComponent comp = (XComponent) UnoRuntime.queryInterface(
- XComponent.class, xLocalDoc);
+ xLocalDoc = WriterTools.createTextDoc(m_xMSF);
+ XComponent comp = UnoRuntime.queryInterface(XComponent.class, xLocalDoc);
DialogThread diagThread = new DialogThread(comp, m_xMSF, url);
diagThread.start();
shortWait();
@@ -107,8 +107,7 @@ public class WriterHelper {
AccessibilityTools at = new AccessibilityTools();
Object atw = tk.getActiveTopWindow();
- XWindow xWindow = (XWindow) UnoRuntime.queryInterface(
- XWindow.class, atw);
+ XWindow xWindow = UnoRuntime.queryInterface(XWindow.class, atw);
XAccessible xRoot = at.getAccessibleObject(xWindow);
XAccessibleContext buttonContext = at.getAccessibleObjectForRole(
@@ -116,9 +115,7 @@ public class WriterHelper {
AccessibleRole.PUSH_BUTTON,
createButton);
- XAccessibleAction buttonAction = (XAccessibleAction) UnoRuntime.queryInterface(
- XAccessibleAction.class,
- buttonContext);
+ XAccessibleAction buttonAction = UnoRuntime.queryInterface(XAccessibleAction.class, buttonContext);
try {
System.out.println("Name: " +
@@ -133,16 +130,26 @@ public class WriterHelper {
XDesktop xDesktop = getDesktop();
- XTextDocument returnDoc = (XTextDocument) UnoRuntime.queryInterface(
- XTextDocument.class,
- xDesktop.getCurrentComponent());
+ XTextDocument returnDoc = UnoRuntime.queryInterface(XTextDocument.class, xDesktop.getCurrentComponent());
if (destroyLocal) {
closeDoc(xLocalDoc);
+ xLocalDoc = null;
}
return returnDoc;
}
+ public void closeFromDialog()
+ {
+ closeDoc(xLocalDoc);
+ xLocalDoc = null;
+ }
+ public void kill()
+ {
+ XDesktop xDesktop = getDesktop();
+ xDesktop.terminate();
+ }
+
public XTextDocument DocByAutopilot(XMultiServiceFactory msf,
int[] indexes, boolean destroyLocal,
@@ -156,8 +163,7 @@ public class WriterHelper {
e.printStackTrace();
}
- XExtendedToolkit tk = (XExtendedToolkit) UnoRuntime.queryInterface(
- XExtendedToolkit.class, toolkit);
+ XExtendedToolkit tk = UnoRuntime.queryInterface(XExtendedToolkit.class, toolkit);
shortWait();
@@ -165,15 +171,13 @@ public class WriterHelper {
Object atw = tk.getActiveTopWindow();
- XWindow xWindow = (XWindow) UnoRuntime.queryInterface(XWindow.class,
- atw);
+ XWindow xWindow = UnoRuntime.queryInterface(XWindow.class, atw);
XAccessible xRoot = at.getAccessibleObject(xWindow);
XAccessibleContext ARoot = at.getAccessibleObjectForRole(xRoot,
AccessibleRole.MENU_BAR);
- XAccessibleSelection sel = (XAccessibleSelection) UnoRuntime.queryInterface(
- XAccessibleSelection.class, ARoot);
+ XAccessibleSelection sel = UnoRuntime.queryInterface(XAccessibleSelection.class, ARoot);
for (int k = 0; k < indexes.length; k++) {
try {
@@ -181,8 +185,7 @@ public class WriterHelper {
shortWait();
ARoot = ARoot.getAccessibleChild(indexes[k])
.getAccessibleContext();
- sel = (XAccessibleSelection) UnoRuntime.queryInterface(
- XAccessibleSelection.class, ARoot);
+ sel = UnoRuntime.queryInterface(XAccessibleSelection.class, ARoot);
} catch (com.sun.star.lang.IndexOutOfBoundsException e) {
}
}
@@ -191,17 +194,13 @@ public class WriterHelper {
atw = tk.getActiveTopWindow();
- xWindow = (XWindow) UnoRuntime.queryInterface(XWindow.class, atw);
+ xWindow = UnoRuntime.queryInterface(XWindow.class, atw);
xRoot = at.getAccessibleObject(xWindow);
//at.printAccessibleTree(new PrintWriter(System.out),xRoot);
- XAccessibleAction action = (XAccessibleAction) UnoRuntime.queryInterface(
- XAccessibleAction.class,
- at.getAccessibleObjectForRole(xRoot,
- AccessibleRole.PUSH_BUTTON,
- bName));
+ XAccessibleAction action = UnoRuntime.queryInterface(XAccessibleAction.class, at.getAccessibleObjectForRole(xRoot, AccessibleRole.PUSH_BUTTON, bName));
try {
action.doAccessibleAction(0);
@@ -212,17 +211,13 @@ public class WriterHelper {
atw = tk.getActiveTopWindow();
- xWindow = (XWindow) UnoRuntime.queryInterface(XWindow.class, atw);
+ xWindow = UnoRuntime.queryInterface(XWindow.class, atw);
xRoot = at.getAccessibleObject(xWindow);
at.printAccessibleTree(new PrintWriter(System.out),xRoot);
- action = (XAccessibleAction) UnoRuntime.queryInterface(
- XAccessibleAction.class,
- at.getAccessibleObjectForRole(xRoot,
- AccessibleRole.PUSH_BUTTON,
- "Yes"));
+ action = UnoRuntime.queryInterface(XAccessibleAction.class, at.getAccessibleObjectForRole(xRoot, AccessibleRole.PUSH_BUTTON, "Yes"));
try {
if (action != null) action.doAccessibleAction(0);
@@ -233,9 +228,7 @@ public class WriterHelper {
XDesktop xDesktop = getDesktop();
- XTextDocument returnDoc = (XTextDocument) UnoRuntime.queryInterface(
- XTextDocument.class,
- xDesktop.getCurrentComponent());
+ XTextDocument returnDoc = UnoRuntime.queryInterface(XTextDocument.class, xDesktop.getCurrentComponent());
if (destroyLocal) {
closeDoc(xLocalDoc);
@@ -269,8 +262,7 @@ public class WriterHelper {
e.printStackTrace();
}
- XExtendedToolkit tk = (XExtendedToolkit) UnoRuntime.queryInterface(
- XExtendedToolkit.class, toolkit);
+ XExtendedToolkit tk = UnoRuntime.queryInterface(XExtendedToolkit.class, toolkit);
return tk;
}
@@ -288,8 +280,7 @@ public class WriterHelper {
e.printStackTrace();
}
- XDesktop xDesktop = (XDesktop) UnoRuntime.queryInterface(
- XDesktop.class, desk);
+ XDesktop xDesktop = UnoRuntime.queryInterface(XDesktop.class, desk);
return xDesktop;
}
diff --git a/sfx2/qa/complex/makefile.mk b/sfx2/qa/complex/framework/makefile.mk
index b8bc897fcc..325135b913 100644
--- a/sfx2/qa/complex/makefile.mk
+++ b/sfx2/qa/complex/framework/makefile.mk
@@ -25,37 +25,41 @@
#
#*************************************************************************
-PRJ = ..$/..
-TARGET = CheckGlobalEventBroadcaster_writer1
-PRJNAME = $(TARGET)
-PACKAGE = complex$/framework
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
+.ELSE
-# --- Settings -----------------------------------------------------
-.INCLUDE: settings.mk
+PRJ = ../../..
+PRJNAME = sfx2
+TARGET = qa_complex_framework
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = complex/framework
+JAVATESTFILES = \
+ DocumentPropertiesTest.java \
+ DocumentMetadataAccessTest.java \
+ CheckGlobalEventBroadcaster_writer1.java
-#----- compile .java files -----------------------------------------
+JAVAFILES = $(JAVATESTFILES) \
+ TestDocument.java \
+ WriterHelper.java \
+ DialogThread.java
-JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar
-JAVAFILES = CheckGlobalEventBroadcaster_writer1.java \
- DocumentMetaData.java \
- DocumentMetadataAccessTest.java
-JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
+JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
-SUBDIRS = DocHelper
-#----- make a jar from compiled files ------------------------------
+# Sample how to debug
+# JAVAIFLAGS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9003,suspend=y
-MAXLINELENGTH = 100000
+.END
-JARCLASSDIRS = $(PACKAGE)
-JARTARGET = $(TARGET).jar
-JARCOMPRESS = TRUE
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+.INCLUDE: installationtest.mk
-# --- Targets ------------------------------------------------------
+ALLTAR : javatest
-.INCLUDE : target.mk
+.END
-run:
- +java -cp $(CLASSPATH) org.openoffice.Runner -TestBase java_complex -sce tests.sce -tdoc $(PWD)$/testdocuments
diff --git a/sfx2/qa/complex/testdocuments/CUSTOM.odt b/sfx2/qa/complex/framework/testdocuments/CUSTOM.odt
index 831a8f451d..831a8f451d 100644
--- a/sfx2/qa/complex/testdocuments/CUSTOM.odt
+++ b/sfx2/qa/complex/framework/testdocuments/CUSTOM.odt
Binary files differ
diff --git a/sfx2/qa/complex/testdocuments/TEST.odt b/sfx2/qa/complex/framework/testdocuments/TEST.odt
index 7c6f0b60f7..7c6f0b60f7 100644
--- a/sfx2/qa/complex/testdocuments/TEST.odt
+++ b/sfx2/qa/complex/framework/testdocuments/TEST.odt
Binary files differ
diff --git a/sfx2/qa/complex/testdocuments/TESTRDFA.odt b/sfx2/qa/complex/framework/testdocuments/TESTRDFA.odt
index d59739142d..d59739142d 100644
--- a/sfx2/qa/complex/testdocuments/TESTRDFA.odt
+++ b/sfx2/qa/complex/framework/testdocuments/TESTRDFA.odt
Binary files differ
diff --git a/sfx2/qa/complex/framework/testdocuments/empty.rdf b/sfx2/qa/complex/framework/testdocuments/empty.rdf
new file mode 100644
index 0000000000..af62bab39d
--- /dev/null
+++ b/sfx2/qa/complex/framework/testdocuments/empty.rdf
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+
+<RDF
+ xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:s="http://www.w3.org/2000/01/rdf-schema#">
+
+<!--
+ This is the RDF Schema for the RDF data model as described in the
+ Resource Description Framework (RDF) Model and Syntax Specification
+ http://www.w3.org/TR/REC-rdf-syntax -->
+
+</RDF>
diff --git a/sfx2/qa/complex/standalonedocumentinfo/StandaloneDocumentInfoUnitTest.java b/sfx2/qa/complex/standalonedocumentinfo/StandaloneDocumentInfoUnitTest.java
index 89840e1cd4..e44c8a89c5 100644
--- a/sfx2/qa/complex/standalonedocumentinfo/StandaloneDocumentInfoUnitTest.java
+++ b/sfx2/qa/complex/standalonedocumentinfo/StandaloneDocumentInfoUnitTest.java
@@ -26,44 +26,76 @@
************************************************************************/
package complex.standalonedocumentinfo;
-import complexlib.ComplexTestCase;
import com.sun.star.lang.XMultiServiceFactory;
import com.sun.star.uno.UnoRuntime;
+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.*;
+
/* Document here
*/
-public class StandaloneDocumentInfoUnitTest extends ComplexTestCase {
+public class StandaloneDocumentInfoUnitTest {
private XMultiServiceFactory m_xMSF = null;
- public String[] getTestMethodNames() {
- return new String[] {
- "ExecuteTest01"};
- }
+// public String[] getTestMethodNames() {
+// return new String[] {
+// "ExecuteTest01"};
+// }
- public String[] getTestObjectNames() {
- return new String[] {"StandaloneDocumentInfoUnitTest"};
- }
+// public String[] getTestObjectNames() {
+// return new String[] {"StandaloneDocumentInfoUnitTest"};
+// }
- public void before() {
+ @Before public void before() {
try {
- m_xMSF = (XMultiServiceFactory)param.getMSF();
+ m_xMSF = getMSF();
} catch(Exception e) {
- failed( "Failed to create service factory!" );
+ fail( "Failed to create service factory!" );
}
if( m_xMSF ==null ) {
- failed( "Failed to create service factory!" );
+ fail( "Failed to create service factory!" );
}
}
- public void after() {
+ @After public void after() {
m_xMSF = null;
}
- public void ExecuteTest01() {
- StandaloneDocumentInfoTest aTest = new Test01 (m_xMSF, log);
- assure( "Test01 failed!", aTest.test() );
+ @Test public void ExecuteTest01() {
+ StandaloneDocumentInfoTest aTest = new Test01 (m_xMSF);
+ assertTrue( "Test01 failed!", aTest.test() );
+ }
+
+
+
+
+ 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/sfx2/qa/complex/standalonedocumentinfo/Test01.java b/sfx2/qa/complex/standalonedocumentinfo/Test01.java
index 16b85b3913..bcbdeccd8c 100644
--- a/sfx2/qa/complex/standalonedocumentinfo/Test01.java
+++ b/sfx2/qa/complex/standalonedocumentinfo/Test01.java
@@ -26,14 +26,6 @@
************************************************************************/
package complex.standalonedocumentinfo;
-import com.sun.star.beans.Property;
-import com.sun.star.beans.XProperty;
-import com.sun.star.beans.XPropertySetInfo;
-import com.sun.star.io.IOException;
-import com.sun.star.io.XInputStream;
-import com.sun.star.io.XOutputStream;
-import complexlib.ComplexTestCase;
-
import com.sun.star.lang.XMultiServiceFactory;
import com.sun.star.document.XStandaloneDocumentInfo;
import com.sun.star.io.XTempFile;
@@ -43,19 +35,15 @@ import com.sun.star.beans.PropertyValue;
import com.sun.star.beans.XPropertySet;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.AnyConverter;
-import com.sun.star.task.ErrorCodeIOException;
-import java.util.Properties;
-import java.util.Random;
-import share.LogWriter;
public class Test01 implements StandaloneDocumentInfoTest {
XMultiServiceFactory m_xMSF = null;
TestHelper m_aTestHelper = null;
- public Test01 ( XMultiServiceFactory xMSF, LogWriter aLogWriter ) {
+ public Test01 ( XMultiServiceFactory xMSF ) {
m_xMSF = xMSF;
- m_aTestHelper = new TestHelper( aLogWriter, "Test01: " );
+ m_aTestHelper = new TestHelper( "Test01: " );
}
public boolean test() {
@@ -71,19 +59,16 @@ public class Test01 implements StandaloneDocumentInfoTest {
m_aTestHelper.Message ( "==============================" );
//create a new temporary file
Object oTempFile = m_xMSF.createInstance ( "com.sun.star.io.TempFile" );
- XTempFile xTempFile = (XTempFile) UnoRuntime.queryInterface (
- XTempFile.class, oTempFile );
+ XTempFile xTempFile = UnoRuntime.queryInterface(XTempFile.class, oTempFile);
//create a text document and initiallize it
Object oTextDocument = m_xMSF.createInstance ( "com.sun.star.text.TextDocument" );
- XLoadable xLoadable = (XLoadable) UnoRuntime.queryInterface (
- XLoadable.class, oTextDocument );
+ XLoadable xLoadable = UnoRuntime.queryInterface(XLoadable.class, oTextDocument);
xLoadable.initNew();
m_aTestHelper.Message ( "New document initialized." );
//store the instance to the temporary file URL
- XStorable xStorable = (XStorable) UnoRuntime.queryInterface (
- XStorable.class, oTextDocument );
+ XStorable xStorable = UnoRuntime.queryInterface(XStorable.class, oTextDocument);
String sURL = AnyConverter.toString ( xTempFile.getUri () );
PropertyValue aProps[] = new PropertyValue[2];
aProps[0] = new PropertyValue();
@@ -101,15 +86,13 @@ public class Test01 implements StandaloneDocumentInfoTest {
Object oStandaloneDocInfo = m_xMSF.createInstance (
"com.sun.star.document.StandaloneDocumentInfo" );
XStandaloneDocumentInfo xStandaloneDocInfo =
- (XStandaloneDocumentInfo) UnoRuntime.queryInterface (
- XStandaloneDocumentInfo.class, oStandaloneDocInfo );
+ UnoRuntime.queryInterface(XStandaloneDocumentInfo.class, oStandaloneDocInfo);
xStandaloneDocInfo.loadFromURL ( sURL );
m_aTestHelper.Message ( "StandaloneDocumentInfo loaded." );
//get the title from the object and check it
XPropertySet xPropSet =
- (XPropertySet)UnoRuntime.queryInterface (
- XPropertySet.class, oStandaloneDocInfo );
+ UnoRuntime.queryInterface(XPropertySet.class, oStandaloneDocInfo);
String sTitle = xPropSet.getPropertyValue ( "Title" ).toString ();
m_aTestHelper.Message ( "Get title: " + sTitle );
if ( sTitle.compareTo ( sDocTitle[i] ) != 0 ) {
@@ -134,14 +117,12 @@ public class Test01 implements StandaloneDocumentInfoTest {
Object oStandaloneDocInfo_ = m_xMSF.createInstance (
"com.sun.star.document.StandaloneDocumentInfo" );
XStandaloneDocumentInfo xStandaloneDocInfo_ =
- (XStandaloneDocumentInfo)UnoRuntime.queryInterface (
- XStandaloneDocumentInfo.class, oStandaloneDocInfo_ );
+ UnoRuntime.queryInterface(XStandaloneDocumentInfo.class, oStandaloneDocInfo_);
xStandaloneDocInfo_.loadFromURL ( sURL );
m_aTestHelper.Message ( "New StandaloneDocumentInfo loaded." );
//get the title and check it
- XPropertySet xPropSet_ = (XPropertySet)UnoRuntime.queryInterface (
- XPropertySet.class, oStandaloneDocInfo_ );
+ XPropertySet xPropSet_ = UnoRuntime.queryInterface(XPropertySet.class, oStandaloneDocInfo_);
String sTitle_ = xPropSet_.getPropertyValue ( "Title" ).toString ();
m_aTestHelper.Message ( "Get new title: " + sTitle_ );
if ( sTitle_.compareTo ( sTitle ) != 0 ) {
diff --git a/sfx2/qa/complex/standalonedocumentinfo/TestHelper.java b/sfx2/qa/complex/standalonedocumentinfo/TestHelper.java
index 697bf726d9..ed4a3634c7 100644
--- a/sfx2/qa/complex/standalonedocumentinfo/TestHelper.java
+++ b/sfx2/qa/complex/standalonedocumentinfo/TestHelper.java
@@ -26,23 +26,23 @@
************************************************************************/
package complex.standalonedocumentinfo;
-import share.LogWriter;
public class TestHelper {
- LogWriter m_aLogWriter;
+
String m_sTestPrefix;
- /** Creates a new instance of TestHelper */
- public TestHelper ( LogWriter aLogWriter, String sTestPrefix ) {
- m_aLogWriter = aLogWriter;
+ /** Creates a new instance of TestHelper
+ * @param sTestPrefix
+ */
+ public TestHelper ( String sTestPrefix ) {
m_sTestPrefix = sTestPrefix;
}
public void Error ( String sError ) {
- m_aLogWriter.println ( m_sTestPrefix + "Error: " + sError );
+ System.out.println ( m_sTestPrefix + "Error: " + sError );
}
public void Message ( String sMessage ) {
- m_aLogWriter.println ( m_sTestPrefix + sMessage );
+ System.out.println ( m_sTestPrefix + sMessage );
}
}
diff --git a/sfx2/qa/complex/standalonedocumentinfo/makefile.mk b/sfx2/qa/complex/standalonedocumentinfo/makefile.mk
index c65556aeb7..aade48dbd7 100644
--- a/sfx2/qa/complex/standalonedocumentinfo/makefile.mk
+++ b/sfx2/qa/complex/standalonedocumentinfo/makefile.mk
@@ -25,61 +25,32 @@
#
#*************************************************************************
-PRJ = ..$/..$/..
-TARGET = StandaloneDocumentInfoUnitTest
-PRJNAME = binfilter
-PACKAGE = complex$/standalonedocumentinfo
-
-# --- Settings -----------------------------------------------------
-.INCLUDE: settings.mk
-
-
-#----- compile .java files -----------------------------------------
-
-JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar
-
-JAVAFILES =\
- StandaloneDocumentInfoUnitTest.java\
- StandaloneDocumentInfoTest.java\
- Test01.java\
- TestHelper.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 = sfx2
+TARGET = qa_complex_standalonedocumentinfo
-# test looks something like the.full.package.TestName
-CT_TEST = -o $(PACKAGE:s\$/\.\).$(JAVAFILES:b)
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = complex/standalonedocumentinfo
+JAVATESTFILES = \
+ StandaloneDocumentInfoUnitTest.java
-# start the runner application
-CT_APP = org.openoffice.Runner
+JAVAFILES = $(JAVATESTFILES) \
+ StandaloneDocumentInfoTest.java \
+ Test01.java \
+ TestHelper.java
-# --- Targets ------------------------------------------------------
+JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
+.END
+.INCLUDE: settings.mk
.INCLUDE: target.mk
+.INCLUDE: installationtest.mk
-RUN: run
-
-run:
- +java -cp $(CLASSPATH) $(CT_APP) $(CT_TESTBASE) $(CT_APPEXECCOMMAND) $(CT_TEST)
-
-
+ALLTAR : javatest
+.END
diff --git a/sfx2/qa/unoapi/sfx.sce b/sfx2/qa/unoapi/sfx.sce
index 6176c06687..ce72c463ee 100644
--- a/sfx2/qa/unoapi/sfx.sce
+++ b/sfx2/qa/unoapi/sfx.sce
@@ -1,5 +1,5 @@
-o sfx.AppDispatchProvider
--o sfx.DocumentTemplates
+#i113306 -o sfx.DocumentTemplates
-o sfx.FrameLoader
-o sfx.SfxMacroLoader
#i111283 -o sfx.StandaloneDocumentInfo
diff --git a/svx/qa/unoapi/knownissues.xcl b/svx/qa/unoapi/knownissues.xcl
index 89369160bb..b26db6b7f9 100644
--- a/svx/qa/unoapi/knownissues.xcl
+++ b/svx/qa/unoapi/knownissues.xcl
@@ -85,3 +85,6 @@ svx.AccessiblePresentationOLEShape::com::sun::star::accessibility::XAccessibleCo
### i111169 ###
svx.AccessiblePageShape::com::sun::star::accessibility::XAccessibleComponent
+
+### i114642 ###
+svx.SvxUnoTextContent::com::sun::star::style::CharacterProperties
diff --git a/svx/source/dialog/sendreportunx.cxx b/svx/source/dialog/sendreportunx.cxx
index ccd23ae772..657399ca3c 100644
--- a/svx/source/dialog/sendreportunx.cxx
+++ b/svx/source/dialog/sendreportunx.cxx
@@ -243,7 +243,7 @@ namespace svx{
int ret = -1;
rtl::OUString path1(
RTL_CONSTASCII_USTRINGPARAM(
- "$BRAND_BASE_DIR/program/crash_report.bin"));
+ "$BRAND_BASE_DIR/program/crashrep"));
rtl::Bootstrap::expandMacros(path1);
rtl::OString path2;
if ((osl::FileBase::getSystemPathFromFileURL(path1, path1) ==
diff --git a/svx/source/gengal/gengal.sh b/svx/source/gengal/gengal.sh
index 38e680e476..2fccd222fc 100644
--- a/svx/source/gengal/gengal.sh
+++ b/svx/source/gengal/gengal.sh
@@ -67,17 +67,17 @@ case $sd_platform in
;;
Darwin)
- DYLD_LIBRARY_PATH=${sd_prog}${DYLD_LIBRARY_PATH+:${DYLD_LIBRARY_PATH}}
+ DYLD_LIBRARY_PATH=${sd_prog}${DYLD_LIBRARY_PATH:+:${DYLD_LIBRARY_PATH}}
export DYLD_LIBRARY_PATH
;;
HP-UX)
- SHLIB_PATH=${sd_prog}:/usr/openwin/lib${SHLIB_PATH+:${SHLIB_PATH}}
+ SHLIB_PATH=${sd_prog}:/usr/openwin/lib${SHLIB_PATH:+:${SHLIB_PATH}}
export SHLIB_PATH
;;
*)
- LD_LIBRARY_PATH=${sd_prog}${LD_LIBRARY_PATH+:${LD_LIBRARY_PATH}}
+ LD_LIBRARY_PATH=${sd_prog}${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export LD_LIBRARY_PATH
;;
esac
diff --git a/svx/source/unodraw/unoprov.cxx b/svx/source/unodraw/unoprov.cxx
index 91e3b9e7f5..fd442018d4 100644
--- a/svx/source/unodraw/unoprov.cxx
+++ b/svx/source/unodraw/unoprov.cxx
@@ -644,8 +644,10 @@ SfxItemPropertyMapEntry* ImplGetSvxControlShapePropertyMap()
// #i68101#
{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_TITLE), OWN_ATTR_MISC_OBJ_TITLE , &::getCppuType((const ::rtl::OUString*)0), 0, 0},
{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_DESCRIPTION), OWN_ATTR_MISC_OBJ_DESCRIPTION , &::getCppuType((const ::rtl::OUString*)0), 0, 0},
+ // #i112587#
+ { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_PRINTABLE), SDRATTR_OBJPRINTABLE , &::getBooleanCppuType(), 0, 0},
+ { MAP_CHAR_LEN("Visible"), SDRATTR_OBJVISIBLE , &::getBooleanCppuType(), 0, 0},
{0,0,0,0,0,0}
-
};
return aControlPropertyMap_Impl;
diff --git a/svx/source/unodraw/unoshap2.cxx b/svx/source/unodraw/unoshap2.cxx
index 834e5053f7..cd70bddc3a 100644
--- a/svx/source/unodraw/unoshap2.cxx
+++ b/svx/source/unodraw/unoshap2.cxx
@@ -1804,6 +1804,7 @@ bool SvxGraphicObject::getPropertyValueImpl( const ::rtl::OUString& rName, const
{
case OWN_ATTR_VALUE_FILLBITMAP:
{
+ sal_Bool bSwapped = static_cast< SdrGrafObj* >( mpObj.get() )->IsSwappedOut();
const Graphic& rGraphic = static_cast< SdrGrafObj*>( mpObj.get() )->GetGraphic();
if(rGraphic.GetType() != GRAPHIC_GDIMETAFILE)
@@ -1822,6 +1823,8 @@ bool SvxGraphicObject::getPropertyValueImpl( const ::rtl::OUString& rName, const
aDestStrm.GetEndOfData());
rValue <<= aSeq;
}
+ if ( bSwapped )
+ static_cast< SdrGrafObj* >( mpObj.get() )->ForceSwapOut();
break;
}
@@ -1833,10 +1836,13 @@ bool SvxGraphicObject::getPropertyValueImpl( const ::rtl::OUString& rName, const
}
else
{
+ sal_Bool bSwapped = static_cast< SdrGrafObj* >( mpObj.get() )->IsSwappedOut();
const GraphicObject& rGrafObj = static_cast< SdrGrafObj*>( mpObj.get() )->GetGraphicObject(true);
OUString aURL( RTL_CONSTASCII_USTRINGPARAM(UNO_NAME_GRAPHOBJ_URLPREFIX));
aURL += OUString::createFromAscii( rGrafObj.GetUniqueID().GetBuffer() );
rValue <<= aURL;
+ if ( bSwapped )
+ static_cast< SdrGrafObj* >( mpObj.get() )->ForceSwapOut();
}
break;
}
@@ -1851,8 +1857,11 @@ bool SvxGraphicObject::getPropertyValueImpl( const ::rtl::OUString& rName, const
case OWN_ATTR_VALUE_GRAPHIC:
{
+ sal_Bool bSwapped = static_cast< SdrGrafObj* >( mpObj.get() )->IsSwappedOut();
Reference< graphic::XGraphic > xGraphic( static_cast< SdrGrafObj* >( mpObj.get() )->GetGraphic().GetXGraphic() );
rValue <<= xGraphic;
+ if ( bSwapped )
+ static_cast< SdrGrafObj* >( mpObj.get() )->ForceSwapOut();
break;
}
diff --git a/ucb/prj/build.lst b/ucb/prj/build.lst
index dad7921304..8d8c87f3ae 100644
--- a/ucb/prj/build.lst
+++ b/ucb/prj/build.lst
@@ -16,3 +16,7 @@ uc ucb\source\ucp\tdoc nmake - all uc_tdoc uc_inc NULL
uc ucb\source\ucp\expand nmake - all uc_expand uc_inc NULL
uc ucb\source\ucp\ext nmake - all uc_ext uc_inc NULL
uc ucb\qa\unoapi nmake - all uc_qa_unoapi NULL
+
+uc ucb\qa\complex\ucb nmake - all uc_complex_ucb uc_inc NULL
+# fails, please fix
+# uc ucb\qa\complex\tdoc nmake - all uc_complex_tdoc uc_complex_tdoc_interfaces uc_inc NULL
diff --git a/ucb/qa/complex/tdoc/CheckContentProvider.java b/ucb/qa/complex/tdoc/CheckContentProvider.java
index 86a6d08de7..5112f7da79 100755
--- a/ucb/qa/complex/tdoc/CheckContentProvider.java
+++ b/ucb/qa/complex/tdoc/CheckContentProvider.java
@@ -42,20 +42,15 @@ import com.sun.star.ucb.XContentIdentifier;
import com.sun.star.ucb.XContentIdentifierFactory;
import com.sun.star.ucb.XContentProvider;
import com.sun.star.uno.UnoRuntime;
-import complexlib.ComplexTestCase;
-import complex.tdoc.interfaces._XChild;
-import complex.tdoc.interfaces._XCommandInfoChangeNotifier;
-import complex.tdoc.interfaces._XComponent;
-import complex.tdoc.interfaces._XServiceInfo;
-import complex.tdoc.interfaces._XTypeProvider;
-import complex.tdoc.interfaces._XCommandProcessor;
-import complex.tdoc.interfaces._XContent;
-import complex.tdoc.interfaces._XPropertiesChangeNotifier;
-import complex.tdoc.interfaces._XPropertyContainer;
-import complex.tdoc.interfaces._XPropertySetInfoChangeNotifier;
-import lib.TestEnvironment;
import util.WriterTools;
-import util.utils;
+
+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.*;
/**
* Check the TransientDocumentsContentProvider (TDOC). Three documents are
@@ -66,7 +61,7 @@ import util.utils;
* with an accept parameter (writer is initially opened). Otherwise loaded
* documents are not found.
*/
-public class CheckContentProvider extends ComplexTestCase {
+public class CheckContentProvider {
private final String testDocuments[] = new String[]{"filter.sxw", "chinese.sxw", "Iterator.sxw"};
private final int countDocs = testDocuments.length;
private XMultiServiceFactory xMSF = null;
@@ -89,37 +84,38 @@ public class CheckContentProvider extends ComplexTestCase {
* Important is, that the test of the element comes first, then the test of
* its interfaces.
**/
- public String[] getTestMethodNames() {
- return new String[]{"checkTDOCRoot",
- "checkTDOCRootInterfaces",
- "checkTDOCDocument",
- "checkTDOCDocumentInterfaces",
- "checkTDOCFolder",
- "checkTDOCFolderInterfaces",
- "checkTDOCStream",
- "checkTDOCStreamInterfaces",
- };
- }
+// public String[] getTestMethodNames() {
+// return new String[]{"checkTDOCRoot",
+// "checkTDOCRootInterfaces",
+// "checkTDOCDocument",
+// "checkTDOCDocumentInterfaces",
+// "checkTDOCFolder",
+// "checkTDOCFolderInterfaces",
+// "checkTDOCStream",
+// "checkTDOCStreamInterfaces",
+// };
+// }
/**
* Open some documents before the test
*/
- public void before() {
- xMSF = (XMultiServiceFactory)param.getMSF();
+ @Before public void before() {
+ xMSF = getMSF();
xTextDoc = new XTextDocument[countDocs];
- log.println("Open some new documents.");
+ System.out.println("Open some new documents.");
for (int i=0; i<countDocs; i++) {
- String fileName = utils.getFullTestURL(testDocuments[i]);
+ String fileName = TestDocument.getUrl(testDocuments[i]);
System.out.println("Doc " + i + ": " + fileName);
xTextDoc[i] = WriterTools.loadTextDoc(xMSF, fileName);
+ assertNotNull("Can't load document " + fileName, xTextDoc[i]);
}
}
/**
* Close the documents
*/
- public void after() {
- log.println("Close all documents.");
+ @After public void after() {
+ System.out.println("Close all documents.");
for (int i=0; i<countDocs; i++) {
xTextDoc[i].dispose();
}
@@ -128,18 +124,16 @@ public class CheckContentProvider extends ComplexTestCase {
/**
* Check the tdcp root.
*/
- public void checkTDOCRoot() {
+ @Test public void checkTDOCRoot() {
try {
// create a content provider
Object o = xMSF.createInstance("com.sun.star.comp.ucb.TransientDocumentsContentProvider");
XContentProvider xContentProvider =
- (XContentProvider)UnoRuntime.queryInterface(XContentProvider.class, o);
+ UnoRuntime.queryInterface(XContentProvider.class, o);
// create the ucb
XContentIdentifierFactory xContentIdentifierFactory =
- (XContentIdentifierFactory)UnoRuntime.queryInterface(
- XContentIdentifierFactory.class, xMSF.createInstance(
- "com.sun.star.ucb.UniversalContentBroker"));
+ UnoRuntime.queryInterface(XContentIdentifierFactory.class, xMSF.createInstance("com.sun.star.ucb.UniversalContentBroker"));
// create a content identifier from the ucb for tdoc
XContentIdentifier xContentIdentifier =
xContentIdentifierFactory.createContentIdentifier("vnd.sun.star.tdoc:/");
@@ -147,7 +141,7 @@ public class CheckContentProvider extends ComplexTestCase {
xContent = xContentProvider.queryContent(xContentIdentifier);
String content = xContent.getContentType();
- log.println("#### Content root: " + content);
+ System.out.println("#### Content root: " + content);
// try to get some documents: should be "countDocs" at least.
XContentIdentifier[] xContentId = new XContentIdentifier[countDocs+5];
@@ -160,66 +154,68 @@ public class CheckContentProvider extends ComplexTestCase {
int returnVal = xContentProvider.compareContentIds(xContentId[i], xContentIdentifier);
String cont = null;
if (xCont[i] != null)
+ {
cont = xCont[i].getContentType();
- log.println("Document Content " + i + ": " + cont + " compare with root: " + returnVal);
+ }
+ System.out.println("Document Content " + i + ": " + cont + " compare with root: " + returnVal);
xContentId[i] = xContentIdentifierFactory.createContentIdentifier("vnd.sun.star.tdoc:/" + i + "/content.xml");
// get content
xCont[i] = xContentProvider.queryContent(xContentId[i]);
cont = null;
if (xCont[i] != null)
+ {
cont = xCont[i].getContentType();
- log.println("\tContent.xml Content " + i + ": " + cont);
+ }
+ System.out.println("\tContent.xml Content " + i + ": " + cont);
}
util.dbg.printInterfaces(xContent);
}
catch(Exception e) {
- e.printStackTrace((java.io.PrintWriter)log);
- failed("Unexpected Exception: " + e.getMessage());
+ e.printStackTrace();
+ fail("Unexpected Exception: " + e.getMessage());
}
}
/**
* Check the interfaces of the root.
*/
- public void checkTDOCRootInterfaces() {
+ @Test public void checkTDOCRootInterfaces() {
checkInterfaces(false);
}
/**
* Check the tdcp document: document 3 is used.
*/
- public void checkTDOCDocument() {
+ @Test public void checkTDOCDocument() {
try {
xContent = null;
Object o = xMSF.createInstance("com.sun.star.comp.ucb.TransientDocumentsContentProvider");
XContentProvider xContentProvider =
- (XContentProvider)UnoRuntime.queryInterface(XContentProvider.class, o);
+ UnoRuntime.queryInterface(XContentProvider.class, o);
// create the ucb
XContentIdentifierFactory xContentIdentifierFactory =
- (XContentIdentifierFactory)UnoRuntime.queryInterface(
- XContentIdentifierFactory.class, xMSF.createInstance(
- "com.sun.star.ucb.UniversalContentBroker"));
+ UnoRuntime.queryInterface(XContentIdentifierFactory.class, xMSF.createInstance("com.sun.star.ucb.UniversalContentBroker"));
// create a content identifier from the ucb for tdoc
XContentIdentifier xContentIdentifier =
xContentIdentifierFactory.createContentIdentifier("vnd.sun.star.tdoc:/3");
// get content
xContent = xContentProvider.queryContent(xContentIdentifier);
-
+ // assertNotNull(xContent);
String content = xContent.getContentType();
- log.println("#### Document root: " + content);
+ System.out.println("#### Document root: " + content);
}
catch(Exception e) {
- e.printStackTrace((java.io.PrintWriter)log);
- failed("Unexpected Exception: " + e.getMessage());
+ e.printStackTrace();
+ fail("Unexpected Exception: " + e.getMessage());
}
}
/**
* Check the interfaces on the document.
*/
- public void checkTDOCDocumentInterfaces() {
+ @Test public void checkTDOCDocumentInterfaces() {
checkInterfaces(true);
}
@@ -227,17 +223,15 @@ public class CheckContentProvider extends ComplexTestCase {
* Check a folder on document 2 (document 2 contains an embedded picture and
* therefore contans a subfolder "Pictures"
*/
- public void checkTDOCFolder() {
+ @Test public void checkTDOCFolder() {
try {
xContent = null;
Object o = xMSF.createInstance("com.sun.star.comp.ucb.TransientDocumentsContentProvider");
XContentProvider xContentProvider =
- (XContentProvider)UnoRuntime.queryInterface(XContentProvider.class, o);
+ UnoRuntime.queryInterface(XContentProvider.class, o);
// create the ucb
XContentIdentifierFactory xContentIdentifierFactory =
- (XContentIdentifierFactory)UnoRuntime.queryInterface(
- XContentIdentifierFactory.class, xMSF.createInstance(
- "com.sun.star.ucb.UniversalContentBroker"));
+ UnoRuntime.queryInterface(XContentIdentifierFactory.class, xMSF.createInstance("com.sun.star.ucb.UniversalContentBroker"));
// create a content identifier from the ucb for tdoc
XContentIdentifier xContentIdentifier =
xContentIdentifierFactory.createContentIdentifier("vnd.sun.star.tdoc:/2/Pictures");
@@ -245,36 +239,34 @@ public class CheckContentProvider extends ComplexTestCase {
xContent = xContentProvider.queryContent(xContentIdentifier);
String content = xContent.getContentType();
- log.println("#### Folder type: " + content);
+ System.out.println("#### Folder type: " + content);
}
catch(Exception e) {
- e.printStackTrace((java.io.PrintWriter)log);
- failed("Unexpected Exception: " + e.getMessage());
+ e.printStackTrace();
+ fail("Unexpected Exception: " + e.getMessage());
}
}
/**
* Check the interfaces on the folder.
*/
- public void checkTDOCFolderInterfaces() {
+ @Test public void checkTDOCFolderInterfaces() {
checkInterfaces(true);
}
/**
* Open a stream to the embedded picture of document 1.
*/
- public void checkTDOCStream() {
+ @Test public void checkTDOCStream() {
try {
xContent = null;
Object o = xMSF.createInstance("com.sun.star.comp.ucb.TransientDocumentsContentProvider");
XContentProvider xContentProvider =
- (XContentProvider)UnoRuntime.queryInterface(XContentProvider.class, o);
+ UnoRuntime.queryInterface(XContentProvider.class, o);
// create the ucb
XContentIdentifierFactory xContentIdentifierFactory =
- (XContentIdentifierFactory)UnoRuntime.queryInterface(
- XContentIdentifierFactory.class, xMSF.createInstance(
- "com.sun.star.ucb.UniversalContentBroker"));
+ UnoRuntime.queryInterface(XContentIdentifierFactory.class, xMSF.createInstance("com.sun.star.ucb.UniversalContentBroker"));
// create a content identifier from the ucb for tdoc
XContentIdentifier xContentIdentifier =
xContentIdentifierFactory.createContentIdentifier("vnd.sun.star.tdoc:/1/Pictures/10000000000000640000004B9C743800.gif");
@@ -282,18 +274,18 @@ public class CheckContentProvider extends ComplexTestCase {
xContent = xContentProvider.queryContent(xContentIdentifier);
String content = xContent.getContentType();
- log.println("#### Folder type: " + content);
+ System.out.println("#### Folder type: " + content);
}
catch(Exception e) {
- e.printStackTrace((java.io.PrintWriter)log);
- failed("Unexpected Exception: " + e.getMessage());
+ e.printStackTrace();
+ fail("Unexpected Exception: " + e.getMessage());
}
}
/**
* Check the interfaces on the stream.
*/
- public void checkTDOCStreamInterfaces() {
+ @Test public void checkTDOCStreamInterfaces() {
checkInterfaces(true);
}
@@ -319,80 +311,105 @@ public class CheckContentProvider extends ComplexTestCase {
private void checkInterfaces(boolean hasParent) {
// check the XTypeProvider interface
_XTypeProvider xTypeProvider = new _XTypeProvider();
- xTypeProvider.oObj = (XTypeProvider)UnoRuntime.queryInterface(XTypeProvider.class, xContent);
- xTypeProvider.log = log;
- assure("getImplementationId()", xTypeProvider._getImplementationId());
- assure("getTypes()", xTypeProvider._getTypes());
+ xTypeProvider.oObj = UnoRuntime.queryInterface(XTypeProvider.class, xContent);
+ // xTypeProvider.log = log;
+ assertNotNull("getImplementationId()", xTypeProvider._getImplementationId());
+ assertNotNull("getTypes()", xTypeProvider._getTypes());
// check the XSewrviceInfo interface
_XServiceInfo xServiceInfo = new _XServiceInfo();
- xServiceInfo.oObj = (XServiceInfo)UnoRuntime.queryInterface(XServiceInfo.class, xContent);
- xServiceInfo.log = log;
- assure("getImplementationName()", xServiceInfo._getImplementationName());
- assure("getSupportedServiceNames()", xServiceInfo._getSupportedServiceNames());
- assure("supportsService()", xServiceInfo._supportsService());
+ xServiceInfo.oObj = UnoRuntime.queryInterface(XServiceInfo.class, xContent);
+ // xServiceInfo.log = log;
+ assertNotNull("getImplementationName()", xServiceInfo._getImplementationName());
+ assertNotNull("getSupportedServiceNames()", xServiceInfo._getSupportedServiceNames());
+ assertNotNull("supportsService()", xServiceInfo._supportsService());
// check the XCommandProcessor interface
_XCommandProcessor xCommandProcessor = new _XCommandProcessor();
- xCommandProcessor.oObj = (XCommandProcessor)UnoRuntime.queryInterface(XCommandProcessor.class, xContent);
- xCommandProcessor.log = log;
- xCommandProcessor.before((XMultiServiceFactory)param.getMSF());
- assure("createCommandIdentifier()", xCommandProcessor._createCommandIdentifier());
- assure("execute()", xCommandProcessor._execute());
- assure("abort()", xCommandProcessor._abort());
+ xCommandProcessor.oObj = UnoRuntime.queryInterface(XCommandProcessor.class, xContent);
+ // xCommandProcessor.log = log;
+ xCommandProcessor.before(getMSF());
+ assertNotNull("createCommandIdentifier()", xCommandProcessor._createCommandIdentifier());
+ assertNotNull("execute()", xCommandProcessor._execute());
+ assertNotNull("abort()", xCommandProcessor._abort());
// check the XChild interface
_XChild xChild = new _XChild();
- xChild.oObj = (XChild)UnoRuntime.queryInterface(XChild.class, xContent);
- xChild.log = log;
+ xChild.oObj = UnoRuntime.queryInterface(XChild.class, xContent);
+ // xChild.log = log;
// hasParent dermines, if this content has a parent
- assure("getParent()", xChild._getParent(hasParent));
+ assertNotNull("getParent()", xChild._getParent(hasParent));
// parameter does dermine, if this funczion is supported: generally not supported with tdcp content
- assure("setParent()", xChild._setParent(false));
+ assertNotNull("setParent()", xChild._setParent(false));
// check the XPropertyChangeNotifier interface
_XPropertiesChangeNotifier xPropChange = new _XPropertiesChangeNotifier();
- xPropChange.oObj = (XPropertiesChangeNotifier)UnoRuntime.queryInterface(XPropertiesChangeNotifier.class, xContent);
- xPropChange.log = log;
- assure("addPropertiesChangeListener()", xPropChange._addPropertiesChangeListener());
- assure("removePropertiesChangeListener()", xPropChange._removePropertiesChangeListener());
+ xPropChange.oObj = UnoRuntime.queryInterface(XPropertiesChangeNotifier.class, xContent);
+ // xPropChange.log = log;
+ assertNotNull("addPropertiesChangeListener()", xPropChange._addPropertiesChangeListener());
+ assertNotNull("removePropertiesChangeListener()", xPropChange._removePropertiesChangeListener());
// check the XPropertySetInfoChangeNotifier interface
_XPropertySetInfoChangeNotifier xPropSetInfo = new _XPropertySetInfoChangeNotifier();
- xPropSetInfo.oObj = (XPropertySetInfoChangeNotifier)UnoRuntime.queryInterface(XPropertySetInfoChangeNotifier.class, xContent);
- xPropSetInfo.log = log;
- assure("addPropertiesChangeListener()", xPropSetInfo._addPropertiesChangeListener());
- assure("removePropertiesChangeListener()", xPropSetInfo._removePropertiesChangeListener());
+ xPropSetInfo.oObj = UnoRuntime.queryInterface(XPropertySetInfoChangeNotifier.class, xContent);
+ // xPropSetInfo.log = log;
+ assertNotNull("addPropertiesChangeListener()", xPropSetInfo._addPropertiesChangeListener());
+ assertNotNull("removePropertiesChangeListener()", xPropSetInfo._removePropertiesChangeListener());
// check the XCommandInfoChangeNotifier interface
_XCommandInfoChangeNotifier xCommandChange = new _XCommandInfoChangeNotifier();
- xCommandChange.oObj = (XCommandInfoChangeNotifier)UnoRuntime.queryInterface(XCommandInfoChangeNotifier.class, xContent);
- xCommandChange.log = log;
- assure("addCommandInfoChangeListener()", xCommandChange._addCommandInfoChangeListener());
- assure("removeCommandInfoChangeListener()", xCommandChange._removeCommandInfoChangeListener());
+ xCommandChange.oObj = UnoRuntime.queryInterface(XCommandInfoChangeNotifier.class, xContent);
+ // xCommandChange.log = log;
+ assertNotNull("addCommandInfoChangeListener()", xCommandChange._addCommandInfoChangeListener());
+ assertNotNull("removeCommandInfoChangeListener()", xCommandChange._removeCommandInfoChangeListener());
// check the XContent interface
_XContent xCont = new _XContent();
- xCont.oObj = (XContent)UnoRuntime.queryInterface(XContent.class, xContent);
- xCont.log = log;
- assure("addContentEventListener()", xCont._addContentEventListener());
- assure("getContentType()", xCont._getContentType());
- assure("getIdentifier()", xCont._getIdentifier());
- assure("removeContentEventListener()", xCont._removeContentEventListener());
+ xCont.oObj = UnoRuntime.queryInterface(XContent.class, xContent);
+ // xCont.log = log;
+ assertNotNull("addContentEventListener()", xCont._addContentEventListener());
+ assertNotNull("getContentType()", xCont._getContentType());
+ assertNotNull("getIdentifier()", xCont._getIdentifier());
+ assertNotNull("removeContentEventListener()", xCont._removeContentEventListener());
// check the XPropertyContainer interface
_XPropertyContainer xPropCont = new _XPropertyContainer();
- xPropCont.oObj = (XPropertyContainer)UnoRuntime.queryInterface(XPropertyContainer.class, xContent);
- xPropCont.log = log;
- assure("addProperty()", xPropCont._addProperty());
- assure("removeProperty()", xPropCont._removeProperty());
+ xPropCont.oObj = UnoRuntime.queryInterface(XPropertyContainer.class, xContent);
+ // xPropCont.log = log;
+ assertNotNull("addProperty()", xPropCont._addProperty());
+ assertNotNull("removeProperty()", xPropCont._removeProperty());
// check the XComponent interface
_XComponent xComponent = new _XComponent();
- xComponent.oObj = (XComponent)UnoRuntime.queryInterface(XComponent.class, xContent);
- xComponent.log = log;
- assure("addEventListener()", xComponent._addEventListener());
- assure("removeEventListener()", xComponent._removeEventListener());
+ xComponent.oObj = UnoRuntime.queryInterface(XComponent.class, xContent);
+ // xComponent.log = log;
+ assertNotNull("addEventListener()", xComponent._addEventListener());
+ assertNotNull("removeEventListener()", xComponent._removeEventListener());
// assure("dispose()", xComponent._dispose());
}
+
+
+
+
+ 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/ucb/qa/complex/tdoc/CheckTransientDocumentsContent.java b/ucb/qa/complex/tdoc/CheckTransientDocumentsContent.java
index 9d244af245..203cfbe996 100755
--- a/ucb/qa/complex/tdoc/CheckTransientDocumentsContent.java
+++ b/ucb/qa/complex/tdoc/CheckTransientDocumentsContent.java
@@ -30,28 +30,28 @@ import com.sun.star.beans.Property;
import com.sun.star.beans.XPropertySetInfo;
import com.sun.star.frame.XModel;
import com.sun.star.lang.XMultiServiceFactory;
-import com.sun.star.lang.XServiceInfo;
-import com.sun.star.sdbc.XResultSet;
import com.sun.star.text.XTextDocument;
import com.sun.star.ucb.Command;
-import com.sun.star.ucb.OpenCommandArgument2;
-import com.sun.star.ucb.OpenMode;
import com.sun.star.ucb.XCommandProcessor;
import com.sun.star.ucb.XContent;
-import com.sun.star.ucb.XContentAccess;
import com.sun.star.ucb.XContentIdentifier;
import com.sun.star.ucb.XContentIdentifierFactory;
import com.sun.star.ucb.XContentProvider;
-import com.sun.star.ucb.XDynamicResultSet;
import com.sun.star.uno.UnoRuntime;
-import complexlib.ComplexTestCase;
import util.WriterTools;
-import util.utils;
+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 CheckTransientDocumentsContent extends ComplexTestCase{
+public class CheckTransientDocumentsContent {
+ // TODO: document doesn't exists
private final String testDocuments[] = new String[]{"sForm.sxw"};//, "chinese.sxw", "Iterator.sxw"};
private final int countDocs = testDocuments.length;
private XMultiServiceFactory xMSF = null;
@@ -61,17 +61,18 @@ public class CheckTransientDocumentsContent extends ComplexTestCase{
return new String[] {"checkTransientDocumentsContent"};
}
- public void before() {
- xMSF = (XMultiServiceFactory)param.getMSF();
+ @Before public void before() {
+ xMSF = getMSF();
xTextDoc = new XTextDocument[countDocs];
- log.println("Open some documents.");
+ System.out.println("Open some documents.");
for (int i=0; i<countDocs; i++) {
- String fileName = utils.getFullTestURL(testDocuments[i]);
+ String fileName = TestDocument.getUrl(testDocuments[i]);
xTextDoc[i] = WriterTools.loadTextDoc(xMSF, fileName);
+ assertNotNull("Can't load document " + fileName, xTextDoc[i]);
}
}
- public void after() {
- log.println("Close all documents.");
+ @After public void after() {
+ System.out.println("Close all