sw/qa/inc/swmodeltestbase.hxx | 17 ++++++++++++++++- sw/qa/unit/swmodeltestbase.cxx | 24 +++++++++++++++++++++--- 2 files changed, 37 insertions(+), 4 deletions(-)
New commits: commit de78f7460483d6d25f14c168d9648174b2a4cc30 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Fri Mar 25 14:01:47 2022 +0000 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Wed Mar 30 14:52:20 2022 +0200 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> (cherry picked from commit bd769805180c9b0aadca5301e29161c2d84fbe64) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132182 diff --git a/sw/qa/inc/swmodeltestbase.hxx b/sw/qa/inc/swmodeltestbase.hxx index 65b673789a78..7a9ac5dcc8a2 100644 --- a/sw/qa/inc/swmodeltestbase.hxx +++ b/sw/qa/inc/swmodeltestbase.hxx @@ -325,11 +325,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); @@ -384,6 +393,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 ee35a1cc7259..709a7a1a4de1 100644 --- a/sw/qa/unit/swmodeltestbase.cxx +++ b/sw/qa/unit/swmodeltestbase.cxx @@ -478,7 +478,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(); @@ -510,8 +511,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) { @@ -524,6 +525,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); @@ -727,4 +733,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: */