[Libreoffice-commits] core.git: lotuswordpro/qa

Xisco Fauli (via logerrit) logerrit at kemper.freedesktop.org
Wed Feb 5 15:11:35 UTC 2020


 lotuswordpro/qa/cppunit/data/paragraphProperties.lwp |binary
 lotuswordpro/qa/cppunit/import_test.cxx              |  162 +++++++++++++++++++
 2 files changed, 162 insertions(+)

New commits:
commit fe5033036937ab655df997577909527ffb85f5af
Author:     Xisco Fauli <xiscofauli at libreoffice.org>
AuthorDate: Tue Feb 4 16:42:04 2020 +0100
Commit:     Miklos Vajna <vmiklos at collabora.com>
CommitDate: Wed Feb 5 16:11:04 2020 +0100

    LWP: add unittest for char/para properties
    
    Change-Id: I2ef37845a2b7de189667a6ce81e7d061b1b15eb8
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87987
    Tested-by: Jenkins
    Reviewed-by: Miklos Vajna <vmiklos at collabora.com>

diff --git a/lotuswordpro/qa/cppunit/data/paragraphProperties.lwp b/lotuswordpro/qa/cppunit/data/paragraphProperties.lwp
new file mode 100644
index 000000000000..dc4048cb9220
Binary files /dev/null and b/lotuswordpro/qa/cppunit/data/paragraphProperties.lwp differ
diff --git a/lotuswordpro/qa/cppunit/import_test.cxx b/lotuswordpro/qa/cppunit/import_test.cxx
index 5f3770b69e3e..26cd05bb22b5 100644
--- a/lotuswordpro/qa/cppunit/import_test.cxx
+++ b/lotuswordpro/qa/cppunit/import_test.cxx
@@ -10,11 +10,19 @@
 #include <test/bootstrapfixture.hxx>
 #include <unotest/macros_test.hxx>
 
+#include <com/sun/star/awt/FontWeight.hpp>
+#include <com/sun/star/awt/FontSlant.hpp>
+#include <com/sun/star/awt/FontUnderline.hpp>
+#include <com/sun/star/awt/FontStrikeout.hpp>
+#include <com/sun/star/table/BorderLine2.hpp>
 #include <com/sun/star/drawing/XDrawPagesSupplier.hpp>
 #include <com/sun/star/frame/Desktop.hpp>
+#include <com/sun/star/style/ParagraphAdjust.hpp>
+#include <com/sun/star/style/LineSpacing.hpp>
 #include <com/sun/star/text/XTextDocument.hpp>
 #include <com/sun/star/text/XTextTable.hpp>
 #include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/beans/XPropertySet.hpp>
 
 #include <comphelper/processfactory.hxx>
 
@@ -68,6 +76,160 @@ CPPUNIT_TEST_FIXTURE(LotusWordProTest, testTdf129993)
     CPPUNIT_ASSERT_EQUAL(sal_True, xServiceInfo->supportsService("com.sun.star.text.TextTable"));
 }
 
