diff options
author | Xisco Fauli <xiscofauli@libreoffice.org> | 2021-02-17 21:48:26 +0100 |
---|---|---|
committer | Xisco Fauli <xiscofauli@libreoffice.org> | 2021-02-17 23:43:19 +0100 |
commit | fb1aa71ca3f7bec3fa6a10c4c3dec37987b213a2 (patch) | |
tree | 0a251b4cb4ab370f6a1f71d2c6ae711cc50957c1 | |
parent | 48d27dc08012b5f0e9adf2053a8d73479bed5938 (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.ods | bin | 0 -> 14573 bytes | |||
-rw-r--r-- | sc/qa/uitest/sort/tdf105301.py | 42 | ||||
-rw-r--r-- | sc/source/ui/dbgui/sortkeydlg.cxx | 7 |
3 files changed, 49 insertions, 0 deletions
diff --git a/sc/qa/uitest/data/tdf105301.ods b/sc/qa/uitest/data/tdf105301.ods Binary files differnew file mode 100644 index 000000000000..58f2fe759e06 --- /dev/null +++ b/sc/qa/uitest/data/tdf105301.ods 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)); } |