diff options
author | Xisco Fauli <xiscofauli@libreoffice.org> | 2022-10-20 14:54:44 +0200 |
---|---|---|
committer | Xisco Fauli <xiscofauli@libreoffice.org> | 2022-10-20 19:59:29 +0200 |
commit | 4856b94ae1d851546b2a95622f78af8b1be798a6 (patch) | |
tree | 51ee9ada6e5631d9079c58f4aa86b0ef6d2a011e /sc | |
parent | b814c51ef7642f1a54294f945465e7d657533b4e (diff) |
CalcUnoApiTest: factor out common code
Change-Id: I1a56f152d6c6e6bca55ef20d0d52da2d82b77a8f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141565
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Diffstat (limited to 'sc')
-rw-r--r-- | sc/qa/extras/macros-test.cxx | 22 | ||||
-rw-r--r-- | sc/qa/unit/scshapetest.cxx | 15 | ||||
-rw-r--r-- | sc/qa/unit/uicalc/uicalc.cxx | 57 |
3 files changed, 17 insertions, 77 deletions
diff --git a/sc/qa/extras/macros-test.cxx b/sc/qa/extras/macros-test.cxx index 2df09b8626af..c14490473124 100644 --- a/sc/qa/extras/macros-test.cxx +++ b/sc/qa/extras/macros-test.cxx @@ -41,7 +41,6 @@ protected: void registerNamespaces(xmlXPathContextPtr& pXmlXPathCtx) override; public: ScMacrosTest(); - void saveAndReload(const OUString& rFilter); void testStarBasic(); void testMSP(); @@ -118,19 +117,6 @@ void ScMacrosTest::registerNamespaces(xmlXPathContextPtr& pXmlXPathCtx) XmlTestTools::registerODFNamespaces(pXmlXPathCtx); } -void ScMacrosTest::saveAndReload(const OUString& rFilter) -{ - utl::TempFileNamed aTempFile; - aTempFile.EnableKillingFile(); - css::uno::Sequence aArgs{ comphelper::makePropertyValue("FilterName", rFilter) }; - css::uno::Reference<css::frame::XStorable> xStorable(mxComponent, css::uno::UNO_QUERY_THROW); - xStorable->storeAsURL(aTempFile.GetURL(), aArgs); - css::uno::Reference<css::util::XCloseable> xCloseable(mxComponent, css::uno::UNO_QUERY_THROW); - xCloseable->close(true); - - mxComponent = loadFromDesktop(aTempFile.GetURL(), "com.sun.star.sheet.SpreadsheetDocument"); -} - // I suppose you could say this test doesn't really belong here, OTOH // we need a full document to run the test ( it related originally to an // imported Excel VBA macro ) It's convenient and fast to unit test @@ -267,13 +253,7 @@ void ScMacrosTest::testMacroButtonFormControlXlsxExport() mxComponent = loadFromDesktop(aFileName, "com.sun.star.sheet.SpreadsheetDocument"); // When exporting to XLSM: - uno::Reference<frame::XStorable> xStorable(mxComponent, uno::UNO_QUERY); - utl::MediaDescriptor aMediaDescriptor; - aMediaDescriptor["FilterName"] <<= OUString("Calc MS Excel 2007 VBA XML"); - auto pTempFile = std::make_shared<utl::TempFileNamed>(); - pTempFile->EnableKillingFile(); - xStorable->storeToURL(pTempFile->GetURL(), aMediaDescriptor.getAsConstPropertyValueList()); - mxComponent->dispose(); + auto pTempFile = std::make_shared<utl::TempFileNamed>(save("Calc MS Excel 2007 VBA XML")); // Then make sure that the macro is associated with the control: xmlDocUniquePtr pSheetDoc = XPathHelper::parseExport(pTempFile, m_xSFactory, "xl/worksheets/sheet1.xml"); diff --git a/sc/qa/unit/scshapetest.cxx b/sc/qa/unit/scshapetest.cxx index 670f956862a0..364209883709 100644 --- a/sc/qa/unit/scshapetest.cxx +++ b/sc/qa/unit/scshapetest.cxx @@ -42,7 +42,6 @@ class ScShapeTest : public CalcUnoApiTest { public: ScShapeTest(); - void saveAndReload(const OUString& rFilter); void testTdf143619_validation_circle_pos(); void testTdf140252_DragCreateFormControl(); void testTdf134355_DragCreateCustomShape(); @@ -103,20 +102,6 @@ ScShapeTest::ScShapeTest() { } -void ScShapeTest::saveAndReload(const OUString& rFilter) -{ - utl::TempFileNamed aTempFile; - aTempFile.EnableKillingFile(); - css::uno::Sequence aArgs{ comphelper::makePropertyValue("FilterName", - rFilter) }; // e.g. "calc8" - css::uno::Reference<css::frame::XStorable> xStorable(mxComponent, css::uno::UNO_QUERY_THROW); - xStorable->storeAsURL(aTempFile.GetURL(), aArgs); - css::uno::Reference<css::util::XCloseable> xCloseable(mxComponent, css::uno::UNO_QUERY_THROW); - xCloseable->close(true); - - mxComponent = loadFromDesktop(aTempFile.GetURL(), "com.sun.star.sheet.SpreadsheetDocument"); -} - static void lcl_AssertRectEqualWithTolerance(std::string_view sInfo, const tools::Rectangle& rExpected, const tools::Rectangle& rActual, diff --git a/sc/qa/unit/uicalc/uicalc.cxx b/sc/qa/unit/uicalc/uicalc.cxx index 992d694a1b60..28c46538030f 100644 --- a/sc/qa/unit/uicalc/uicalc.cxx +++ b/sc/qa/unit/uicalc/uicalc.cxx @@ -11,13 +11,11 @@ #include <LibreOfficeKit/LibreOfficeKitEnums.h> #include <svx/svdpage.hxx> #include <unotools/syslocaleoptions.hxx> -#include <unotools/tempfile.hxx> #include <vcl/keycodes.hxx> #include <vcl/scheduler.hxx> #include <comphelper/processfactory.hxx> #include <comphelper/propertysequence.hxx> -#include <comphelper/propertyvalue.hxx> #include <comphelper/scopeguard.hxx> #include <com/sun/star/awt/Key.hpp> #include <com/sun/star/frame/Desktop.hpp> @@ -26,7 +24,6 @@ #include <conditio.hxx> #include <dbdata.hxx> #include <document.hxx> -#include <docuno.hxx> #include <docsh.hxx> #include <dpobject.hxx> #include <drwlayer.hxx> @@ -44,10 +41,6 @@ class ScUiCalcTest : public CalcUnoApiTest public: ScUiCalcTest(); ScModelObj* createDoc(const char* pName = nullptr); - utl::TempFileNamed save(css::uno::Reference<css::lang::XComponent>& xComponent, - const OUString& rFilter); - ScModelObj* saveAndReload(css::uno::Reference<css::lang::XComponent>& xComponent, - const OUString& rFilter); void goToCell(const OUString& rCell); void typeString(ScModelObj& rModelObj, const std::u16string_view& rStr); void insertStringToCell(ScModelObj& rModelObj, const OUString& rCell, @@ -157,32 +150,6 @@ ScModelObj* ScUiCalcTest::createDoc(const char* pName) return pModelObj; } -utl::TempFileNamed ScUiCalcTest::save(css::uno::Reference<css::lang::XComponent>& xComponent, - const OUString& rFilter) -{ - utl::TempFileNamed aTempFile; - aTempFile.EnableKillingFile(); - css::uno::Sequence aArgs{ comphelper::makePropertyValue("FilterName", rFilter) }; - css::uno::Reference<css::frame::XStorable> xStorable(xComponent, css::uno::UNO_QUERY_THROW); - xStorable->storeAsURL(aTempFile.GetURL(), aArgs); - css::uno::Reference<css::util::XCloseable> xCloseable(xComponent, css::uno::UNO_QUERY_THROW); - xCloseable->close(true); - - return aTempFile; -} - -ScModelObj* ScUiCalcTest::saveAndReload(css::uno::Reference<css::lang::XComponent>& xComponent, - const OUString& rFilter) -{ - utl::TempFileNamed aTempFile = save(xComponent, rFilter); - - mxComponent = loadFromDesktop(aTempFile.GetURL(), "com.sun.star.sheet.SpreadsheetDocument"); - - ScModelObj* pModelObj = dynamic_cast<ScModelObj*>(mxComponent.get()); - CPPUNIT_ASSERT(pModelObj); - return pModelObj; -} - CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf100847) { ScModelObj* pModelObj = createDoc(); @@ -190,7 +157,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf100847) CPPUNIT_ASSERT(pDoc); // Save the document - utl::TempFileNamed aTempFile = save(mxComponent, "calc8"); + utl::TempFileNamed aTempFile = save("calc8"); // Open a new document mxComponent = loadFromDesktop("private:factory/scalc"); @@ -223,7 +190,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testExternalReferences) insertStringToCell(*pModelObj, "D3", u"FISHY"); // Save the document - utl::TempFileNamed aTempFile = save(mxComponent, "calc8"); + utl::TempFileNamed aTempFile = save("calc8"); // Open a new document mxComponent = loadFromDesktop("private:factory/scalc"); @@ -329,7 +296,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf103994) insertStringToCell(*pModelObj, "B1", u"2"); // Save the document - utl::TempFileNamed aTempFile = save(mxComponent, "calc8"); + utl::TempFileNamed aTempFile = save("calc8"); // Open a new document mxComponent = loadFromDesktop("private:factory/scalc"); @@ -371,7 +338,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf113541) insertStringToCell(*pModelObj, "A1", u"50"); // Save the document - utl::TempFileNamed aTempFile = save(mxComponent, "calc8"); + utl::TempFileNamed aTempFile = save("calc8"); // Open a new document mxComponent = loadFromDesktop("private:factory/scalc"); @@ -797,7 +764,9 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf124820) dispatchCommand(mxComponent, ".uno:Strikeout", {}); Scheduler::ProcessEventsToIdle(); - pModelObj = saveAndReload(mxComponent, "Calc Office Open XML"); + saveAndReload("Calc Office Open XML"); + pModelObj = dynamic_cast<ScModelObj*>(mxComponent.get()); + CPPUNIT_ASSERT(pModelObj); pDoc = pModelObj->GetDocument(); CPPUNIT_ASSERT(pDoc); @@ -967,7 +936,9 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf143896) CPPUNIT_ASSERT_EQUAL(OUString("Test"), pDoc->GetString(ScAddress(0, 1999, 0))); - pModelObj = saveAndReload(mxComponent, "Calc Office Open XML"); + saveAndReload("Calc Office Open XML"); + pModelObj = dynamic_cast<ScModelObj*>(mxComponent.get()); + CPPUNIT_ASSERT(pModelObj); pDoc = pModelObj->GetDocument(); CPPUNIT_ASSERT(pDoc); @@ -1029,7 +1000,9 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf144244) CPPUNIT_ASSERT_EQUAL(OUString("x"), pDoc->GetString(ScAddress(0, 0, 0))); // Without the fix in place, this test would have crashed - pModelObj = saveAndReload(mxComponent, "calc8"); + saveAndReload("calc8"); + pModelObj = dynamic_cast<ScModelObj*>(mxComponent.get()); + CPPUNIT_ASSERT(pModelObj); pDoc = pModelObj->GetDocument(); CPPUNIT_ASSERT(pDoc); @@ -1060,7 +1033,9 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf100582) dispatchCommand(mxComponent, ".uno:Paste", {}); - pModelObj = saveAndReload(mxComponent, "MS Excel 97"); + saveAndReload("MS Excel 97"); + pModelObj = dynamic_cast<ScModelObj*>(mxComponent.get()); + CPPUNIT_ASSERT(pModelObj); pDoc = pModelObj->GetDocument(); CPPUNIT_ASSERT(pDoc); |