diff options
Diffstat (limited to 'sc/qa')
-rw-r--r-- | sc/qa/unit/data/ods/tdf79998.ods | bin | 0 -> 41951 bytes | |||
-rw-r--r-- | sc/qa/unit/filters-test.cxx | 20 |
2 files changed, 20 insertions, 0 deletions
diff --git a/sc/qa/unit/data/ods/tdf79998.ods b/sc/qa/unit/data/ods/tdf79998.ods Binary files differnew file mode 100644 index 000000000000..201cca140585 --- /dev/null +++ b/sc/qa/unit/data/ods/tdf79998.ods diff --git a/sc/qa/unit/filters-test.cxx b/sc/qa/unit/filters-test.cxx index dc097180cbbd..43c3483bb281 100644 --- a/sc/qa/unit/filters-test.cxx +++ b/sc/qa/unit/filters-test.cxx @@ -70,6 +70,7 @@ public: void testSharedFormulaXLSX(); void testSharedFormulaRefUpdateXLSX(); void testSheetNamesXLSX(); + void testTdf79998(); void testLegacyCellAnchoredRotatedShape(); void testEnhancedProtectionXLS(); void testEnhancedProtectionXLSX(); @@ -96,6 +97,7 @@ public: CPPUNIT_TEST(testSharedFormulaXLSX); CPPUNIT_TEST(testSharedFormulaRefUpdateXLSX); CPPUNIT_TEST(testSheetNamesXLSX); + CPPUNIT_TEST(testTdf79998); CPPUNIT_TEST(testLegacyCellAnchoredRotatedShape); CPPUNIT_TEST(testEnhancedProtectionXLS); CPPUNIT_TEST(testEnhancedProtectionXLSX); @@ -468,6 +470,24 @@ void ScFiltersTest::testSheetNamesXLSX() xDocSh->DoClose(); } +// FILESAVE: XLSX export with long sheet names (length > 31 characters) +void ScFiltersTest::testTdf79998() +{ + // check: original document has tab name > 31 characters + ScDocShellRef xDocSh = loadDoc("tdf79998.", FORMAT_ODS); + ScDocument& rDoc1 = xDocSh->GetDocument(); + const std::vector<OUString> aTabNames1 = rDoc1.GetAllTableNames(); + CPPUNIT_ASSERT_EQUAL(OUString("Utilities (FX Kurse, Kreditkarten etc)"), aTabNames1[1]); + + // check: saved XLSX document has truncated tab name + xDocSh = saveAndReload( &(*xDocSh), FORMAT_XLSX); + ScDocument& rDoc2 = xDocSh->GetDocument(); + const std::vector<OUString> aTabNames2 = rDoc2.GetAllTableNames(); + CPPUNIT_ASSERT_EQUAL(OUString("Utilities (FX Kurse, Kreditkart"), aTabNames2[1]); + + xDocSh->DoClose(); +} + static void impl_testLegacyCellAnchoredRotatedShape( ScDocument& rDoc, const tools::Rectangle& aRect, const ScDrawObjData& aAnchor, long TOLERANCE = 30 /* 30 hmm */ ) { ScDrawLayer* pDrawLayer = rDoc.GetDrawLayer(); |