summaryrefslogtreecommitdiff
path: root/xmloff/qa/unit
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.com>2021-09-02 16:39:26 +0200
committerMiklos Vajna <vmiklos@collabora.com>2021-09-02 19:24:16 +0200
commit6d9b61c22a5b4372bf5592556d21c8417ed22bfa (patch)
tree5cf3779bdcb26dc8165f1e260a2fc55cbf38f509 /xmloff/qa/unit
parent40c760ff73d9713b11b6c6b124dc27f0da17daf3 (diff)
Related: tdf#137363 ODT import: handle style:list-level="..." for para styles
This is just the import side, the export side still needs doing. The used attribute was already part of ODF, and NumberingLevel for para styles where already imported/exported for DOCX. Change-Id: I8385ed23dc799c99e81318387236341b404d01a7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121515 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
Diffstat (limited to 'xmloff/qa/unit')
-rw-r--r--xmloff/qa/unit/data/para-style-list-level.fodt14
-rw-r--r--xmloff/qa/unit/text.cxx22
2 files changed, 36 insertions, 0 deletions
diff --git a/xmloff/qa/unit/data/para-style-list-level.fodt b/xmloff/qa/unit/data/para-style-list-level.fodt
new file mode 100644
index 000000000000..88f96e349ee2
--- /dev/null
+++ b/xmloff/qa/unit/data/para-style-list-level.fodt
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<office:document xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" office:version="1.3" office:mimetype="application/vnd.oasis.opendocument.text">
+ <office:styles>
+ <style:style style:name="mystyle" style:family="paragraph" style:list-style-name="WWNum1" style:list-level="2"/>
+ <text:list-style style:name="mylist">
+ </text:list-style>
+ </office:styles>
+ <office:master-styles/>
+ <office:body>
+ <office:text>
+ <text:p/>
+ </office:text>
+ </office:body>
+</office:document>
diff --git a/xmloff/qa/unit/text.cxx b/xmloff/qa/unit/text.cxx
index 9a177099b8a3..79acb8cb08bf 100644
--- a/xmloff/qa/unit/text.cxx
+++ b/xmloff/qa/unit/text.cxx
@@ -15,6 +15,7 @@
#include <com/sun/star/frame/XStorable.hpp>
#include <com/sun/star/text/XTextDocument.hpp>
#include <com/sun/star/text/BibliographyDataType.hpp>
+#include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
#include <comphelper/propertysequence.hxx>
#include <comphelper/propertyvalue.hxx>
@@ -161,6 +162,27 @@ CPPUNIT_TEST_FIXTURE(XmloffStyleTest, testCommentTableBorder)
getComponent() = loadFromDesktop(aURL);
}
+CPPUNIT_TEST_FIXTURE(XmloffStyleTest, testParaStyleListLevel)
+{
+ // Given a document with style:list-level="...":
+ OUString aURL = m_directories.getURLFromSrc(DATA_DIRECTORY) + "para-style-list-level.fodt";
+
+ // When loading that document:
+ getComponent() = loadFromDesktop(aURL);
+
+ // Then make sure we map that to the paragraph style's numbering level:
+ uno::Reference<style::XStyleFamiliesSupplier> xStyleFamiliesSupplier(getComponent(),
+ uno::UNO_QUERY);
+ uno::Reference<container::XNameAccess> xStyleFamilies
+ = xStyleFamiliesSupplier->getStyleFamilies();
+ uno::Reference<container::XNameAccess> xStyleFamily(
+ xStyleFamilies->getByName("ParagraphStyles"), uno::UNO_QUERY);
+ uno::Reference<beans::XPropertySet> xStyle(xStyleFamily->getByName("mystyle"), uno::UNO_QUERY);
+ sal_Int16 nNumberingLevel{};
+ CPPUNIT_ASSERT(xStyle->getPropertyValue("NumberingLevel") >>= nNumberingLevel);
+ CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int16>(2), nNumberingLevel);
+}
+
CPPUNIT_PLUGIN_IMPLEMENT();
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */