diff options
-rw-r--r-- | svx/source/uitest/sdrobject.cxx | 26 | ||||
-rw-r--r-- | uitest/impress_tests/drawinglayer.py | 19 |
2 files changed, 42 insertions, 3 deletions
diff --git a/svx/source/uitest/sdrobject.cxx b/svx/source/uitest/sdrobject.cxx index 9142cfdb3db1..eaf56ba8012d 100644 --- a/svx/source/uitest/sdrobject.cxx +++ b/svx/source/uitest/sdrobject.cxx @@ -72,9 +72,29 @@ void SdrUIObject::execute(const OUString& rAction, } else if (rAction == "RESIZE") { - Point aPos; - Fraction aFracX; - Fraction aFracY; + auto itrNX = rParameters.find("X"); + if (itrNX == rParameters.end()) + throw css::uno::RuntimeException("missing parameter X"); + + auto itrNY = rParameters.find("Y"); + if (itrNY == rParameters.end()) + throw css::uno::RuntimeException("missing parameter Y"); + + long nX = itrNX->second.toInt32(); + long nY = itrNY->second.toInt32(); + Point aPos(nX, nY); + + auto itrFracX = rParameters.find("FRAC_X"); + if (itrFracX == rParameters.end()) + throw css::uno::RuntimeException("missing parameter FRAC_X"); + double nFracX = itrFracX->second.toDouble(); + Fraction aFracX(nFracX); + + auto itrFracY = rParameters.find("FRAC_Y"); + if (itrFracY == rParameters.end()) + throw css::uno::RuntimeException("missing parameter FRAC_Y"); + double nFracY = itrFracY->second.toDouble(); + Fraction aFracY(nFracY); bool bRelative = true; pObj->Resize(aPos, aFracX, aFracY, bRelative); } diff --git a/uitest/impress_tests/drawinglayer.py b/uitest/impress_tests/drawinglayer.py index 76574461c73f..8426f7e5f650 100644 --- a/uitest/impress_tests/drawinglayer.py +++ b/uitest/impress_tests/drawinglayer.py @@ -33,3 +33,22 @@ class ImpressDrawinglayerTest(UITestCase): time.sleep(10) self.ui_test.close_doc() + + def test_resize_object(self): + self.ui_test.create_doc_in_start_center("impress") + + xTemplateDlg = self.xUITest.getTopFocusWindow() + xCancelBtn = xTemplateDlg.getChild("cancel") + self.ui_test.close_dialog_through_button(xCancelBtn) + + xImpressDoc = self.xUITest.getTopFocusWindow() + + xEditWin = xImpressDoc.getChild("impress_win") + + xDrawinglayerObject = xEditWin.getChild("Unnamed Drawinglayer object 1") + print(get_state_as_dict(xDrawinglayerObject)) + xDrawinglayerObject.executeAction("RESIZE", mkPropertyValues({"X": "500", "Y":"4000", "FRAC_X": "0.5", "FRAC_Y": "0.5"})) + + time.sleep(5) + + self.ui_test.close_doc() |