diff options
author | Tamás Zolnai <tamas.zolnai@collabora.com> | 2017-10-05 15:13:46 +0200 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2017-10-07 13:19:55 +0200 |
commit | 06104d00f01ce68e3e78f739d7a6bea110baf31b (patch) | |
tree | d1e1f153fb5b3941c8d13b1823c56ebaa81e0cd6 /sc/qa | |
parent | e48853f7dbffd69dc7c55d4cbd200f2b7afaaed8 (diff) |
tdf#112893: Pivot table: filtering of error item is not imported
... from XLSX
Reviewed-on: https://gerrit.libreoffice.org/43166
Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
Tested-by: Tamás Zolnai <tamas.zolnai@collabora.com>
(cherry picked from commit 9fa34e9f2cebe2cfc551668f2a67ddcb799d3fb8)
Change-Id: Ib155852e5f0718f41e02596d1042513286c6d845
Reviewed-on: https://gerrit.libreoffice.org/43216
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
Diffstat (limited to 'sc/qa')
-rwxr-xr-x | sc/qa/unit/data/xlsx/pivottable_error_item_filter.xlsx | bin | 0 -> 12459 bytes | |||
-rw-r--r-- | sc/qa/unit/subsequent_export-test.cxx | 32 |
2 files changed, 32 insertions, 0 deletions
diff --git a/sc/qa/unit/data/xlsx/pivottable_error_item_filter.xlsx b/sc/qa/unit/data/xlsx/pivottable_error_item_filter.xlsx Binary files differnew file mode 100755 index 000000000000..19d9b3c01b4d --- /dev/null +++ b/sc/qa/unit/data/xlsx/pivottable_error_item_filter.xlsx diff --git a/sc/qa/unit/subsequent_export-test.cxx b/sc/qa/unit/subsequent_export-test.cxx index 680bb5b3eac4..f9ac660b5321 100644 --- a/sc/qa/unit/subsequent_export-test.cxx +++ b/sc/qa/unit/subsequent_export-test.cxx @@ -213,6 +213,7 @@ public: void testPivotTableDateFieldFilterXLSX(); void testPivotTableBoolFieldFilterXLSX(); void testPivotTableRowColPageFieldFilterXLSX(); + void testPivotTableErrorItemFilterXLSX(); CPPUNIT_TEST_SUITE(ScExportTest); CPPUNIT_TEST(test); @@ -326,6 +327,7 @@ public: CPPUNIT_TEST(testPivotTableDateFieldFilterXLSX); CPPUNIT_TEST(testPivotTableBoolFieldFilterXLSX); CPPUNIT_TEST(testPivotTableRowColPageFieldFilterXLSX); + CPPUNIT_TEST(testPivotTableErrorItemFilterXLSX); CPPUNIT_TEST_SUITE_END(); @@ -5124,6 +5126,36 @@ void ScExportTest::testPivotTableRowColPageFieldFilterXLSX() xDocSh->DoClose(); } +void ScExportTest::testPivotTableErrorItemFilterXLSX() +{ + ScDocShellRef xDocSh = loadDoc("pivottable_error_item_filter.", FORMAT_XLSX); + CPPUNIT_ASSERT_MESSAGE("Failed to load file", xDocSh.Is()); + ScDocument& rDoc = xDocSh->GetDocument(); + ScDPCollection* pDPs = rDoc.GetDPCollection(); + CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), pDPs->GetCount()); + + // Reload and check whether filtering is preserved + xDocSh = saveAndReload( &(*xDocSh), FORMAT_XLSX); + CPPUNIT_ASSERT_MESSAGE("Failed to load file", xDocSh.Is()); + ScDocument& rLoadedDoc = xDocSh->GetDocument(); + pDPs = rLoadedDoc.GetDPCollection(); + CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), pDPs->GetCount()); + const ScDPObject* pDPObj = &(*pDPs)[0]; + CPPUNIT_ASSERT(pDPObj); + ScDPSaveData* pSaveData = pDPObj->GetSaveData(); + CPPUNIT_ASSERT(pSaveData); + + ScDPSaveDimension* pSaveDim = pSaveData->GetExistingDimensionByName("b"); + CPPUNIT_ASSERT(pSaveDim); + const ScDPSaveDimension::MemberList& rMembers = pSaveDim->GetMembers(); + CPPUNIT_ASSERT_EQUAL(size_t(4), rMembers.size()); + ScDPSaveMember* pMember = pSaveDim->GetExistingMemberByName("#DIV/0!"); + CPPUNIT_ASSERT(pMember); + CPPUNIT_ASSERT(pMember->HasIsVisible() && !pMember->GetIsVisible()); + + xDocSh->DoClose(); +} + CPPUNIT_TEST_SUITE_REGISTRATION(ScExportTest); CPPUNIT_PLUGIN_IMPLEMENT(); |