[Libreoffice-commits] core.git: test/source

Samuel Mehrbrodt (via logerrit) logerrit at kemper.freedesktop.org
Tue Apr 2 07:51:06 UTC 2019


 test/source/sheet/shape.cxx |   59 +++++++++++++++++---------------------------
 1 file changed, 24 insertions(+), 35 deletions(-)

New commits:
commit 67c5fb957f585772e23678fdcc6e24734b9fbc48
Author:     Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
AuthorDate: Tue Apr 2 08:06:53 2019 +0200
Commit:     Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
CommitDate: Tue Apr 2 09:50:44 2019 +0200

    Improve sc shape test
    
    Actually test anchoring the shape to a cell and to a page again
    
    Change-Id: I2d625b9a4f04aaf61dd8c1e8d10c639cbb4f0da5
    Reviewed-on: https://gerrit.libreoffice.org/70110
    Tested-by: Jenkins
    Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>

diff --git a/test/source/sheet/shape.cxx b/test/source/sheet/shape.cxx
index ffa7d8ab112b..e9d26af4a2a0 100644
--- a/test/source/sheet/shape.cxx
+++ b/test/source/sheet/shape.cxx
@@ -10,8 +10,8 @@
 #include <test/sheet/shape.hxx>
 
 #include <com/sun/star/beans/XPropertySet.hpp>
-#include <com/sun/star/sheet/XSpreadsheetDocument.hpp>
 #include <com/sun/star/sheet/XSpreadsheet.hpp>
+#include <com/sun/star/sheet/XSpreadsheetDocument.hpp>
 #include <com/sun/star/sheet/XSpreadsheets.hpp>
 #include <com/sun/star/table/XCell.hpp>
 #include <com/sun/star/uno/Any.hxx>
@@ -28,65 +28,54 @@ namespace apitest
 void Shape::testShapeProperties()
 {
     uno::Reference<beans::XPropertySet> xShape(init(), UNO_QUERY_THROW);
-    OUString propName;
     uno::Any aNewValue;
 
-    propName = "Anchor";
     uno::Reference<sheet::XSpreadsheetDocument> xDoc(getXSheetDocument(), UNO_QUERY_THROW);
     uno::Reference<sheet::XSpreadsheets> xSheets(xDoc->getSheets(), UNO_QUERY_THROW);
     uno::Sequence<OUString> sheetNames = xSheets->getElementNames();
     uno::Reference<sheet::XSpreadsheet> xSheet(xSheets->getByName(sheetNames[0]), UNO_QUERY_THROW);
     uno::Reference<table::XCell> xCell(xSheet->getCellByPosition(0, 0), UNO_QUERY_THROW);
 
+    // Shape should be anchored to sheet by default
     uno::Reference<sheet::XSpreadsheet> xSheetGet;
-    uno::Reference<table::XCell> xCellGet;
+    CPPUNIT_ASSERT_MESSAGE("Unable to get PropertyValue Anchor (XSpreadsheet)",
+                           xShape->getPropertyValue("Anchor") >>= xSheetGet);
 
-    if (xShape->getPropertyValue(propName) >>= xSheetGet)
-    {
-        uno::Reference<sheet::XSpreadsheet> xSheetSet;
-        CPPUNIT_ASSERT_MESSAGE("Unable to get PropertyValue Anchor (XSpreadsheet)",
-                               xShape->getPropertyValue(propName) >>= xSheetGet);
-
-        aNewValue <<= xSheet;
-        xShape->setPropertyValue(propName, aNewValue);
-        CPPUNIT_ASSERT(xShape->getPropertyValue(propName) >>= xSheetSet);
-        // TODO: Find a way to compare sheet::XSpreadsheet objects
-        //CPPUNIT_ASSERT_EQUAL_MESSAGE("Unable to set PropertyValue Anchor (XSpreadsheet)",
-        //xSheet.get(), xSheetSet.get());
-    }
-    else if (xShape->getPropertyValue(propName) >>= xCellGet)
-    {
-        uno::Reference<table::XCell> xCellSet;
-        CPPUNIT_ASSERT_MESSAGE("Unable to get PropertyValue Anchor (XCell)",
-                               xShape->getPropertyValue(propName) >>= xCellGet);
+    // Anchor the shape to a cell
+    aNewValue <<= xCell;
+    xShape->setPropertyValue("Anchor", aNewValue);
+    uno::Reference<table::XCell> xCellGet;
+    CPPUNIT_ASSERT_MESSAGE("Unable to get PropertyValue Anchor (XCell)",
+                           xShape->getPropertyValue("Anchor") >>= xCellGet);
 
-        aNewValue <<= xCell;
-        xShape->setPropertyValue(propName, aNewValue);
-        CPPUNIT_ASSERT(xShape->getPropertyValue(propName) >>= xCellSet);
-        CPPUNIT_ASSERT_EQUAL_MESSAGE("Unable to set PropertyValue Anchor (XCell)", xCell, xCellSet);
-    }
+    // Now anchor to sheet again
+    aNewValue <<= xSheet;
+    xShape->setPropertyValue("Anchor", aNewValue);
+    xShape->getPropertyValue("Anchor") >>= xSheetGet;
+    CPPUNIT_ASSERT_MESSAGE("Unable to get PropertyValue Anchor (XSpreadsheet)",
+                           xShape->getPropertyValue("Anchor") >>= xSheetGet);
 
-    propName = "HoriOrientPosition";
     sal_Int32 nHoriOrientPositionGet = 0;
     sal_Int32 nHoriOrientPositionSet = 0;
     CPPUNIT_ASSERT_MESSAGE("Unable to get PropertyValue HoriOrientPosition",
-                           xShape->getPropertyValue(propName) >>= nHoriOrientPositionGet);
+                           xShape->getPropertyValue("HoriOrientPosition")
+                           >>= nHoriOrientPositionGet);
 
     aNewValue <<= nHoriOrientPositionGet + 42;
