From 26015550759b846b58dbc0ba458a91c135d0a09c Mon Sep 17 00:00:00 2001 From: Xisco Fauli Date: Fri, 23 Oct 2020 13:12:12 +0200 Subject: uitest: move navigator tests to their own folder Change-Id: Iacc2e21fde8fc126752d0b1fa14cd1f962930d4f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104723 Tested-by: Jenkins Reviewed-by: Xisco Fauli --- sw/Module_sw.mk | 1 + sw/UITest_sw_navigator.mk | 16 ++++++ sw/qa/uitest/navigator/tdf114724.py | 48 ++++++++++++++++++ sw/qa/uitest/navigator/tdf137274.py | 70 +++++++++++++++++++++++++++ sw/qa/uitest/writer_tests/data/tdf114724.odt | Bin 0 -> 9883 bytes sw/qa/uitest/writer_tests7/tdf137274.py | 70 --------------------------- 6 files changed, 135 insertions(+), 70 deletions(-) create mode 100644 sw/UITest_sw_navigator.mk create mode 100644 sw/qa/uitest/navigator/tdf114724.py create mode 100644 sw/qa/uitest/navigator/tdf137274.py create mode 100644 sw/qa/uitest/writer_tests/data/tdf114724.odt delete mode 100644 sw/qa/uitest/writer_tests7/tdf137274.py (limited to 'sw') diff --git a/sw/Module_sw.mk b/sw/Module_sw.mk index 05a9fe6b90c2..9f90b23a45fd 100644 --- a/sw/Module_sw.mk +++ b/sw/Module_sw.mk @@ -172,6 +172,7 @@ $(eval $(call gb_Module_add_uicheck_targets,sw,\ UITest_sw_findSimilarity \ UITest_chapterNumbering \ UITest_librelogo \ + UITest_sw_navigator \ UITest_sw_options \ UITest_sw_ui_fmtui \ UITest_classification \ diff --git a/sw/UITest_sw_navigator.mk b/sw/UITest_sw_navigator.mk new file mode 100644 index 000000000000..a86522dfb3de --- /dev/null +++ b/sw/UITest_sw_navigator.mk @@ -0,0 +1,16 @@ +# This file is part of the LibreOffice project. +# +# 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/. +# + +$(eval $(call gb_UITest_UITest,sw_navigator)) + +$(eval $(call gb_UITest_add_modules,sw_navigator,$(SRCDIR)/sw/qa/uitest,\ + navigator/ \ +)) + +$(eval $(call gb_UITest_set_defs,sw_navigator, \ + TDOC="$(SRCDIR)/sw/qa/uitest/writer_tests/data" \ +)) diff --git a/sw/qa/uitest/navigator/tdf114724.py b/sw/qa/uitest/navigator/tdf114724.py new file mode 100644 index 000000000000..d7d69b8f2e53 --- /dev/null +++ b/sw/qa/uitest/navigator/tdf114724.py @@ -0,0 +1,48 @@ +# +# 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 libreoffice.uno.propertyvalue import mkPropertyValues +from uitest.uihelper.common import get_state_as_dict +import org.libreoffice.unotest +import pathlib + +def get_url_for_data_file(file_name): + return pathlib.Path(org.libreoffice.unotest.makeCopyFromTDOC(file_name)).as_uri() + +class tdf114724(UITestCase): + + def test_track_headings_outline(self): + writer_doc = self.ui_test.load_file(get_url_for_data_file("tdf114724.odt")) + xWriterDoc = self.xUITest.getTopFocusWindow() + xWriterEdit = xWriterDoc.getChild("writer_edit") + + self.xUITest.executeCommand(".uno:Sidebar") + xWriterEdit.executeAction("SIDEBAR", mkPropertyValues({"PANEL": "SwNavigatorPanel"})) + + xNavigatorPanel = xWriterEdit.getChild("NavigatorPanelParent") + xNavigatorPanel.executeAction("ROOT", tuple()) + + xWriterEdit.executeAction("FOCUS", tuple()) + + self.ui_test.wait_until_property_is_updated(xNavigatorPanel, "selectedtext", "Headings") + self.assertEqual(get_state_as_dict(xNavigatorPanel)["selectedtext"], "Headings") + self.assertEqual(get_state_as_dict(xNavigatorPanel)["selectioncount"], "1") + for _ in range(0,3): + xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE": "DOWN"})) + + self.ui_test.wait_until_property_is_updated(xNavigatorPanel, "selectedtext", "HEADING 4") + self.assertEqual(get_state_as_dict(xNavigatorPanel)["selectedtext"], "HEADING 4") + self.assertEqual(get_state_as_dict(xNavigatorPanel)["selectioncount"], "1") + + for _ in range(0,3): + xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE": "UP"})) + + self.ui_test.wait_until_property_is_updated(xNavigatorPanel, "selectedtext", "HEADING 1") + self.assertEqual(get_state_as_dict(xNavigatorPanel)["selectedtext"], "HEADING 1") + self.assertEqual(get_state_as_dict(xNavigatorPanel)["selectioncount"], "1") + + self.xUITest.executeCommand(".uno:Sidebar") + self.ui_test.close_doc() diff --git a/sw/qa/uitest/navigator/tdf137274.py b/sw/qa/uitest/navigator/tdf137274.py new file mode 100644 index 000000000000..2c23960ddf75 --- /dev/null +++ b/sw/qa/uitest/navigator/tdf137274.py @@ -0,0 +1,70 @@ +# -*- 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 libreoffice.uno.propertyvalue import mkPropertyValues +from uitest.uihelper.common import get_state_as_dict + +class tdf137274(UITestCase): + + def test_tdf137274(self): + + xMainDoc = self.ui_test.create_doc_in_start_center("writer") + + xMainWindow = self.xUITest.getTopFocusWindow() + xWriterEdit = xMainWindow.getChild("writer_edit") + + xWriterEdit.executeAction("TYPE", mkPropertyValues({"TEXT": "Test"})) + + # Insert first comment + xArgs = mkPropertyValues({"Text": "C1"}) + self.xUITest.executeCommandWithParameters(".uno:InsertAnnotation", xArgs) + + # wait until the comment is available + self.ui_test.wait_until_child_is_available(xMainWindow, 'Comment1') + + self.xUITest.executeCommand(".uno:Sidebar") + + xWriterEdit.executeAction("SIDEBAR", mkPropertyValues({"PANEL": "SwNavigatorPanel"})) + + xNavigatorPanel = xWriterEdit.getChild("NavigatorPanelParent") + + xWriterEdit.executeAction("FOCUS", tuple()) + + # Wait until the navigator is available + self.ui_test.wait_until_property_is_updated(xNavigatorPanel, "selectedtext", "Headings") + self.assertEqual(get_state_as_dict(xNavigatorPanel)["selectedtext"], "Headings") + + xContentTree = xNavigatorPanel.getChild("contenttree") + xComments = xContentTree.getChild('10') + self.assertEqual('Comments', get_state_as_dict(xComments)['Text']) + + xComments.executeAction("EXPAND", tuple()) + + self.assertEqual(1, len(xComments.getChildren())) + self.assertEqual('C1', get_state_as_dict(xComments.getChild('0'))['Text']) + + xComments.executeAction("COLLAPSE", tuple()) + + xArgs = mkPropertyValues({"Text": "C2"}) + self.xUITest.executeCommandWithParameters(".uno:InsertAnnotation", xArgs) + + # wait until the second comment is available + self.ui_test.wait_until_child_is_available(xMainWindow, 'Comment2') + + xComments.executeAction("EXPAND", tuple()) + + # Without the fix in place, this test would have failed with AssertionError: 2 != 0 + self.assertEqual(2, len(xComments.getChildren())) + self.assertEqual('C1', get_state_as_dict(xComments.getChild('0'))['Text']) + + xComments.executeAction("COLLAPSE", tuple()) + + self.xUITest.executeCommand(".uno:Sidebar") + + self.ui_test.close_doc() + +# vim: set shiftwidth=4 softtabstop=4 expandtab: diff --git a/sw/qa/uitest/writer_tests/data/tdf114724.odt b/sw/qa/uitest/writer_tests/data/tdf114724.odt new file mode 100644 index 000000000000..6c51108683af Binary files /dev/null and b/sw/qa/uitest/writer_tests/data/tdf114724.odt differ diff --git a/sw/qa/uitest/writer_tests7/tdf137274.py b/sw/qa/uitest/writer_tests7/tdf137274.py deleted file mode 100644 index 2c23960ddf75..000000000000 --- a/sw/qa/uitest/writer_tests7/tdf137274.py +++ /dev/null @@ -1,70 +0,0 @@ -# -*- 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 libreoffice.uno.propertyvalue import mkPropertyValues -from uitest.uihelper.common import get_state_as_dict - -class tdf137274(UITestCase): - - def test_tdf137274(self): - - xMainDoc = self.ui_test.create_doc_in_start_center("writer") - - xMainWindow = self.xUITest.getTopFocusWindow() - xWriterEdit = xMainWindow.getChild("writer_edit") - - xWriterEdit.executeAction("TYPE", mkPropertyValues({"TEXT": "Test"})) - - # Insert first comment - xArgs = mkPropertyValues({"Text": "C1"}) - self.xUITest.executeCommandWithParameters(".uno:InsertAnnotation", xArgs) - - # wait until the comment is available - self.ui_test.wait_until_child_is_available(xMainWindow, 'Comment1') - - self.xUITest.executeCommand(".uno:Sidebar") - - xWriterEdit.executeAction("SIDEBAR", mkPropertyValues({"PANEL": "SwNavigatorPanel"})) - - xNavigatorPanel = xWriterEdit.getChild("NavigatorPanelParent") - - xWriterEdit.executeAction("FOCUS", tuple()) - - # Wait until the navigator is available - self.ui_test.wait_until_property_is_updated(xNavigatorPanel, "selectedtext", "Headings") - self.assertEqual(get_state_as_dict(xNavigatorPanel)["selectedtext"], "Headings") - - xContentTree = xNavigatorPanel.getChild("contenttree") - xComments = xContentTree.getChild('10') - self.assertEqual('Comments', get_state_as_dict(xComments)['Text']) - - xComments.executeAction("EXPAND", tuple()) - - self.assertEqual(1, len(xComments.getChildren())) - self.assertEqual('C1', get_state_as_dict(xComments.getChild('0'))['Text']) - - xComments.executeAction("COLLAPSE", tuple()) - - xArgs = mkPropertyValues({"Text": "C2"}) - self.xUITest.executeCommandWithParameters(".uno:InsertAnnotation", xArgs) - - # wait until the second comment is available - self.ui_test.wait_until_child_is_available(xMainWindow, 'Comment2') - - xComments.executeAction("EXPAND", tuple()) - - # Without the fix in place, this test would have failed with AssertionError: 2 != 0 - self.assertEqual(2, len(xComments.getChildren())) - self.assertEqual('C1', get_state_as_dict(xComments.getChild('0'))['Text']) - - xComments.executeAction("COLLAPSE", tuple()) - - self.xUITest.executeCommand(".uno:Sidebar") - - self.ui_test.close_doc() - -# vim: set shiftwidth=4 softtabstop=4 expandtab: -- cgit