summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sc/qa/unit/macros-test.cxx37
-rw-r--r--unotest/inc/unotest/macros_test.hxx54
-rw-r--r--unotest/prj/d.lst1
-rw-r--r--unotest/source/cpp/macros_test.cxx60
-rw-r--r--unotest/source/cpp/makefile.mk1
5 files changed, 120 insertions, 33 deletions
diff --git a/sc/qa/unit/macros-test.cxx b/sc/qa/unit/macros-test.cxx
index 207c939283e3..969978a9d6ee 100644
--- a/sc/qa/unit/macros-test.cxx
+++ b/sc/qa/unit/macros-test.cxx
@@ -29,17 +29,11 @@
*/
#include <sal/config.h>
-#include <unotest/filters-test.hxx>
#include <test/bootstrapfixture.hxx>
+#include <unotest/macros_test.hxx>
#include <rtl/strbuf.hxx>
#include <osl/file.hxx>
-#include <com/sun/star/frame/XDesktop.hpp>
-
-#include <com/sun/star/lang/XComponent.hpp>
-#include <com/sun/star/frame/XComponentLoader.hpp>
-#include <com/sun/star/document/MacroExecMode.hpp>
-
#include <sfx2/app.hxx>
#include <sfx2/docfilt.hxx>
#include <sfx2/docfile.hxx>
@@ -80,13 +74,11 @@ FileFormat aFileFormats[] = {
/* Implementation of Macros test */
-class ScMacrosTest : public test::BootstrapFixture
+class ScMacrosTest : public test::BootstrapFixture, public unotest::MacrosTest
{
public:
ScMacrosTest();
- uno::Reference< com::sun::star::lang::XComponent > loadFromDesktop(const rtl::OUString& rURL);
-
void createFileURL(const rtl::OUString& aFileBase, const rtl::OUString& aFileExtension, rtl::OUString& rFilePath);
virtual void setUp();
@@ -106,27 +98,10 @@ public:
private:
uno::Reference<uno::XInterface> m_xCalcComponent;
- uno::Reference<frame::XDesktop> mxDesktop;
- ::rtl::OUString m_aBaseString;
+ rtl::OUString m_aBaseString;
};
-uno::Reference< com::sun::star::lang::XComponent > ScMacrosTest::loadFromDesktop(const rtl::OUString& rURL)
-{
- uno::Reference< com::sun::star::frame::XComponentLoader> xLoader = uno::Reference< com::sun::star::frame::XComponentLoader >( mxDesktop, UNO_QUERY );
- com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > args(1);
- args[0].Name = rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM("MacroExecutionMode"));
- args[0].Handle = -1;
- args[0].Value <<=
- com::sun::star::document::MacroExecMode::ALWAYS_EXECUTE_NO_WARN;
- args[0].State = com::sun::star::beans::PropertyState_DIRECT_VALUE;
- uno::Reference< com::sun::star::lang::XComponent> xComponent= xLoader->loadComponentFromURL(rURL, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("_default")), 0, args);
- CPPUNIT_ASSERT_MESSAGE("loading failed", xComponent.is());
- return xComponent;
-}
-
-
void ScMacrosTest::createFileURL(const rtl::OUString& aFileBase, const rtl::OUString& aFileExtension, rtl::OUString& rFilePath)
{
rtl::OUString aSep(RTL_CONSTASCII_USTRINGPARAM("/"));
@@ -170,11 +145,7 @@ void ScMacrosTest::testStarBasic()
xDocSh->DoClose();
}
-struct TestMacroInfo
-{
- rtl::OUString sFileBaseName;
- rtl::OUString sMacroUrl;
-};
+
void ScMacrosTest::testVba()
{
TestMacroInfo testInfo[] = {
diff --git a/unotest/inc/unotest/macros_test.hxx b/unotest/inc/unotest/macros_test.hxx
new file mode 100644
index 000000000000..e95705f4f64b
--- /dev/null
+++ b/unotest/inc/unotest/macros_test.hxx
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * Major Contributor(s):
+ * Copyright (C) 2011 Markus Mohrhard <markus.mohrhard@googlemail.com> (initial developer)
+ *
+ * All Rights Reserved.
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#include <rtl/ustring.hxx>
+#include "unotest/detail/unotestdllapi.hxx"
+
+#include <com/sun/star/lang/XComponent.hpp>
+#include <com/sun/star/frame/XDesktop.hpp>
+
+struct TestMacroInfo
+{
+ rtl::OUString sFileBaseName;
+ rtl::OUString sMacroUrl;
+};
+
+namespace unotest {
+
+class OOO_DLLPUBLIC_UNOTEST MacrosTest
+{
+public:
+ com::sun::star::uno::Reference< com::sun::star::lang::XComponent > loadFromDesktop(const rtl::OUString& rURL);
+
+protected:
+ com::sun::star::uno::Reference< com::sun::star::frame::XDesktop> mxDesktop;
+};
+
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/unotest/prj/d.lst b/unotest/prj/d.lst
index 37fbe17f5c79..c33349133171 100644
--- a/unotest/prj/d.lst
+++ b/unotest/prj/d.lst
@@ -12,6 +12,7 @@ mkdir: %_DEST%\inc\unotest\detail
..\inc\unotest\detail\unotestdllapi.hxx %_DEST%\inc\unotest\detail\unotestdllapi.hxx
..\inc\unotest\bootstrapfixturebase.hxx %_DEST%\inc\unotest\bootstrapfixturebase.hxx
..\inc\unotest\filters-test.hxx %_DEST%\inc\unotest\filters-test.hxx
+..\inc\unotest\macros_test.hxx %_DEST%\inc\unotest\macros_test.hxx
..\inc\unotest\gettestargument.hxx %_DEST%\inc\unotest\gettestargument.hxx
..\inc\unotest\officeconnection.hxx %_DEST%\inc\unotest\officeconnection.hxx
..\inc\unotest\toabsolutefileurl.hxx %_DEST%\inc\unotest\toabsolutefileurl.hxx
diff --git a/unotest/source/cpp/macros_test.cxx b/unotest/source/cpp/macros_test.cxx
new file mode 100644
index 000000000000..10be894561a8
--- /dev/null
+++ b/unotest/source/cpp/macros_test.cxx
@@ -0,0 +1,60 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * Major Contributor(s):
+ * Copyright (C) 2011 Markus Mohrhard <markus.mohrhard@googlemail.com> (initial developer)
+ *
+ * All Rights Reserved.
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#include "unotest/macros_test.hxx"
+
+#include <com/sun/star/frame/XComponentLoader.hpp>
+#include <com/sun/star/document/MacroExecMode.hpp>
+
+#include <sal/config.h>
+#include "sal/precppunit.hxx"
+#include "cppunit/TestAssert.h"
+#include <rtl/ustrbuf.hxx>
+
+using namespace com::sun::star;
+
+namespace unotest {
+
+uno::Reference< com::sun::star::lang::XComponent > MacrosTest::loadFromDesktop(const rtl::OUString& rURL)
+{
+ uno::Reference< com::sun::star::frame::XComponentLoader> xLoader = uno::Reference< com::sun::star::frame::XComponentLoader >( mxDesktop, uno::UNO_QUERY );
+ com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > args(1);
+ args[0].Name = rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM("MacroExecutionMode"));
+ args[0].Handle = -1;
+ args[0].Value <<=
+ com::sun::star::document::MacroExecMode::ALWAYS_EXECUTE_NO_WARN;
+ args[0].State = com::sun::star::beans::PropertyState_DIRECT_VALUE;
+ uno::Reference< com::sun::star::lang::XComponent> xComponent= xLoader->loadComponentFromURL(rURL, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("_default")), 0, args);
+ CPPUNIT_ASSERT_MESSAGE("loading failed", xComponent.is());
+ return xComponent;
+}
+
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/unotest/source/cpp/makefile.mk b/unotest/source/cpp/makefile.mk
index 928a8b230681..be4fe522fd79 100644
--- a/unotest/source/cpp/makefile.mk
+++ b/unotest/source/cpp/makefile.mk
@@ -42,6 +42,7 @@ SLOFILES = \
$(SLO)/filters-test.obj \
$(SLO)/getargument.obj \
$(SLO)/gettestargument.obj \
+ $(SLO)/macros_test.obj \
$(SLO)/officeconnection.obj \
$(SLO)/toabsolutefileurl.obj \
$(SLO)/uniquepipename.obj