From ad439ded005cffd525ffe874f535fca7a4da1f49 Mon Sep 17 00:00:00 2001 From: Tamás Zolnai <tamas.zolnai@collabora.com> Date: Fri, 6 Oct 2017 20:35:54 +0200 Subject: tdf#112946: Pivot table: Missing selector for a row field after RT in Calc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We need to explicitly set compact flags to false, since true is the default. It seems MSO prefers compact mode, when the file contains colliding mode flags. Change-Id: Ib311f1cf44345be294e6c6607c227c2baa0fb693 Reviewed-on: https://gerrit.libreoffice.org/43210 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com> --- sc/qa/unit/data/xlsx/pivottable_outline_mode.xlsx | Bin 0 -> 12178 bytes sc/qa/unit/subsequent_export-test.cxx | 19 +++++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100755 sc/qa/unit/data/xlsx/pivottable_outline_mode.xlsx (limited to 'sc/qa/unit') diff --git a/sc/qa/unit/data/xlsx/pivottable_outline_mode.xlsx b/sc/qa/unit/data/xlsx/pivottable_outline_mode.xlsx new file mode 100755 index 000000000000..6b575c0af7b3 Binary files /dev/null and b/sc/qa/unit/data/xlsx/pivottable_outline_mode.xlsx differ diff --git a/sc/qa/unit/subsequent_export-test.cxx b/sc/qa/unit/subsequent_export-test.cxx index d0596bdf06ef..21837ff11152 100644 --- a/sc/qa/unit/subsequent_export-test.cxx +++ b/sc/qa/unit/subsequent_export-test.cxx @@ -226,6 +226,7 @@ public: void testPivotTableBoolFieldFilterXLSX(); void testPivotTableRowColPageFieldFilterXLSX(); void testPivotTableErrorItemFilterXLSX(); + void testPivotTableOutlineModeXLSX(); CPPUNIT_TEST_SUITE(ScExportTest); CPPUNIT_TEST(test); @@ -346,6 +347,7 @@ public: CPPUNIT_TEST(testPivotTableBoolFieldFilterXLSX); CPPUNIT_TEST(testPivotTableRowColPageFieldFilterXLSX); CPPUNIT_TEST(testPivotTableErrorItemFilterXLSX); + CPPUNIT_TEST(testPivotTableOutlineModeXLSX); CPPUNIT_TEST_SUITE_END(); @@ -5251,6 +5253,23 @@ void ScExportTest::testPivotTableErrorItemFilterXLSX() xDocSh->DoClose(); } +void ScExportTest::testPivotTableOutlineModeXLSX() +{ + ScDocShellRef xShell = loadDoc("pivottable_outline_mode.", FORMAT_XLSX); + CPPUNIT_ASSERT(xShell.is()); + + std::shared_ptr<utl::TempFile> pXPathFile = ScBootstrapFixture::exportTo(&(*xShell), FORMAT_XLSX); + xmlDocPtr pTable = XPathHelper::parseExport(pXPathFile, m_xSFactory, "xl/pivotTables/pivotTable1.xml"); + CPPUNIT_ASSERT(pTable); + + // Next to the outline flags, compact flags also should be set (true is the default) + assertXPath(pTable, "/x:pivotTableDefinition", "outline", "1"); + assertXPath(pTable, "/x:pivotTableDefinition", "outlineData", "1"); + assertXPath(pTable, "/x:pivotTableDefinition", "compact", "0"); + assertXPath(pTable, "/x:pivotTableDefinition", "compactData", "0"); + assertXPath(pTable, "/x:pivotTableDefinition/x:pivotFields/x:pivotField[1]", "compact", "0"); +} + CPPUNIT_TEST_SUITE_REGISTRATION(ScExportTest); CPPUNIT_PLUGIN_IMPLEMENT(); -- cgit