diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 16:51:28 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 16:51:28 +0000 |
commit | 940b4d1848e8c70ab7642901a68594e8016caffc (patch) | |
tree | eb72f344ee6c3d9b80a7ecc079ea79e9fba8676d /cui/qa/uitest/dialogs | |
parent | Initial commit. (diff) | |
download | libreoffice-940b4d1848e8c70ab7642901a68594e8016caffc.tar.xz libreoffice-940b4d1848e8c70ab7642901a68594e8016caffc.zip |
Adding upstream version 1:7.0.4.upstream/1%7.0.4upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'cui/qa/uitest/dialogs')
-rw-r--r-- | cui/qa/uitest/dialogs/chardlg.py | 103 | ||||
-rw-r--r-- | cui/qa/uitest/dialogs/pastedlg.py | 47 | ||||
-rw-r--r-- | cui/qa/uitest/dialogs/shortcuts.py | 43 |
3 files changed, 193 insertions, 0 deletions
diff --git a/cui/qa/uitest/dialogs/chardlg.py b/cui/qa/uitest/dialogs/chardlg.py new file mode 100644 index 000000000..2545d2682 --- /dev/null +++ b/cui/qa/uitest/dialogs/chardlg.py @@ -0,0 +1,103 @@ +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +from libreoffice.uno.propertyvalue import mkPropertyValues +from uitest.framework import UITestCase +from uitest.uihelper.common import select_pos +from uitest.uihelper.common import get_state_as_dict + +# Test for cui/source/tabpages/chardlg.cxx. +class Test(UITestCase): + + def testSvxCharEffectsPage(self): + # Start Impress. + self.ui_test.create_doc_in_start_center("impress") + template = self.xUITest.getTopFocusWindow() + self.ui_test.close_dialog_through_button(template.getChild("cancel")) + doc = self.xUITest.getTopFocusWindow() + editWin = doc.getChild("impress_win") + # Select the title shape. + editWin.executeAction("TYPE", mkPropertyValues({"KEYCODE": "TAB"})) + editWin.executeAction("TYPE", mkPropertyValues({"TEXT": "t"})) + self.xUITest.executeCommand(".uno:SelectAll") + + # Now use Format -> Character. + self.ui_test.execute_dialog_through_command(".uno:FontDialog") + xDialog = self.xUITest.getTopFocusWindow() + xTabs = xDialog.getChild("tabcontrol") + # Select RID_SVXPAGE_CHAR_EFFECTS. + select_pos(xTabs, "1") + xFontTransparency = xDialog.getChild("fonttransparencymtr") + for _ in range(5): + xFontTransparency.executeAction("UP", tuple()) + self.ui_test.close_dialog_through_button(xDialog.getChild("ok")) + + # Verify the result. + component = self.ui_test.get_component() + drawPage = component.getDrawPages().getByIndex(0) + shape = drawPage.getByIndex(0) + + # Without the accompanying fix in place, this test would have failed with: + # AssertionError: 100 != 5 + # i.e. the dialog did not set transparency to 5%, instead it left the character color at + # COL_AUTO. + self.assertEqual(shape.CharTransparence, 5) + self.ui_test.close_doc() + + def testSvxCharEffectsPageWriter(self): + # Start Writer. + self.ui_test.create_doc_in_start_center("writer") + doc = self.xUITest.getTopFocusWindow() + editWin = doc.getChild("writer_edit") + # Type a character and select it. + editWin.executeAction("TYPE", mkPropertyValues({"KEYCODE": "TAB"})) + editWin.executeAction("TYPE", mkPropertyValues({"TEXT": "t"})) + self.xUITest.executeCommand(".uno:SelectAll") + + # Now use Format -> Character. + self.ui_test.execute_dialog_through_command(".uno:FontDialog") + xDialog = self.xUITest.getTopFocusWindow() + xTabs = xDialog.getChild("tabcontrol") + # Select RID_SVXPAGE_CHAR_EFFECTS. + select_pos(xTabs, "1") + xFontTransparency = xDialog.getChild("fonttransparencymtr") + # Without the accompanying fix in place, this test would have failed with: + # AssertionError: 'false' != 'true' + # i.e. the transparency widget was hidden. + self.assertEqual(get_state_as_dict(xFontTransparency)["Visible"], "true") + for _ in range(5): + xFontTransparency.executeAction("UP", tuple()) + self.ui_test.close_dialog_through_button(xDialog.getChild("ok")) + + # Verify the result. + component = self.ui_test.get_component() + paragraph = component.Text.createEnumeration().nextElement() + + self.assertEqual(paragraph.CharTransparence, 5) + self.ui_test.close_doc() + + def testSvxCharEffectsPageWriterAutomatic(self): + # Start Writer. + self.ui_test.create_doc_in_start_center("writer") + doc = self.xUITest.getTopFocusWindow() + editWin = doc.getChild("writer_edit") + + # Use Format -> Character. + self.ui_test.execute_dialog_through_command(".uno:FontDialog") + xDialog = self.xUITest.getTopFocusWindow() + xTabs = xDialog.getChild("tabcontrol") + # Select RID_SVXPAGE_CHAR_EFFECTS. + select_pos(xTabs, "1") + xFontColorLB = xDialog.getChild("fontcolorlb") + # Without the accompanying fix in place, this test would have failed with: + # AssertionError: 'White' != 'Automatic' + # i.e. the auto color lost its alpha component and appeared as white. + self.assertEqual(get_state_as_dict(xFontColorLB)["Text"], "Automatic") + + self.ui_test.close_dialog_through_button(xDialog.getChild("ok")) + self.ui_test.close_doc() + +# vim: set shiftwidth=4 softtabstop=4 expandtab: diff --git a/cui/qa/uitest/dialogs/pastedlg.py b/cui/qa/uitest/dialogs/pastedlg.py new file mode 100644 index 000000000..ccd33e02d --- /dev/null +++ b/cui/qa/uitest/dialogs/pastedlg.py @@ -0,0 +1,47 @@ +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +from libreoffice.uno.propertyvalue import mkPropertyValues +from uitest.framework import UITestCase +from uitest.uihelper.common import get_state_as_dict + + +# Test for SvPasteObjectDialog. +class Test(UITestCase): + + def testGetFormat(self): + # Copy a string in Impress. + self.ui_test.create_doc_in_start_center("impress") + template = self.xUITest.getTopFocusWindow() + self.ui_test.close_dialog_through_button(template.getChild("cancel")) + doc = self.xUITest.getTopFocusWindow() + editWin = doc.getChild("impress_win") + # Select the title shape. + editWin.executeAction("TYPE", mkPropertyValues({"KEYCODE": "TAB"})) + editWin.executeAction("TYPE", mkPropertyValues({"TEXT": "t"})) + self.xUITest.executeCommand(".uno:SelectAll") + self.xUITest.executeCommand(".uno:Copy") + + # Now use paste special to see what formats are offered. + self.ui_test.execute_dialog_through_command(".uno:PasteSpecial") + pasteSpecial = self.xUITest.getTopFocusWindow() + formats = pasteSpecial.getChild("list") + entryCount = int(get_state_as_dict(formats)["Children"]) + items = [] + for index in range(entryCount): + entry = formats.getChild(str(index)) + entry.executeAction("SELECT", tuple()) + items.append(get_state_as_dict(formats)["SelectEntryText"]) + + # Make sure there is no RTF vs Richtext duplication. + self.assertTrue("Rich text formatting (RTF)" in items) + self.assertFalse("Rich text formatting (Richtext)" in items) + + # Close the dialog and the document. + self.ui_test.close_dialog_through_button(pasteSpecial.getChild("cancel")) + self.ui_test.close_doc() + +# vim: set shiftwidth=4 softtabstop=4 expandtab: diff --git a/cui/qa/uitest/dialogs/shortcuts.py b/cui/qa/uitest/dialogs/shortcuts.py new file mode 100644 index 000000000..8a52ee423 --- /dev/null +++ b/cui/qa/uitest/dialogs/shortcuts.py @@ -0,0 +1,43 @@ +# -*- tab-width: 4; indent-tabs-mode: nil; py-indent-offset: 4 -*- +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +from uitest.framework import UITestCase +from uitest.uihelper.common import select_pos +from libreoffice.uno.propertyvalue import mkPropertyValues +from uitest.uihelper.common import get_state_as_dict + +class Test(UITestCase): + + def test_tab_navigation(self): + self.ui_test.create_doc_in_start_center("writer") + xWriterDoc = self.xUITest.getTopFocusWindow() + xWriterEdit = xWriterDoc.getChild("writer_edit") + + self.ui_test.execute_dialog_through_command(".uno:EditStyle") #open style dialog + xDialog = self.xUITest.getTopFocusWindow() + + xTabs = xDialog.getChild("tabcontrol") + select_pos(xTabs, "0") + + for i in range(16): + self.assertEqual(get_state_as_dict(xTabs)["CurrPagePos"], str(i)) + + xTabs.executeAction("TYPE", mkPropertyValues({"KEYCODE":"CTRL+PAGEDOWN"})) + + self.assertEqual(get_state_as_dict(xTabs)["CurrPagePos"], "0") + + for i in reversed(range(16)): + xTabs.executeAction("TYPE", mkPropertyValues({"KEYCODE":"CTRL+PAGEUP"})) + + self.assertEqual(get_state_as_dict(xTabs)["CurrPagePos"], str(i)) + + xOkBtn = xDialog.getChild("ok") + xOkBtn.executeAction("CLICK", tuple()) + + self.ui_test.close_doc() + +# vim: set shiftwidth=4 softtabstop=4 expandtab: |