+CPPUNIT_TEST_FIXTURE(LotusWordProTest, paragraphProperties)
+{
+    OUString aURL = m_directories.getURLFromSrc(DATA_DIRECTORY) + "paragraphProperties.lwp";
+    getComponent() = loadFromDesktop(aURL);
+    CPPUNIT_ASSERT(getComponent().is());
+
+    uno::Reference<text::XTextDocument> textDocument(getComponent(), uno::UNO_QUERY);
+    uno::Reference<container::XEnumerationAccess> xParaEnumAccess(textDocument->getText(),
+                                                                  uno::UNO_QUERY);
+    uno::Reference<container::XEnumeration> xParaEnum = xParaEnumAccess->createEnumeration();
+
+    //Ignore the first paragraphs
+    for (int i = 0; i < 4; ++i)
+        xParaEnum->nextElement();
+
+    // bold
+    uno::Reference<text::XTextRange> const xParagraph(xParaEnum->nextElement(),
+                                                      uno::UNO_QUERY_THROW);
+    uno::Reference<beans::XPropertySet> xPropertySet(xParagraph, uno::UNO_QUERY);
+    float fFontWeight;
+    xPropertySet->getPropertyValue("CharWeight") >>= fFontWeight;
+    CPPUNIT_ASSERT_EQUAL(awt::FontWeight::BOLD, fFontWeight);
+
+    // italic
+    uno::Reference<text::XTextRange> const xParagraph2(xParaEnum->nextElement(),
+                                                       uno::UNO_QUERY_THROW);
+    uno::Reference<beans::XPropertySet> xPropertySet2(xParagraph2, uno::UNO_QUERY);
+    awt::FontSlant fFontSlant;
+    xPropertySet2->getPropertyValue("CharPosture") >>= fFontSlant;
+    CPPUNIT_ASSERT_EQUAL(awt::FontSlant_ITALIC, fFontSlant);
+
+    // underline
+    uno::Reference<text::XTextRange> const xParagraph3(xParaEnum->nextElement(),
+                                                       uno::UNO_QUERY_THROW);
+    uno::Reference<beans::XPropertySet> xPropertySet3(xParagraph3, uno::UNO_QUERY);
+    sal_Int16 nCharUnderline;
+    xPropertySet3->getPropertyValue("CharUnderline") >>= nCharUnderline;
+    CPPUNIT_ASSERT_EQUAL(awt::FontUnderline::SINGLE, nCharUnderline);
+
+    // striked through
+    uno::Reference<text::XTextRange> const xParagraph4(xParaEnum->nextElement(),
+                                                       uno::UNO_QUERY_THROW);
+    uno::Reference<beans::XPropertySet> xPropertySet4(xParagraph4, uno::UNO_QUERY);
+    sal_Int16 nFontStrikeout;
+    xPropertySet4->getPropertyValue("CharStrikeout") >>= nFontStrikeout;
+    CPPUNIT_ASSERT_EQUAL(awt::FontStrikeout::SINGLE, nFontStrikeout);
+
+    //superscript
+    uno::Reference<text::XTextRange> const xParagraph5(xParaEnum->nextElement(),
+                                                       uno::UNO_QUERY_THROW);
+    uno::Reference<beans::XPropertySet> xPropertySet5(xParagraph5, uno::UNO_QUERY);
+    sal_Int32 nCharEscapement;
+    xPropertySet5->getPropertyValue("CharEscapement") >>= nCharEscapement;
+    CPPUNIT_ASSERT_EQUAL(sal_Int32(33), nCharEscapement);
+
+    sal_Int32 nCharEscapementHeight;
+    xPropertySet5->getPropertyValue("CharEscapementHeight") >>= nCharEscapementHeight;
+    CPPUNIT_ASSERT_EQUAL(sal_Int32(58), nCharEscapementHeight);
+
+    //subscript
+    uno::Reference<text::XTextRange> const xParagraph6(xParaEnum->nextElement(),
+                                                       uno::UNO_QUERY_THROW);
+    uno::Reference<beans::XPropertySet> xPropertySet6(xParagraph6, uno::UNO_QUERY);
+    sal_Int32 nCharEscapement2;
+    xPropertySet6->getPropertyValue("CharEscapement") >>= nCharEscapement2;
+    CPPUNIT_ASSERT_EQUAL(sal_Int32(-33), nCharEscapement2);
+
+    sal_Int32 nCharEscapementHeight2;
+    xPropertySet6->getPropertyValue("CharEscapementHeight") >>= nCharEscapementHeight2;
+    CPPUNIT_ASSERT_EQUAL(sal_Int32(58), nCharEscapementHeight2);
+
+    // red background and borders
+    uno::Reference<text::XTextRange> const xParagraph7(xParaEnum->nextElement(),
+                                                       uno::UNO_QUERY_THROW);
+    uno::Reference<beans::XPropertySet> xPropertySet7(xParagraph7, uno::UNO_QUERY);
+    sal_Int32 nParaBackColor;
+    xPropertySet7->getPropertyValue("ParaBackColor") >>= nParaBackColor;
+    CPPUNIT_ASSERT_EQUAL(sal_Int32(16711680), nParaBackColor);
+
+    table::BorderLine2 aTopBorder;
+    xPropertySet7->getPropertyValue("TopBorder") >>= aTopBorder;
+    CPPUNIT_ASSERT_EQUAL(sal_Int16(35), aTopBorder.OuterLineWidth);
+
+    table::BorderLine2 aBottomBorder;
+    xPropertySet7->getPropertyValue("BottomBorder") >>= aBottomBorder;
+    CPPUNIT_ASSERT_EQUAL(sal_Int16(35), aBottomBorder.OuterLineWidth);
+
+    table::BorderLine2 aLeftBorder;
+    xPropertySet7->getPropertyValue("LeftBorder") >>= aLeftBorder;
+    CPPUNIT_ASSERT_EQUAL(sal_Int16(35), aLeftBorder.OuterLineWidth);
+
+    table::BorderLine2 aRightBorder;
+    xPropertySet7->getPropertyValue("RightBorder") >>= aRightBorder;
+    CPPUNIT_ASSERT_EQUAL(sal_Int16(35), aRightBorder.OuterLineWidth);
+
+    // centered
+    uno::Reference<text::XTextRange> const xParagraph8(xParaEnum->nextElement(),
+                                                       uno::UNO_QUERY_THROW);
+    uno::Reference<beans::XPropertySet> xPropertySet8(xParagraph8, uno::UNO_QUERY);
+    sal_Int16 nParaAdjust;
+    xPropertySet8->getPropertyValue("ParaAdjust") >>= nParaAdjust;
+    CPPUNIT_ASSERT_EQUAL(style::ParagraphAdjust_CENTER,
+                         static_cast<style::ParagraphAdjust>(nParaAdjust));
+
+    // left margin
+    uno::Reference<text::XTextRange> const xParagraph9(xParaEnum->nextElement(),
+                                                       uno::UNO_QUERY_THROW);
+    uno::Reference<beans::XPropertySet> xPropertySet9(xParagraph9, uno::UNO_QUERY);
+    sal_Int32 nParaLeftMargin;
+    xPropertySet9->getPropertyValue("ParaLeftMargin") >>= nParaLeftMargin;
+    CPPUNIT_ASSERT_EQUAL(sal_Int32(2000), nParaLeftMargin);
+
+    // double line spacing
+    uno::Reference<text::XTextRange> const xParagraph10(xParaEnum->nextElement(),
+                                                        uno::UNO_QUERY_THROW);
+    uno::Reference<beans::XPropertySet> xPropertySet10(xParagraph10, uno::UNO_QUERY);
+    style::LineSpacing nParaLineSpacing;
+    xPropertySet10->getPropertyValue("ParaLineSpacing") >>= nParaLineSpacing;
+    CPPUNIT_ASSERT_EQUAL(sal_Int16(200), nParaLineSpacing.Height);
+
+    // time new roman 12
+    uno::Reference<text::XTextRange> const xParagraph11(xParaEnum->nextElement(),
+                                                        uno::UNO_QUERY_THROW);
+    uno::Reference<beans::XPropertySet> xPropertySet11(xParagraph11, uno::UNO_QUERY);
+    OUString sCharFontName;
+    xPropertySet11->getPropertyValue("CharFontName") >>= sCharFontName;
+    CPPUNIT_ASSERT_EQUAL(OUString("Times New Roman"), sCharFontName);
+    float fCharFontHeight;
+    xPropertySet11->getPropertyValue("CharHeight") >>= fCharFontHeight;
+    CPPUNIT_ASSERT_EQUAL(float(12.), fCharFontHeight);
+
+    // time new roman 16
+    uno::Reference<text::XTextRange> const xParagraph12(xParaEnum->nextElement(),
+                                                        uno::UNO_QUERY_THROW);
+    uno::Reference<beans::XPropertySet> xPropertySet12(xParagraph12, uno::UNO_QUERY);
+    OUString sCharFontName2;
+    xPropertySet12->getPropertyValue("CharFontName") >>= sCharFontName2;
+    CPPUNIT_ASSERT_EQUAL(OUString("Times New Roman"), sCharFontName2);
+    float fCharFontHeight2;
+    xPropertySet12->getPropertyValue("CharHeight") >>= fCharFontHeight2;
+    CPPUNIT_ASSERT_EQUAL(float(16.), fCharFontHeight2);
+
+    //ignore this paragraph
+    xParaEnum->nextElement();
+
+    //text color
+    uno::Reference<text::XTextRange> const xParagraph13(xParaEnum->nextElement(),
+                                                        uno::UNO_QUERY_THROW);
+    uno::Reference<beans::XPropertySet> xPropertySet13(xParagraph13, uno::UNO_QUERY);
+    sal_Int32 nCharColor;
+    xPropertySet13->getPropertyValue("CharColor") >>= nCharColor;
+    CPPUNIT_ASSERT_EQUAL(sal_Int32(65280), nCharColor);
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */


More information about the Libreoffice-commits mailing list