summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXisco Fauli <xiscofauli@libreoffice.org>2021-02-17 21:48:26 +0100
committerXisco Fauli <xiscofauli@libreoffice.org>2021-02-17 23:43:19 +0100
commitfb1aa71ca3f7bec3fa6a10c4c3dec37987b213a2 (patch)
tree0a251b4cb4ab370f6a1f71d2c6ae711cc50957c1
parent48d27dc08012b5f0e9adf2053a8d73479bed5938 (diff)
tdf#105301: sc: Add UItest
Also add a way to distinguish the different sort keys. Similar to d4ca173f2babde53c1d20f10e335244b092c5c97 Change-Id: I89499cf73ad9932f401bb9a54c30510082d59601 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111086 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
-rw-r--r--sc/qa/uitest/data/tdf105301.odsbin0 -> 14573 bytes
-rw-r--r--sc/qa/uitest/sort/tdf105301.py42
-rw-r--r--sc/source/ui/dbgui/sortkeydlg.cxx7
3 files changed, 49 insertions, 0 deletions
diff --git a/sc/qa/uitest/data/tdf105301.ods b/sc/qa/uitest/data/tdf105301.ods
new file mode 100644
index 000000000000..58f2fe759e06
--- /dev/null
+++ b/sc/qa/uitest/data/tdf105301.ods
Binary files differ
diff --git a/sc/qa/uitest/sort/tdf105301.py b/sc/qa/uitest/sort/tdf105301.py
new file mode 100644
index 000000000000..71ec6372c762
--- /dev/null
+++ b/sc/qa/uitest/sort/tdf105301.py
@@ -0,0 +1,42 @@
+# -*- 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 get_state_as_dict, get_url_for_data_file
+from uitest.uihelper.common import select_pos
+from libreoffice.uno.propertyvalue import mkPropertyValues
+
+class tdf105301(UITestCase):
+
+ def test_tdf105301(self):
+ calc_doc = self.ui_test.load_file(get_url_for_data_file("tdf105301.ods"))
+ xCalcDoc = self.xUITest.getTopFocusWindow()
+ gridwin = xCalcDoc.getChild("grid_window")
+ document = self.ui_test.get_component()
+
+ gridwin.executeAction("SELECT", mkPropertyValues({"RANGE": "A1:R9"}))
+
+ self.ui_test.execute_dialog_through_command(".uno:DataSort")
+ xDialog = self.xUITest.getTopFocusWindow()
+ xTabs = xDialog.getChild("tabcontrol")
+ select_pos(xTabs, "0")
+ self.assertEqual("Column B", get_state_as_dict(xDialog.getChild("sortlb"))['DisplayText'])
+ self.assertEqual("Column C", get_state_as_dict(xDialog.getChild("sortlb2"))['DisplayText'])
+ self.assertEqual("Column D", get_state_as_dict(xDialog.getChild("sortlb3"))['DisplayText'])
+
+ # Without the fix in place, this test would have failed with
+ # AssertionError: 'Column E' != '- undefined -'
+ self.assertEqual("Column E", get_state_as_dict(xDialog.getChild("sortlb4"))['DisplayText'])
+ self.assertEqual("Column F", get_state_as_dict(xDialog.getChild("sortlb5"))['DisplayText'])
+ self.assertEqual("Column G", get_state_as_dict(xDialog.getChild("sortlb6"))['DisplayText'])
+ self.assertEqual("- undefined -", get_state_as_dict(xDialog.getChild("sortlb7"))['DisplayText'])
+
+ xOk = xDialog.getChild("ok")
+ self.ui_test.close_dialog_through_button(xOk)
+
+ self.ui_test.close_doc()
+
+# vim: set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/sc/source/ui/dbgui/sortkeydlg.cxx b/sc/source/ui/dbgui/sortkeydlg.cxx
index a5cf6e8f4e66..cee1f54e0607 100644
--- a/sc/source/ui/dbgui/sortkeydlg.cxx
+++ b/sc/source/ui/dbgui/sortkeydlg.cxx
@@ -57,6 +57,13 @@ void ScSortKeyWindow::AddSortKey( sal_uInt16 nItemNumber )
OUString::number( nItemNumber );
pSortKeyItem->m_xFrame->set_label(aLine);
+ // for ui-testing. Distinguish the sort keys
+ if ( m_aSortKeyItems.size() > 0 )
+ {
+ pSortKeyItem->m_xLbSort->set_buildable_name(
+ pSortKeyItem->m_xLbSort->get_buildable_name() + OString::number(m_aSortKeyItems.size() + 1));
+ }
+
m_aSortKeyItems.push_back(std::unique_ptr<ScSortKeyItem>(pSortKeyItem));
}