diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-07 11:48:25 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-07 11:48:25 +0000 |
commit | 9c0049cfae49c8e4ddef9125a69db2ad134c10c6 (patch) | |
tree | 812a86c0eee63dfc5ace12f2622ed3ce9cd3d680 /sc/qa | |
parent | Releasing progress-linux version 4:24.2.3-2~progress7.99u1. (diff) | |
download | libreoffice-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-x | sc/qa/uitest/pasteSpecial/tdf160765.py | 34 | ||||
-rw-r--r-- | sc/qa/unit/data/ods/tdf160329_sortWithHiddenRows.ods | bin | 0 -> 16799 bytes | |||
-rw-r--r-- | sc/qa/unit/scshapetest.cxx | 37 |
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 Binary files differnew file mode 100644 index 0000000000..5ba746ad7b --- /dev/null +++ b/sc/qa/unit/data/ods/tdf160329_sortWithHiddenRows.ods 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: */ |