sw/qa/inc/swmodeltestbase.hxx | 17 ++++++++++++++++- sw/qa/unit/swmodeltestbase.cxx | 24 +++++++++++++++++++++--- 2 files changed, 37 insertions(+), 4 deletions(-)
New commits: commit bd769805180c9b0aadca5301e29161c2d84fbe64 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Fri Mar 25 14:01:47 2022 +0000 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Fri Mar 25 16:35:55 2022 +0100 add support to explicitly test swriter/sweb layout Change-Id: Ib47526d35428a95b081c88011d733397339f288d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132121 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/sw/qa/inc/swmodeltestbase.hxx b/sw/qa/inc/swmodeltestbase.hxx index 329a9a60b4d8..15980cdfda84 100644 --- a/sw/qa/inc/swmodeltestbase.hxx +++ b/sw/qa/inc/swmodeltestbase.hxx @@ -308,11 +308,20 @@ protected: void load(std::u16string_view pDir, const char* pName, const char* pPassword = nullptr) { - return loadURL(m_directories.getURLFromSrc(pDir) + OUString::createFromAscii(pName), pName, pPassword); + return loadURLWithComponent(m_directories.getURLFromSrc(pDir) + OUString::createFromAscii(pName), + "com.sun.star.text.TextDocument", pName, pPassword); + } + + void load_web(std::u16string_view pDir, const char* pName, const char* pPassword = nullptr) + { + return loadURLWithComponent(m_directories.getURLFromSrc(pDir) + OUString::createFromAscii(pName), + "com.sun.star.text.WebDocument", pName, pPassword); } void setTestInteractionHandler(const char* pPassword, std::vector<beans::PropertyValue>& rFilterOptions); + void loadURLWithComponent(OUString const& rURL, OUString const& rComponent, const char* pName, const char* pPassword); + void loadURL(OUString const& rURL, const char* pName, const char* pPassword = nullptr); void reload(const char* pFilter, const char* filename, const char* pPassword = nullptr); @@ -367,6 +376,12 @@ protected: */ SwDoc* createSwDoc( std::u16string_view rDataDirectory = std::u16string_view(), const char* pName = nullptr); + + /** + * As createSwDoc except a Web Document in Browse Mode + */ + SwDoc* createSwWebDoc( + std::u16string_view rDataDirectory = std::u16string_view(), const char* pName = nullptr); }; /** diff --git a/sw/qa/unit/swmodeltestbase.cxx b/sw/qa/unit/swmodeltestbase.cxx index e1b28153110f..ad4ff03d5479 100644 --- a/sw/qa/unit/swmodeltestbase.cxx +++ b/sw/qa/unit/swmodeltestbase.cxx @@ -480,7 +480,8 @@ void SwModelTestBase::setTestInteractionHandler(const char* pPassword, void SwModelTestBase::header() {} -void SwModelTestBase::loadURL(OUString const& rURL, const char* pName, const char* pPassword) +void SwModelTestBase::loadURLWithComponent(OUString const& rURL, OUString const& rComponent, + const char* pName, const char* pPassword) { if (mxComponent.is()) mxComponent->dispose(); @@ -512,8 +513,8 @@ void SwModelTestBase::loadURL(OUString const& rURL, const char* pName, const cha if (pName) std::cout << pName << ":\n"; mnStartTime = osl_getGlobalTimer(); - mxComponent = loadFromDesktop(rURL, "com.sun.star.text.TextDocument", - comphelper::containerToSequence(aFilterOptions)); + mxComponent + = loadFromDesktop(rURL, rComponent, comphelper::containerToSequence(aFilterOptions)); if (pPassword) { @@ -526,6 +527,11 @@ void SwModelTestBase::loadURL(OUString const& rURL, const char* pName, const cha calcLayout(); } +void SwModelTestBase::loadURL(OUString const& rURL, const char* pName, const char* pPassword) +{ + loadURLWithComponent(rURL, "com.sun.star.text.TextDocument", pName, pPassword); +} + void SwModelTestBase::reload(const char* pFilter, const char* filename, const char* pPassword) { uno::Reference<frame::XStorable> xStorable(mxComponent, uno::UNO_QUERY); @@ -729,4 +735,16 @@ SwDoc* SwModelTestBase::createSwDoc(std::u16string_view rDataDirectory, const ch return pTextDoc->GetDocShell()->GetDoc(); } +SwDoc* SwModelTestBase::createSwWebDoc(std::u16string_view rDataDirectory, const char* pName) +{ + if (rDataDirectory.empty() || !pName) + loadURL("private:factory/swriter/web", nullptr); + else + load_web(rDataDirectory, pName); + + SwXTextDocument* pTextDoc = dynamic_cast<SwXTextDocument*>(mxComponent.get()); + CPPUNIT_ASSERT(pTextDoc); + return pTextDoc->GetDocShell()->GetDoc(); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */