diff options
author | Tibor Nagy <nagy.tibor2@nisz.hu> | 2020-07-17 13:23:41 +0200 |
---|---|---|
committer | László Németh <nemeth@numbertext.org> | 2020-07-27 13:39:09 +0200 |
commit | 055735fa8589670f67e016bc3b7835d4cf81641f (patch) | |
tree | e29abcd8f2b7bfc6315b01ca2e8c75e7d739f0be /sc/qa | |
parent | 1d1ea369da6e027b1ed1453584233f0f7cdcf223 (diff) |
tdf#134826 XLSX import: extend localized bold/italic footer/header
OOXML formatting code support with Hungarian "félkövér" (semibold)
and "dőlt" (italic), similar to German, according to formatting
code standard of OOXML 18.3.1.46 headerFooter (Header Footer
Settings): "Both font-name and font-type can be localized values."
Co-authored-by: Attila Szűcs (NISZ)
Change-Id: I95de548fe27d4a6c4e9504dc1f746c8d4419222b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99016
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
Diffstat (limited to 'sc/qa')
-rw-r--r-- | sc/qa/unit/data/xlsx/tdf134826.xlsx | bin | 0 -> 9043 bytes | |||
-rw-r--r-- | sc/qa/unit/subsequent_export-test.cxx | 32 |
2 files changed, 32 insertions, 0 deletions
diff --git a/sc/qa/unit/data/xlsx/tdf134826.xlsx b/sc/qa/unit/data/xlsx/tdf134826.xlsx Binary files differnew file mode 100644 index 000000000000..dd86afea2cd5 --- /dev/null +++ b/sc/qa/unit/data/xlsx/tdf134826.xlsx diff --git a/sc/qa/unit/subsequent_export-test.cxx b/sc/qa/unit/subsequent_export-test.cxx index b645979f6b84..f0e4b5c44c55 100644 --- a/sc/qa/unit/subsequent_export-test.cxx +++ b/sc/qa/unit/subsequent_export-test.cxx @@ -254,6 +254,7 @@ public: void testTdf83779(); void testTdf134459_HeaderFooterColorXLSX(); void testTdf134817_HeaderFooterTextWith2SectionXLSX(); + void testHeaderFontStyleXLSX(); CPPUNIT_TEST_SUITE(ScExportTest); CPPUNIT_TEST(test); @@ -406,6 +407,7 @@ public: CPPUNIT_TEST(testTdf83779); CPPUNIT_TEST(testTdf134459_HeaderFooterColorXLSX); CPPUNIT_TEST(testTdf134817_HeaderFooterTextWith2SectionXLSX); + CPPUNIT_TEST(testHeaderFontStyleXLSX); CPPUNIT_TEST_SUITE_END(); @@ -5182,6 +5184,36 @@ void ScExportTest::testTdf134817_HeaderFooterTextWith2SectionXLSX() xDocSh->DoClose(); } +void ScExportTest::testHeaderFontStyleXLSX() +{ + ScDocShellRef xShell = loadDoc("tdf134826.", FORMAT_XLSX); + CPPUNIT_ASSERT(xShell.is()); + + ScDocument& rDoc = xShell->GetDocument(); + SfxStyleSheetBase* pStyleSheet = rDoc.GetStyleSheetPool()->Find(rDoc.GetPageStyle(0), SfxStyleFamily::Page); + const SfxItemSet& rItemSet = pStyleSheet->GetItemSet(); + const ScPageHFItem& rHFItem = rItemSet.Get(ATTR_PAGE_HEADERRIGHT); + const EditTextObject* pTextObj = rHFItem.GetLeftArea(); + + std::vector<EECharAttrib> rLst; + + // first line is bold. + pTextObj->GetCharAttribs(0, rLst); + bool bHasBold = std::any_of(rLst.begin(), rLst.end(), [](const EECharAttrib& rAttrib) { + return rAttrib.pAttr->Which() == EE_CHAR_WEIGHT && + static_cast<const SvxWeightItem&>(*rAttrib.pAttr).GetWeight() == WEIGHT_BOLD; }); + CPPUNIT_ASSERT_MESSAGE("First line should be bold.", bHasBold); + + // second line is italic. + pTextObj->GetCharAttribs(1, rLst); + bool bHasItalic = std::any_of(rLst.begin(), rLst.end(), [](const EECharAttrib& rAttrib) { + return rAttrib.pAttr->Which() == EE_CHAR_ITALIC && + static_cast<const SvxPostureItem&>(*rAttrib.pAttr).GetPosture() == ITALIC_NORMAL; }); + CPPUNIT_ASSERT_MESSAGE("Second line should be italic.", bHasItalic); + + xShell->DoClose(); +} + CPPUNIT_TEST_SUITE_REGISTRATION(ScExportTest); CPPUNIT_PLUGIN_IMPLEMENT(); |