sc/qa/unit/bugfix-test.cxx | 36 ++------ sc/qa/unit/copy_paste_test.cxx | 137 +++------------------------------ sc/qa/unit/helper/qahelper.cxx | 19 ++++ sc/qa/unit/helper/qahelper.hxx | 1 sc/qa/unit/jumbosheets-test.cxx | 41 ++------- sc/qa/unit/subsequent_export_test2.cxx | 50 ++---------- 6 files changed, 65 insertions(+), 219 deletions(-)
New commits: commit aff280d2304688673efa974eab35d8de4c83e9c1 Author: Xisco Fauli <xiscofa...@libreoffice.org> AuthorDate: Wed Feb 23 11:49:22 2022 +0100 Commit: Xisco Fauli <xiscofa...@libreoffice.org> CommitDate: Wed Feb 23 14:59:28 2022 +0100 sc: qa: factor out common code Change-Id: I3a71cdb4b64397403b1a17b9c63c736169581376 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130424 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> diff --git a/sc/qa/unit/bugfix-test.cxx b/sc/qa/unit/bugfix-test.cxx index b5b0c92a800e..3dac5e6df725 100644 --- a/sc/qa/unit/bugfix-test.cxx +++ b/sc/qa/unit/bugfix-test.cxx @@ -374,23 +374,8 @@ void ScFiltersTest::testTdf43534() void ScFiltersTest::testTdf91979() { - uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create(::comphelper::getProcessComponentContext()); - CPPUNIT_ASSERT(xDesktop.is()); - Sequence < beans::PropertyValue > args{ comphelper::makePropertyValue("Hidden", true) }; - - uno::Reference< lang::XComponent > xComponent = xDesktop->loadComponentFromURL( - "private:factory/scalc", - "_blank", - 0, - args); - CPPUNIT_ASSERT(xComponent.is()); - - // Get the document model - SfxObjectShell* pFoundShell = SfxObjectShell::GetShellFromComponent(xComponent); - CPPUNIT_ASSERT_MESSAGE("Failed to access document shell", pFoundShell); - - ScDocShellRef xDocSh = dynamic_cast<ScDocShell*>(pFoundShell); + ScDocShellRef xDocSh = loadEmptyDocument(args); CPPUNIT_ASSERT(xDocSh); // Get the document controller @@ -405,6 +390,8 @@ void ScFiltersTest::testTdf91979() int nRowHeight = ScViewData::ToPixel(rDoc.GetRowHeight(0, 0), aViewData.GetPPTY()); CPPUNIT_ASSERT_EQUAL(static_cast<tools::Long>((rDoc.MaxCol() - 1) * nColWidth), aPos.getX()); CPPUNIT_ASSERT_EQUAL(static_cast<tools::Long>(10000 * nRowHeight), aPos.getY()); + + xDocSh->DoClose(); } /* @@ -708,17 +695,12 @@ void ScFiltersTest::testTdf129789() void ScFiltersTest::testTdf130725() { - css::uno::Reference<css::frame::XDesktop2> xDesktop - = css::frame::Desktop::create(comphelper::getProcessComponentContext()); - CPPUNIT_ASSERT(xDesktop.is()); - - // 1. Create spreadsheet - css::uno::Sequence aHiddenArgList{ comphelper::makePropertyValue("Hidden", true) }; + Sequence < beans::PropertyValue > args{ comphelper::makePropertyValue("Hidden", true) }; + ScDocShellRef xDocSh = loadEmptyDocument(args); + CPPUNIT_ASSERT(xDocSh); - css::uno::Reference<css::lang::XComponent> xComponent - = xDesktop->loadComponentFromURL("private:factory/scalc", "_blank", 0, aHiddenArgList); - css::uno::Reference<css::sheet::XSpreadsheetDocument> xDoc(xComponent, - css::uno::UNO_QUERY_THROW); + uno::Reference<frame::XModel> xModel = xDocSh->GetModel(); + uno::Reference<sheet::XSpreadsheetDocument> xDoc(xModel, uno::UNO_QUERY_THROW); // 2. Insert 0.0042 into a cell as a formula, to force the conversion from string to double css::uno::Reference<css::sheet::XCellRangesAccess> xSheets(xDoc->getSheets(), @@ -730,6 +712,8 @@ void ScFiltersTest::testTdf130725() // (it was 0.0042000000000000006 instead of 0.0041999999999999997). CPPUNIT_ASSERT_EQUAL_MESSAGE("Value must be the nearest representation of decimal 0.0042", 0.0042, xCell->getValue()); // strict equality + + xDocSh->DoClose(); } void ScFiltersTest::testTdf104502_hiddenColsCountedInPageCount() diff --git a/sc/qa/unit/copy_paste_test.cxx b/sc/qa/unit/copy_paste_test.cxx index 79e1eaf7ef82..bcdce8eaa5f8 100644 --- a/sc/qa/unit/copy_paste_test.cxx +++ b/sc/qa/unit/copy_paste_test.cxx @@ -106,22 +106,7 @@ void ScCopyPasteTest::testCopyPasteXLS() // 4. Close the document (Ctrl-W) xDocSh->DoClose(); - uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create(::comphelper::getProcessComponentContext()); - // 5. Create a new Spreadsheet - Sequence < beans::PropertyValue > args{ comphelper::makePropertyValue("Hidden", true) }; - - uno::Reference< lang::XComponent > xComponent = xDesktop->loadComponentFromURL( - "private:factory/scalc", - "_blank", - 0, - args ); - CPPUNIT_ASSERT( xComponent.is() ); - - // Get the document model - SfxObjectShell* pFoundShell = SfxObjectShell::GetShellFromComponent(xComponent); - CPPUNIT_ASSERT_MESSAGE("Failed to access document shell", pFoundShell); - - xDocSh = dynamic_cast<ScDocShell*>(pFoundShell); + xDocSh = loadEmptyDocument(); CPPUNIT_ASSERT(xDocSh); // Get the document controller @@ -131,7 +116,7 @@ void ScCopyPasteTest::testCopyPasteXLS() // 6. Paste pViewShell->GetViewData().GetView()->PasteFromClip(InsertDeleteFlags::ALL, &aClipDoc); - xComponent->dispose(); + xDocSh->DoClose(); } namespace { @@ -169,42 +154,9 @@ void lcl_copy( const OUString& rSrcRange, const OUString& rDstRange, ScDocument& void ScCopyPasteTest::testTdf84411() { - uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create(::comphelper::getProcessComponentContext()); - CPPUNIT_ASSERT( xDesktop.is() ); - - // create a frame - Reference< frame::XFrame > xTargetFrame = xDesktop->findFrame( "_blank", 0 ); - CPPUNIT_ASSERT( xTargetFrame.is() ); - - // 1. Create spreadsheet - uno::Sequence< beans::PropertyValue > aEmptyArgList; - uno::Reference< lang::XComponent > xComponent = xDesktop->loadComponentFromURL( - "private:factory/scalc", - "_blank", - 0, - aEmptyArgList ); - CPPUNIT_ASSERT( xComponent.is() ); - - // Get the document model - SfxObjectShell* pFoundShell = SfxObjectShell::GetShellFromComponent(xComponent); - CPPUNIT_ASSERT_MESSAGE("Failed to access document shell", pFoundShell); - - ScDocShellRef xDocSh = dynamic_cast<ScDocShell*>(pFoundShell); + ScDocShellRef xDocSh = loadEmptyDocument(); CPPUNIT_ASSERT(xDocSh); - uno::Reference< frame::XModel2 > xModel2 = xDocSh->GetModel(); - CPPUNIT_ASSERT( xModel2.is() ); - - Reference< frame::XController2 > xController = xModel2->createDefaultViewController( xTargetFrame ); - CPPUNIT_ASSERT( xController.is() ); - - // introduce model/view/controller to each other - xController->attachModel( xModel2 ); - xModel2->connectController( xController ); - xTargetFrame->setComponent( xController->getComponentWindow(), xController ); - xController->attachFrame( xTargetFrame ); - xModel2->setCurrentController( xController ); - ScDocument& rDoc = xDocSh->GetDocument(); // Get the document controller @@ -225,7 +177,8 @@ void ScCopyPasteTest::testTdf84411() // 3. Disable OpenCL - ScModelObj* pModel = comphelper::getFromUnoTunnel<ScModelObj>(pFoundShell->GetModel()); + uno::Reference<lang::XComponent> xComponent = xDocSh->GetModel(); + ScModelObj* pModel = dynamic_cast<ScModelObj*>(xComponent.get()); CPPUNIT_ASSERT(pModel != nullptr); bool bOpenCLState = ScCalcConfig::isOpenCLEnabled(); pModel->enableOpenCL(false); @@ -243,36 +196,14 @@ void ScCopyPasteTest::testTdf84411() // 5. Close the document (Ctrl-W) pModel->enableOpenCL(bOpenCLState); - xComponent->dispose(); + + xDocSh->DoClose(); } void ScCopyPasteTest::testTdf124565() { - // Create new document - ScDocShell* xDocSh = new ScDocShell( - SfxModelFlags::EMBEDDED_OBJECT | - SfxModelFlags::DISABLE_EMBEDDED_SCRIPTS | - SfxModelFlags::DISABLE_DOCUMENT_RECOVERY); - xDocSh->DoInitNew(); - - uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create(::comphelper::getProcessComponentContext()); - CPPUNIT_ASSERT( xDesktop.is() ); - - Reference< frame::XFrame > xTargetFrame = xDesktop->findFrame( "_blank", 0 ); - CPPUNIT_ASSERT( xTargetFrame.is() ); - - uno::Reference< frame::XModel2 > xModel2 = xDocSh->GetModel(); - CPPUNIT_ASSERT( xModel2.is() ); - - Reference< frame::XController2 > xController = xModel2->createDefaultViewController( xTargetFrame ); - CPPUNIT_ASSERT( xController.is() ); - - // introduce model/view/controller to each other - xController->attachModel( xModel2 ); - xModel2->connectController( xController ); - xTargetFrame->setComponent( xController->getComponentWindow(), xController ); - xController->attachFrame( xTargetFrame ); - xModel2->setCurrentController( xController ); + ScDocShellRef xDocSh = loadEmptyDocument(); + CPPUNIT_ASSERT(xDocSh); ScDocument& rDoc = xDocSh->GetDocument(); ScTabViewShell* pViewShell = xDocSh->GetBestViewShell(false); @@ -311,40 +242,9 @@ void ScCopyPasteTest::testTdf124565() void ScCopyPasteTest::testTdf126421() { - uno::Reference<frame::XDesktop2> xDesktop - = frame::Desktop::create(::comphelper::getProcessComponentContext()); - CPPUNIT_ASSERT(xDesktop.is()); - - // create a frame - Reference<frame::XFrame> xTargetFrame = xDesktop->findFrame("_blank", 0); - CPPUNIT_ASSERT(xTargetFrame.is()); - - // 1. Create spreadsheet - uno::Sequence<beans::PropertyValue> aEmptyArgList; - uno::Reference<lang::XComponent> xComponent - = xDesktop->loadComponentFromURL("private:factory/scalc", "_blank", 0, aEmptyArgList); - CPPUNIT_ASSERT(xComponent.is()); - - // Get the document model - SfxObjectShell* pFoundShell = SfxObjectShell::GetShellFromComponent(xComponent); - CPPUNIT_ASSERT_MESSAGE("Failed to access document shell", pFoundShell); - - ScDocShellRef xDocSh = dynamic_cast<ScDocShell*>(pFoundShell); + ScDocShellRef xDocSh = loadEmptyDocument(); CPPUNIT_ASSERT(xDocSh); - uno::Reference<frame::XModel2> xModel2 = xDocSh->GetModel(); - CPPUNIT_ASSERT(xModel2.is()); - - Reference<frame::XController2> xController = xModel2->createDefaultViewController(xTargetFrame); - CPPUNIT_ASSERT(xController.is()); - - // introduce model/view/controller to each other - xController->attachModel(xModel2); - xModel2->connectController(xController); - xTargetFrame->setComponent(xController->getComponentWindow(), xController); - xController->attachFrame(xTargetFrame); - xModel2->setCurrentController(xController); - ScDocument& rDoc = xDocSh->GetDocument(); // Get the document controller @@ -372,19 +272,10 @@ void ScCopyPasteTest::testTdf126421() void ScCopyPasteTest::testTdf107394() { - uno::Reference<frame::XDesktop2> xDesktop - = frame::Desktop::create(::comphelper::getProcessComponentContext()); - CPPUNIT_ASSERT(xDesktop.is()); - - uno::Reference<lang::XComponent> xComponent - = xDesktop->loadComponentFromURL("private:factory/scalc", "_blank", 0, {}); - CPPUNIT_ASSERT(xComponent.is()); - - auto pModelObj = dynamic_cast<ScModelObj*>(xComponent.get()); - CPPUNIT_ASSERT(pModelObj); - CPPUNIT_ASSERT(pModelObj->GetDocument()); + ScDocShellRef xDocSh = loadEmptyDocument(); + CPPUNIT_ASSERT(xDocSh); - ScDocument& rDoc = *pModelObj->GetDocument(); + ScDocument& rDoc = xDocSh->GetDocument(); sal_uInt16 nFirstRowHeight = rDoc.GetRowHeight(0, 0); sal_uInt16 nSecondRowHeight = rDoc.GetRowHeight(1, 0); @@ -422,7 +313,7 @@ void ScCopyPasteTest::testTdf107394() // i.e. the increased height of the second row remained after undo. CPPUNIT_ASSERT_EQUAL(nFirstRowHeight, nSecondRowHeight); - xComponent->dispose(); + xDocSh->DoClose(); } static ScMF lcl_getMergeFlagOfCell(const ScDocument& rDoc, SCCOL nCol, SCROW nRow, SCTAB nTab) diff --git a/sc/qa/unit/helper/qahelper.cxx b/sc/qa/unit/helper/qahelper.cxx index 30894e939135..a11d240b9b35 100644 --- a/sc/qa/unit/helper/qahelper.cxx +++ b/sc/qa/unit/helper/qahelper.cxx @@ -645,6 +645,25 @@ ScDocShellRef ScBootstrapFixture::load(const OUString& rURL, sal_Int32 nFormat, return load(bReadWrite, rURL, aFilterName, OUString(), aFilterType, nFormatType, nClipboardId, static_cast<sal_uIntPtr>(nFormatType)); } +ScDocShellRef ScBootstrapFixture::loadEmptyDocument(const uno::Sequence<beans::PropertyValue>& rPropertyValues) +{ + uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create(::comphelper::getProcessComponentContext()); + CPPUNIT_ASSERT(xDesktop.is()); + + uno::Reference< lang::XComponent > xComponent = xDesktop->loadComponentFromURL( + "private:factory/scalc", + "_blank", + 0, + rPropertyValues); + CPPUNIT_ASSERT(xComponent.is()); + + // Get the document model + SfxObjectShell* pFoundShell = SfxObjectShell::GetShellFromComponent(xComponent); + CPPUNIT_ASSERT_MESSAGE("Failed to access document shell", pFoundShell); + + return dynamic_cast<ScDocShell*>(pFoundShell); +} + ScDocShellRef ScBootstrapFixture::loadDocAndSetupModelViewController(std::u16string_view rFileName, sal_Int32 nFormat) { uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create(comphelper::getProcessComponentContext()); diff --git a/sc/qa/unit/helper/qahelper.hxx b/sc/qa/unit/helper/qahelper.hxx index 888fd2162a0b..eb400e68acba 100644 --- a/sc/qa/unit/helper/qahelper.hxx +++ b/sc/qa/unit/helper/qahelper.hxx @@ -201,6 +201,7 @@ protected: ScDocShellRef load(const OUString& rURL, sal_Int32 nFormat, bool bReadWrite = false); + ScDocShellRef loadEmptyDocument(const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>& rPropertyValues = {}); ScDocShellRef loadDocAndSetupModelViewController(std::u16string_view rFileName, sal_Int32 nFormat); ScDocShellRef loadDoc( std::u16string_view rFileName, sal_Int32 nFormat, bool bReadWrite = false ); diff --git a/sc/qa/unit/jumbosheets-test.cxx b/sc/qa/unit/jumbosheets-test.cxx index 59a53256908b..c1648ac5ca14 100644 --- a/sc/qa/unit/jumbosheets-test.cxx +++ b/sc/qa/unit/jumbosheets-test.cxx @@ -252,21 +252,7 @@ void ScJumboSheetsTest::testTdf134392() void ScJumboSheetsTest::testTdf147509() { - // Create an empty document - uno::Reference<frame::XDesktop2> xDesktop - = frame::Desktop::create(::comphelper::getProcessComponentContext()); - CPPUNIT_ASSERT(xDesktop.is()); - - Sequence<beans::PropertyValue> args{ comphelper::makePropertyValue("Hidden", true) }; - - m_xCalcComponent = xDesktop->loadComponentFromURL("private:factory/scalc", "_blank", 0, args); - CPPUNIT_ASSERT(m_xCalcComponent.is()); - - // Get the document model - SfxObjectShell* pFoundShell = SfxObjectShell::GetShellFromComponent(m_xCalcComponent); - CPPUNIT_ASSERT_MESSAGE("Failed to access document shell", pFoundShell); - - ScDocShellRef xDocSh = dynamic_cast<ScDocShell*>(pFoundShell); + ScDocShellRef xDocSh = loadEmptyDocument(); CPPUNIT_ASSERT(xDocSh); ScDocument& rDoc = xDocSh->GetDocument(); @@ -281,7 +267,7 @@ void ScJumboSheetsTest::testTdf147509() CPPUNIT_ASSERT_EQUAL(sal_Int16(0), rViewData.GetCurX()); CPPUNIT_ASSERT_EQUAL(sal_Int32(0), rViewData.GetCurY()); - uno::Reference<lang::XComponent> xComponent(m_xCalcComponent, uno::UNO_QUERY); + uno::Reference<lang::XComponent> xComponent = xDocSh->GetModel(); dispatchCommand(xComponent, ".uno:SelectColumn", {}); Scheduler::ProcessEventsToIdle(); @@ -295,31 +281,20 @@ void ScJumboSheetsTest::testTdf147509() // - Actual : B CPPUNIT_ASSERT_EQUAL(OUString(""), rDoc.GetString(ScAddress(1, 0, 0))); CPPUNIT_ASSERT_EQUAL(OUString("B"), rDoc.GetString(ScAddress(2, 0, 0))); + + xDocSh->DoClose(); } void ScJumboSheetsTest::testTdf133033() { - // Create an empty document - uno::Reference<frame::XDesktop2> xDesktop - = frame::Desktop::create(::comphelper::getProcessComponentContext()); - CPPUNIT_ASSERT(xDesktop.is()); - - Sequence<beans::PropertyValue> args{ comphelper::makePropertyValue("Hidden", true) }; - - m_xCalcComponent = xDesktop->loadComponentFromURL("private:factory/scalc", "_blank", 0, args); - CPPUNIT_ASSERT(m_xCalcComponent.is()); - - // Get the document model - SfxObjectShell* pFoundShell = SfxObjectShell::GetShellFromComponent(m_xCalcComponent); - CPPUNIT_ASSERT_MESSAGE("Failed to access document shell", pFoundShell); - - ScDocShellRef xDocSh = dynamic_cast<ScDocShell*>(pFoundShell); + ScDocShellRef xDocSh = loadEmptyDocument(); CPPUNIT_ASSERT(xDocSh); ScTabViewShell* pViewShell = xDocSh->GetBestViewShell(false); CPPUNIT_ASSERT(pViewShell); - ScModelObj* pModelObj = dynamic_cast<ScModelObj*>(m_xCalcComponent.get()); + uno::Reference<lang::XComponent> xComponent = xDocSh->GetModel(); + ScModelObj* pModelObj = dynamic_cast<ScModelObj*>(xComponent.get()); CPPUNIT_ASSERT(pModelObj); pModelObj->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 0, KEY_DOWN | KEY_MOD1); @@ -329,6 +304,8 @@ void ScJumboSheetsTest::testTdf133033() CPPUNIT_ASSERT_EQUAL(sal_Int16(0), rViewData.GetCurX()); CPPUNIT_ASSERT_EQUAL(sal_Int32(16777215), rViewData.GetCurY()); + + xDocSh->DoClose(); } void ScJumboSheetsTest::testTdf109061() diff --git a/sc/qa/unit/subsequent_export_test2.cxx b/sc/qa/unit/subsequent_export_test2.cxx index 88f82eaf8509..8450d82d3ba8 100644 --- a/sc/qa/unit/subsequent_export_test2.cxx +++ b/sc/qa/unit/subsequent_export_test2.cxx @@ -1781,25 +1781,10 @@ void ScExportTest2::testTdf128976() void ScExportTest2::testTdf143979() { - // Create an empty worksheet - css::uno::Reference<css::frame::XDesktop2> xDesktop - = css::frame::Desktop::create(comphelper::getProcessComponentContext()); - CPPUNIT_ASSERT(xDesktop); - - css::uno::Sequence args{ comphelper::makePropertyValue("Hidden", true) }; - - css::uno::Reference<css::lang::XComponent> xComponent - = xDesktop->loadComponentFromURL("private:factory/scalc", "_blank", 0, args); - CPPUNIT_ASSERT(xComponent); - - // Get the document model - SfxObjectShell* pFoundShell = SfxObjectShell::GetShellFromComponent(xComponent); - CPPUNIT_ASSERT_MESSAGE("Failed to access document shell", pFoundShell); - - ScDocShellRef xShell = dynamic_cast<ScDocShell*>(pFoundShell); - CPPUNIT_ASSERT(xShell); + ScDocShellRef xDocSh = loadEmptyDocument(); + CPPUNIT_ASSERT(xDocSh); - ScDocument& rDoc = xShell->GetDocument(); + ScDocument& rDoc = xDocSh->GetDocument(); OUString aCode = "YYYY-MM\"\"MMM-DDNN"; sal_Int32 nCheckPos; @@ -1818,7 +1803,7 @@ void ScExportTest2::testTdf143979() CPPUNIT_ASSERT_EQUAL(OUString("2021-08Aug-30Mon"), rDoc.GetString(ScAddress(0, 0, 0))); - ScDocShellRef pDocSh = saveAndReload(*xShell, FORMAT_ODS); + ScDocShellRef pDocSh = saveAndReload(*xDocSh, FORMAT_ODS); CPPUNIT_ASSERT(pDocSh.is()); ScDocument& rDoc2 = pDocSh->GetDocument(); @@ -1827,43 +1812,32 @@ void ScExportTest2::testTdf143979() // - Expected: 2021-08Aug-30Mon // - Actual : 2021-A-30Mon CPPUNIT_ASSERT_EQUAL(OUString("2021-08Aug-30Mon"), rDoc2.GetString(ScAddress(0, 0, 0))); + + xDocSh->DoClose(); } void ScExportTest2::testTdf120502() { // Create an empty worksheet; resize last column on its first sheet; export to XLSX, and check // that the last exported column number is correct - css::uno::Reference<css::frame::XDesktop2> xDesktop - = css::frame::Desktop::create(comphelper::getProcessComponentContext()); - CPPUNIT_ASSERT(xDesktop); - - css::uno::Sequence args{ comphelper::makePropertyValue("Hidden", true) }; - - css::uno::Reference<css::lang::XComponent> xComponent - = xDesktop->loadComponentFromURL("private:factory/scalc", "_blank", 0, args); - CPPUNIT_ASSERT(xComponent); - - // Get the document model - SfxObjectShell* pFoundShell = SfxObjectShell::GetShellFromComponent(xComponent); - CPPUNIT_ASSERT_MESSAGE("Failed to access document shell", pFoundShell); - - ScDocShellRef xShell = dynamic_cast<ScDocShell*>(pFoundShell); - CPPUNIT_ASSERT(xShell); + ScDocShellRef xDocSh = loadEmptyDocument(); + CPPUNIT_ASSERT(xDocSh); - ScDocument& rDoc = xShell->GetDocument(); + ScDocument& rDoc = xDocSh->GetDocument(); const SCCOL nMaxCol = rDoc.MaxCol(); // 0-based const auto nOldWidth = rDoc.GetColWidth(nMaxCol, 0); rDoc.SetColWidth(nMaxCol, 0, nOldWidth + 100); - std::shared_ptr<utl::TempFile> pXPathFile = ScBootstrapFixture::exportTo(*xShell, FORMAT_XLSX); - xShell->DoClose(); + std::shared_ptr<utl::TempFile> pXPathFile = ScBootstrapFixture::exportTo(*xDocSh, FORMAT_XLSX); xmlDocUniquePtr pSheet1 = XPathHelper::parseExport(pXPathFile, m_xSFactory, "xl/worksheets/sheet1.xml"); CPPUNIT_ASSERT(pSheet1); // This was 1025 when nMaxCol+1 was 1024 assertXPath(pSheet1, "/x:worksheet/x:cols/x:col", "max", OUString::number(nMaxCol + 1)); + + xDocSh->DoClose(); } void ScExportTest2::testTdf131372()