diff options
Diffstat (limited to 'sw')
-rw-r--r-- | sw/CppunitTest_sw_dialogs_test.mk | 1 | ||||
-rw-r--r-- | sw/qa/unit/sw-dialogs-test.cxx | 26 |
2 files changed, 27 insertions, 0 deletions
diff --git a/sw/CppunitTest_sw_dialogs_test.mk b/sw/CppunitTest_sw_dialogs_test.mk index 7d98a2bb8839..3bb3ac2b2b21 100644 --- a/sw/CppunitTest_sw_dialogs_test.mk +++ b/sw/CppunitTest_sw_dialogs_test.mk @@ -20,6 +20,7 @@ $(eval $(call gb_CppunitTest_use_sdk_api,sw_dialogs_test)) $(eval $(call gb_CppunitTest_set_include,sw_dialogs_test,\ -I$(SRCDIR)/sw/source/ui/inc \ -I$(SRCDIR)/sw/inc \ + -I$(SRCDIR)/sw/source/uibase/inc \ $$(INCLUDE) \ )) diff --git a/sw/qa/unit/sw-dialogs-test.cxx b/sw/qa/unit/sw-dialogs-test.cxx index 132bd17a6037..74acd8cc304c 100644 --- a/sw/qa/unit/sw-dialogs-test.cxx +++ b/sw/qa/unit/sw-dialogs-test.cxx @@ -9,17 +9,25 @@ #include <sal/config.h> #include <test/screenshot_test.hxx> +#include <rtl/bootstrap.hxx> #include <rtl/strbuf.hxx> #include <osl/file.hxx> #include <sfx2/app.hxx> #include <vcl/abstdlg.hxx> +#include <swabstdlg.hxx> + using namespace ::com::sun::star; +extern "C" { using Fn = SwAbstractDialogFactory * (*)(); } + // sw/source/ui/dialog/swuiexp.cxx + /// Test opening a dialog in sw class SwDialogsTest : public ScreenshotTest { private: + osl::Module libSwui_; + /// helper method to populate KnownDialogs, called in setUp(). Needs to be /// written and has to add entries to KnownDialogs virtual void registerKnownDialogsByID(mapType& rKnownDialogs) override; @@ -32,6 +40,8 @@ public: SwDialogsTest(); virtual ~SwDialogsTest() override; + void setUp() override; + // try to open a dialog void openAnyDialog(); @@ -48,6 +58,22 @@ SwDialogsTest::~SwDialogsTest() { } +void SwDialogsTest::setUp() +{ + ScreenshotTest::setUp(); + // Make sure the swui library's global pSwResMgr is initialized + // (alternatively to dynamically loading the library, SwCreateDialogFactory + // could be declared in an include file and this CppunitTest link against + // the swui library): + OUString url("${LO_LIB_DIR}/" SVLIBRARY("swui")); + rtl::Bootstrap::expandMacros(url); //TODO: detect failure + CPPUNIT_ASSERT(libSwui_.load(url, SAL_LOADMODULE_GLOBAL)); + auto fn = reinterpret_cast<Fn>( + libSwui_.getFunctionSymbol("SwCreateDialogFactory")); + CPPUNIT_ASSERT(fn != nullptr); + (*fn)(); +} + void SwDialogsTest::registerKnownDialogsByID(mapType& /*rKnownDialogs*/) { // fill map of known dialogs |