summaryrefslogtreecommitdiff
path: root/sc/qa
diff options
context:
space:
mode:
authorTamás Zolnai <tamas.zolnai@collabora.com>2017-10-05 15:13:46 +0200
committerTamás Zolnai <tamas.zolnai@collabora.com>2017-10-05 17:55:18 +0200
commit9fa34e9f2cebe2cfc551668f2a67ddcb799d3fb8 (patch)
tree678a2b51d88db4bc5c5fc31a1a39be7af1880068 /sc/qa
parent03041e0f8d8385847c2e77fcaf08c1d33cad938f (diff)
tdf#112893: Pivot table: filtering of error item is not imported
... from XLSX Change-Id: Ib155852e5f0718f41e02596d1042513286c6d845 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>
Diffstat (limited to 'sc/qa')
-rwxr-xr-xsc/qa/unit/data/xlsx/pivottable_error_item_filter.xlsxbin0 -> 12459 bytes
-rw-r--r--sc/qa/unit/subsequent_export-test.cxx32
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
new file mode 100755
index 000000000000..19d9b3c01b4d
--- /dev/null
+++ b/sc/qa/unit/data/xlsx/pivottable_error_item_filter.xlsx
Binary files differ
diff --git a/sc/qa/unit/subsequent_export-test.cxx b/sc/qa/unit/subsequent_export-test.cxx
index 04aada980beb..d0596bdf06ef 100644
--- a/sc/qa/unit/subsequent_export-test.cxx
+++ b/sc/qa/unit/subsequent_export-test.cxx
@@ -225,6 +225,7 @@ public:
void testPivotTableDateFieldFilterXLSX();
void testPivotTableBoolFieldFilterXLSX();
void testPivotTableRowColPageFieldFilterXLSX();
+ void testPivotTableErrorItemFilterXLSX();
CPPUNIT_TEST_SUITE(ScExportTest);
CPPUNIT_TEST(test);
@@ -344,6 +345,7 @@ public:
CPPUNIT_TEST(testPivotTableDateFieldFilterXLSX);
CPPUNIT_TEST(testPivotTableBoolFieldFilterXLSX);
CPPUNIT_TEST(testPivotTableRowColPageFieldFilterXLSX);
+ CPPUNIT_TEST(testPivotTableErrorItemFilterXLSX);
CPPUNIT_TEST_SUITE_END();
@@ -5219,6 +5221,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();