-    xShape->setPropertyValue(propName, aNewValue);
-    CPPUNIT_ASSERT(xShape->getPropertyValue(propName) >>= nHoriOrientPositionSet);
+    xShape->setPropertyValue("HoriOrientPosition", aNewValue);
+    CPPUNIT_ASSERT(xShape->getPropertyValue("HoriOrientPosition") >>= nHoriOrientPositionSet);
     CPPUNIT_ASSERT_EQUAL_MESSAGE("Unable to set PropertyValue HoriOrientPosition",
                                  nHoriOrientPositionGet + 42, nHoriOrientPositionSet);
 
-    propName = "VertOrientPosition";
     sal_Int32 nVertOrientPositionGet = 0;
     sal_Int32 nVertOrientPositionSet = 0;
     CPPUNIT_ASSERT_MESSAGE("Unable to get PropertyValue VertOrientPosition",
-                           xShape->getPropertyValue(propName) >>= nVertOrientPositionGet);
+                           xShape->getPropertyValue("VertOrientPosition")
+                           >>= nVertOrientPositionGet);
 
     aNewValue <<= nVertOrientPositionGet + 42;
-    xShape->setPropertyValue(propName, aNewValue);
-    CPPUNIT_ASSERT(xShape->getPropertyValue(propName) >>= nVertOrientPositionSet);
+    xShape->setPropertyValue("VertOrientPosition", aNewValue);
+    CPPUNIT_ASSERT(xShape->getPropertyValue("VertOrientPosition") >>= nVertOrientPositionSet);
     CPPUNIT_ASSERT_EQUAL_MESSAGE("Unable to set PropertyValue VertOrientPosition",
                                  nVertOrientPositionGet + 42, nVertOrientPositionSet);
 }


More information about the Libreoffice-commits mailing list