diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2019-11-22 13:53:46 +0300 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2019-11-23 06:40:51 +0100 |
commit | 7eac47252e03bd7072f62cc1a23d441171619d57 (patch) | |
tree | fb8310431b904a3f2c18858f20875c1c47afcc4e /sc/qa | |
parent | 1035a02ff49accc5582fe02166e3bf263eb3f0af (diff) |
tdf#128951: restore passing nullptr to ScTableSheetObj when not inserted yet
This partially reverts 009e7a54f40ebacd9dd4a394504c277789699801
Change-Id: I5a9605ff9d0ff1cd825968fb247b2a3bf4b2902a
Reviewed-on: https://gerrit.libreoffice.org/83464
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
(cherry picked from commit 2a16decdcccf36f9fa4a1764f68e59c33517b892)
Reviewed-on: https://gerrit.libreoffice.org/83516
Diffstat (limited to 'sc/qa')
-rw-r--r-- | sc/qa/unit/bugfix-test.cxx | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/sc/qa/unit/bugfix-test.cxx b/sc/qa/unit/bugfix-test.cxx index 994dbe2ad2e9..a23ba743d829 100644 --- a/sc/qa/unit/bugfix-test.cxx +++ b/sc/qa/unit/bugfix-test.cxx @@ -38,6 +38,7 @@ public: void testRhbz1390776(); void testTdf104310(); void testTdf31231(); + void testTdf128951(); CPPUNIT_TEST_SUITE(ScFiltersTest); CPPUNIT_TEST(testTdf64229); @@ -53,6 +54,7 @@ public: CPPUNIT_TEST(testRhbz1390776); CPPUNIT_TEST(testTdf104310); CPPUNIT_TEST(testTdf31231); + CPPUNIT_TEST(testTdf128951); CPPUNIT_TEST_SUITE_END(); private: uno::Reference<uno::XInterface> m_xCalcComponent; @@ -297,6 +299,32 @@ void ScFiltersTest::testTdf31231() xDocSh->DoClose(); } +void ScFiltersTest::testTdf128951() +{ + css::uno::Reference<css::frame::XDesktop2> xDesktop + = css::frame::Desktop::create(::comphelper::getProcessComponentContext()); + CPPUNIT_ASSERT(xDesktop.is()); + + // 1. Create spreadsheet + css::uno::Sequence<css::beans::PropertyValue> aHiddenArgList(1); + aHiddenArgList[0].Name = "Hidden"; + aHiddenArgList[0].Value <<= true; + + css::uno::Reference<css::lang::XComponent> xComponent + = xDesktop->loadComponentFromURL("private:factory/scalc", "_blank", 0, aHiddenArgList); + CPPUNIT_ASSERT(xComponent.is()); + + // 2. Create a new sheet instance + css::uno::Reference<css::lang::XMultiServiceFactory> xFac(xComponent, + css::uno::UNO_QUERY_THROW); + auto xSheet = xFac->createInstance("com.sun.star.sheet.Spreadsheet"); + + // 3. Insert sheet into the spreadsheet (was throwing IllegalArgumentException) + css::uno::Reference<css::sheet::XSpreadsheetDocument> xDoc(xComponent, + css::uno::UNO_QUERY_THROW); + CPPUNIT_ASSERT_NO_THROW(xDoc->getSheets()->insertByName("mustNotThrow", css::uno::Any(xSheet))); +} + ScFiltersTest::ScFiltersTest() : ScBootstrapFixture( "sc/qa/unit/data" ) { |