diff options
author | Tamás Zolnai <tamas.zolnai@collabora.com> | 2017-10-19 15:11:41 +0200 |
---|---|---|
committer | Tamás Zolnai <tamas.zolnai@collabora.com> | 2017-10-19 19:31:01 +0200 |
commit | 291874c09c4bcde61f2c6808f2df6079f38d74e0 (patch) | |
tree | bc6fae29730fc937f8eade328d3e1072cff4e367 /sc/qa | |
parent | c9a584af6d640bfd88797e1ccd0a7695ffbf6c99 (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-x | sc/qa/unit/data/ods/pivottable_no_columns_layout.ods | bin | 0 -> 13643 bytes | |||
-rw-r--r-- | sc/qa/unit/subsequent_filters-test.cxx | 30 |
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 Binary files differnew file mode 100755 index 000000000000..e6ddca7299fc --- /dev/null +++ b/sc/qa/unit/data/ods/pivottable_no_columns_layout.ods 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" ) |