summaryrefslogtreecommitdiffstats
path: root/sc/qa
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-07 11:48:25 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-07 11:48:25 +0000
commit9c0049cfae49c8e4ddef9125a69db2ad134c10c6 (patch)
tree812a86c0eee63dfc5ace12f2622ed3ce9cd3d680 /sc/qa
parentReleasing progress-linux version 4:24.2.3-2~progress7.99u1. (diff)
downloadlibreoffice-9c0049cfae49c8e4ddef9125a69db2ad134c10c6.tar.xz
libreoffice-9c0049cfae49c8e4ddef9125a69db2ad134c10c6.zip
Merging upstream version 4:24.2.4.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'sc/qa')
-rwxr-xr-xsc/qa/uitest/pasteSpecial/tdf160765.py34
-rw-r--r--sc/qa/unit/data/ods/tdf160329_sortWithHiddenRows.odsbin0 -> 16799 bytes
-rw-r--r--sc/qa/unit/scshapetest.cxx37
3 files changed, 71 insertions, 0 deletions
diff --git a/sc/qa/uitest/pasteSpecial/tdf160765.py b/sc/qa/uitest/pasteSpecial/tdf160765.py
index 0b56be4c2d..c0c264432e 100755
--- a/sc/qa/uitest/pasteSpecial/tdf160765.py
+++ b/sc/qa/uitest/pasteSpecial/tdf160765.py
@@ -13,8 +13,42 @@ from libreoffice.calc.document import get_cell_by_position
from libreoffice.uno.propertyvalue import mkPropertyValues
from uitest.uihelper.calc import enter_text_to_cell
from libreoffice.calc.paste_special import reset_default_values
+from uitest.uihelper.common import get_state_as_dict
class tdf160765(UITestCase):
+ def test_tdf160765_paste_special_comments_checked(self):
+ with self.ui_test.create_doc_in_start_center("calc"):
+ xGridWin = self.xUITest.getTopFocusWindow().getChild("grid_window")
+
+ # Insert a comment in cell A1
+ xGridWin.executeAction("SELECT", mkPropertyValues({"CELL":"A1"}))
+ xArgs = mkPropertyValues({"Text": "Comment 1"})
+ self.xUITest.executeCommandWithParameters(".uno:InsertAnnotation", xArgs)
+
+ # Copy cell A1 to clipboard
+ xGridWin.executeAction("SELECT", mkPropertyValues({"CELL": "A1"}))
+ self.xUITest.executeCommand(".uno:Copy")
+
+ # Paste data using special options (check only comments)
+ xGridWin.executeAction("SELECT", mkPropertyValues({"CELL": "A2"}))
+ with self.ui_test.execute_dialog_through_command(".uno:PasteSpecial") as xPasteSpecialDlg:
+ reset_default_values(self, xPasteSpecialDlg)
+ xDateTimeChkBox = xPasteSpecialDlg.getChild("datetime")
+ xDateTimeChkBox.executeAction("CLICK", tuple())
+ xTextChkBox = xPasteSpecialDlg.getChild("text")
+ xTextChkBox.executeAction("CLICK", tuple())
+ xNumbersChkBox = xPasteSpecialDlg.getChild("numbers")
+ xNumbersChkBox.executeAction("CLICK", tuple())
+ xCommentsChkBox = xPasteSpecialDlg.getChild("comments")
+ xCommentsChkBox.executeAction("CLICK", tuple())
+
+ with self.ui_test.execute_dialog_through_command(".uno:PasteSpecial") as xPasteSpecialDlg:
+ xCommentsChkBox = xPasteSpecialDlg.getChild("comments")
+ # Without the fix in place, this test would have failed with
+ # AssertionError: 'true' != 'false'
+ # i.e., the comments checkbox was not remembered
+ self.assertEqual(get_state_as_dict(xCommentsChkBox)["Selected"], "true")
+
def test_tdf160765_undo_paste_comment(self):
with self.ui_test.create_doc_in_start_center("calc") as document:
xGridWin = self.xUITest.getTopFocusWindow().getChild("grid_window")
diff --git a/sc/qa/unit/data/ods/tdf160329_sortWithHiddenRows.ods b/sc/qa/unit/data/ods/tdf160329_sortWithHiddenRows.ods
new file mode 100644
index 0000000000..5ba746ad7b
--- /dev/null
+++ b/sc/qa/unit/data/ods/tdf160329_sortWithHiddenRows.ods
Binary files differ
diff --git a/sc/qa/unit/scshapetest.cxx b/sc/qa/unit/scshapetest.cxx
index c5b4b098c8..2e9ed6281c 100644
--- a/sc/qa/unit/scshapetest.cxx
+++ b/sc/qa/unit/scshapetest.cxx
@@ -66,6 +66,14 @@ static SdrObject* lcl_getSdrObjectWithAssert(ScDocument& rDoc, sal_uInt16 nObjNu
return pObj;
}
+static SdrObject* lcl_getSdrObjectbyName(ScDocument& rDoc, std::u16string_view rName)
+{
+ ScDrawLayer* pDrawLayer = rDoc.GetDrawLayer();
+ const SdrPage* pPage = pDrawLayer->GetPage(0);
+ SdrObject* pObj = pPage->GetObjByName(rName);
+ return pObj;
+}
+
CPPUNIT_TEST_FIXTURE(ScShapeTest, testTdf144242_OpenBezier_noSwapWH)
{
// Shapes, which have rotation incorporated in their points, got erroneously width-height
@@ -1299,6 +1307,35 @@ CPPUNIT_TEST_FIXTURE(ScShapeTest, testTdf160369_groupshape)
CPPUNIT_ASSERT_RECTANGLE_EQUAL_WITH_TOLERANCE(aOrigRect, aAfterRect, 1);
}
+CPPUNIT_TEST_FIXTURE(ScShapeTest, testTdf160329_sortWithHiddenRows)
+{
+ // Load a document, which has images anchored to cell and rows hidden
+ createScDoc("ods/tdf160329_sortWithHiddenRows.ods");
+ ScDocument* pDoc = getScDoc();
+
+ // Sort the rows
+ uno::Sequence<beans::PropertyValue> aArgs1
+ = { comphelper::makePropertyValue("DbName", u"myRange"_ustr) };
+ dispatchCommand(mxComponent, ".uno:SelectDB", aArgs1);
+ uno::Sequence<beans::PropertyValue> aArgs2
+ = { comphelper::makePropertyValue("ByRows", true),
+ comphelper::makePropertyValue("HasHeader", true),
+ comphelper::makePropertyValue("Col1", sal_Int32(1)),
+ comphelper::makePropertyValue("Ascending1", false),
+ comphelper::makePropertyValue("IncludeImages", true) };
+ dispatchCommand(mxComponent, ".uno:DataSort", aArgs2);
+
+ // Make sure objects are on correct position
+ SdrObject* pObj = lcl_getSdrObjectbyName(*pDoc, std::u16string_view(u"ImageD"));
+ Point aPos = pObj->GetSnapRect().TopLeft();
+ // The position was (3000|2899) without fix.
+ CPPUNIT_ASSERT_POINT_EQUAL_WITH_TOLERANCE(Point(3000, 5898), aPos, 1);
+ pObj = lcl_getSdrObjectbyName(*pDoc, std::u16string_view(u"ImageE"));
+ aPos = pObj->GetSnapRect().TopLeft();
+ // The position was (2600|2499) without fix.
+ CPPUNIT_ASSERT_POINT_EQUAL_WITH_TOLERANCE(Point(2600, 4399), aPos, 1);
+}
+
CPPUNIT_PLUGIN_IMPLEMENT();
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */