summaryrefslogtreecommitdiff
path: root/sc/qa
diff options
context:
space:
mode:
authorTamás Zolnai <tamas.zolnai@collabora.com>2017-10-19 15:11:41 +0200
committerTamás Zolnai <tamas.zolnai@collabora.com>2017-10-19 19:31:01 +0200
commit291874c09c4bcde61f2c6808f2df6079f38d74e0 (patch)
treebc6fae29730fc937f8eade328d3e1072cff4e367 /sc/qa
parentc9a584af6d640bfd88797e1ccd0a7695ffbf6c99 (diff)
tdf#113268: Pivot table: Missing popup button after opening a ODS
Wrong row number was calculated here. This ++nCurRow is usefull only when headerlayout flag is set. It's a MSO compatibility flag so it's not there by default in LO created tables. Change-Id: Id7989d898f2647f1ba45ed95e0aa615e3b4fa311 Reviewed-on: https://gerrit.libreoffice.org/43552 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
Diffstat (limited to 'sc/qa')
-rwxr-xr-xsc/qa/unit/data/ods/pivottable_no_columns_layout.odsbin0 -> 13643 bytes
-rw-r--r--sc/qa/unit/subsequent_filters-test.cxx30
2 files changed, 30 insertions, 0 deletions
diff --git a/sc/qa/unit/data/ods/pivottable_no_columns_layout.ods b/sc/qa/unit/data/ods/pivottable_no_columns_layout.ods
new file mode 100755
index 000000000000..e6ddca7299fc
--- /dev/null
+++ b/sc/qa/unit/data/ods/pivottable_no_columns_layout.ods
Binary files differ
diff --git a/sc/qa/unit/subsequent_filters-test.cxx b/sc/qa/unit/subsequent_filters-test.cxx
index 459a85d4377b..12363205ed41 100644
--- a/sc/qa/unit/subsequent_filters-test.cxx
+++ b/sc/qa/unit/subsequent_filters-test.cxx
@@ -247,6 +247,7 @@ public:
void testPageScalingXLSX();
void testActiveXCheckboxXLSX();
void testTdf112501();
+ void testPivotTableNoColumnsLayout();
#ifdef UNX
void testUnicodeFileNameGnumeric();
#endif
@@ -378,6 +379,7 @@ public:
CPPUNIT_TEST(testPageScalingXLSX);
CPPUNIT_TEST(testActiveXCheckboxXLSX);
CPPUNIT_TEST(testTdf112501);
+ CPPUNIT_TEST(testPivotTableNoColumnsLayout);
#ifdef UNX
CPPUNIT_TEST(testUnicodeFileNameGnumeric);
#endif
@@ -4116,6 +4118,34 @@ void ScFiltersTest::testTdf112501()
}
}
+void ScFiltersTest::testPivotTableNoColumnsLayout()
+{
+ // tdf#113268 - Pivot table: Missing popup button after opening a pivot table from ODS
+ ScDocShellRef xDocSh = loadDoc("pivottable_no_columns_layout.", FORMAT_ODS);
+ CPPUNIT_ASSERT_MESSAGE("Failed to load file", xDocSh.is());
+ ScDocument& rDoc = xDocSh->GetDocument();
+
+ // There should be exactly 2 pivot tables
+ ScDPCollection* pDPs = rDoc.GetDPCollection();
+ CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(2), pDPs->GetCount());
+
+ // Check first pivot table's popup button (headerlayout flag)
+ {
+ const ScPatternAttr* pPattern = rDoc.GetPattern(0, 1, 1);
+ const SfxPoolItem& rPoolItem = pPattern->GetItem(ATTR_MERGE_FLAG);
+ const ScMergeFlagAttr& rMergeFlag = static_cast<const ScMergeFlagAttr&>(rPoolItem);
+ CPPUNIT_ASSERT(rMergeFlag.GetValue() & ScMF::ButtonPopup);
+ }
+
+ // Check second pivot table's popup button
+ {
+ const ScPatternAttr* pPattern = rDoc.GetPattern(3, 0, 1);
+ const SfxPoolItem& rPoolItem = pPattern->GetItem(ATTR_MERGE_FLAG);
+ const ScMergeFlagAttr& rMergeFlag = static_cast<const ScMergeFlagAttr&>(rPoolItem);
+ CPPUNIT_ASSERT(rMergeFlag.GetValue() & ScMF::ButtonPopup);
+ }
+}
+
ScFiltersTest::ScFiltersTest()
: ScBootstrapFixture( "sc/qa/unit/data" )