[Libreoffice-commits] core.git: sw/source uitest/writer_tests5

Xisco Fauli (via logerrit) logerrit at kemper.freedesktop.org
Tue Apr 21 13:35:19 UTC 2020


 sw/source/uibase/inc/conttree.hxx    |    5 +++++
 sw/source/uibase/uitest/uiobject.cxx |    1 +
 uitest/writer_tests5/tdf114724.py    |   18 +++++++++++++++---
 3 files changed, 21 insertions(+), 3 deletions(-)

New commits:
commit 634ce6f2d87a30b8abd2e8c67668e3bb5d87406b
Author:     Xisco Fauli <xiscofauli at libreoffice.org>
AuthorDate: Tue Apr 21 12:10:40 2020 +0200
Commit:     Xisco Faulí <xiscofauli at libreoffice.org>
CommitDate: Tue Apr 21 15:34:37 2020 +0200

    tdf114724: uitest: make test less time.sleep dependent
    
    Instead, check the focus moved to the bottom and back to the
    first element
    
    Execution times goes 17.232 from to 5.521 for me
    
    Change-Id: I816c197f44b68a1b9ab8686de191a743cbc78eb2
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92616
    Tested-by: Jenkins
    Reviewed-by: Xisco Faulí <xiscofauli at libreoffice.org>

diff --git a/sw/source/uibase/inc/conttree.hxx b/sw/source/uibase/inc/conttree.hxx
index 28ea07a1c1de..59df0d51c3ea 100644
--- a/sw/source/uibase/inc/conttree.hxx
+++ b/sw/source/uibase/inc/conttree.hxx
@@ -247,6 +247,11 @@ public:
         m_xTreeView->grab_focus();
     }
 
+    OUString get_selected_text() const
+    {
+        return m_xTreeView->get_selected_text();
+    }
+
     int count_selected_rows() const
     {
         return m_xTreeView->count_selected_rows();
diff --git a/sw/source/uibase/uitest/uiobject.cxx b/sw/source/uibase/uitest/uiobject.cxx
index a0b8da9e9d97..baa9e79bafb8 100644
--- a/sw/source/uibase/uitest/uiobject.cxx
+++ b/sw/source/uibase/uitest/uiobject.cxx
@@ -139,6 +139,7 @@ StringMap SwNavigationPIUIObject::get_state()
     StringMap aMap = WindowUIObject::get_state();
 
     aMap["selectioncount"] = OUString::number(mxSwNavigationPI->m_xContentTree->count_selected_rows());
+    aMap["selectedtext"] = mxSwNavigationPI->m_xContentTree->get_selected_text();
 
     return aMap;
 }
diff --git a/uitest/writer_tests5/tdf114724.py b/uitest/writer_tests5/tdf114724.py
index 390e53b3ac37..f5947a21e321 100644
--- a/uitest/writer_tests5/tdf114724.py
+++ b/uitest/writer_tests5/tdf114724.py
@@ -26,16 +26,28 @@ class tdf114724(UITestCase):
         xNavigatorPanel.executeAction("ROOT", tuple())
 
         xWriterEdit.executeAction("FOCUS", tuple())
-        time.sleep(2)
         self.assertEqual(get_state_as_dict(xNavigatorPanel)["selectioncount"], "1")
+        self.assertEqual(get_state_as_dict(xNavigatorPanel)["selectedtext"], "Headings")
+
         for _ in range(0,3):
             xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE": "DOWN"}))
-            time.sleep(2)
             self.assertEqual(get_state_as_dict(xNavigatorPanel)["selectioncount"], "1")
+
+        timeout = time.time() + 2
+        while get_state_as_dict(xNavigatorPanel)["selectedtext"] != "HEADING 4" and time.time() < timeout:
+            time.sleep(0.1)
+
+        self.assertEqual(get_state_as_dict(xNavigatorPanel)["selectedtext"], "HEADING 4")
+
         for _ in range(0,3):
             xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE": "UP"}))
-            time.sleep(2)
             self.assertEqual(get_state_as_dict(xNavigatorPanel)["selectioncount"], "1")
 
+        timeout = time.time() + 2
+        while get_state_as_dict(xNavigatorPanel)["selectedtext"] != "HEADING 1" and time.time() < timeout:
+            time.sleep(0.1)
+
+        self.assertEqual(get_state_as_dict(xNavigatorPanel)["selectedtext"], "HEADING 1")
+
         self.xUITest.executeCommand(".uno:Sidebar")
         self.ui_test.close_doc()


More information about the Libreoffice-commits mailing list