[Libreoffice-commits] core.git: sc/qa
Xisco Fauli (via logerrit)
logerrit at kemper.freedesktop.org
Tue Feb 16 20:20:47 UTC 2021
sc/qa/uitest/chart/copyPaste.py | 75 ++++++++++++++++++++++++++
sc/qa/uitest/data/chartWithDotInSheetName.ods |binary
2 files changed, 75 insertions(+)
New commits:
commit 752a6d58a440e2cb84e0f84d3e12dd52efd016eb
Author: Xisco Fauli <xiscofauli at libreoffice.org>
AuthorDate: Tue Feb 16 16:10:08 2021 +0100
Commit: Xisco Fauli <xiscofauli at libreoffice.org>
CommitDate: Tue Feb 16 21:20:02 2021 +0100
uitest: sc: test charts are pasted in a new document...
... when the source sheet has a dot in the name
I found this problem while working on another UItest.
This started to work after b9652803096b68a33702601aac52e78c8a4250c6
Before this commit, the chart wasn't even pasted, due to
a2e6f31c6f90e446d1462e7c80f6b1317f7825bc. Before this commit,
the ranges in the pasted chart were incorrect. Not sure when this
issue got fixed though. Anyway, let's add a test for it
Change-Id: I152d569bfa04a0e3e6056e39b9ee59955bf9e1d4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110993
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>
diff --git a/sc/qa/uitest/chart/copyPaste.py b/sc/qa/uitest/chart/copyPaste.py
new file mode 100644
index 000000000000..9b4ba830cdf1
--- /dev/null
+++ b/sc/qa/uitest/chart/copyPaste.py
@@ -0,0 +1,75 @@
+# -*- 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.calc.document import get_cell_by_position
+from libreoffice.uno.propertyvalue import mkPropertyValues
+from uitest.uihelper.common import get_url_for_data_file
+
+class CopyPaste(UITestCase):
+
+ def test_copy_paste_chart_with_dot_in_sheet_name(self):
+ calc_doc = self.ui_test.load_file(get_url_for_data_file("chartWithDotInSheetName.ods"))
+ document = self.ui_test.get_component()
+
+ xChart = document.Sheets[0].Charts[0]
+ xDataSeries = xChart.getEmbeddedObject().getFirstDiagram().CoordinateSystems[0].ChartTypes[0].DataSeries
+
+ self.assertEqual(4, len(xDataSeries))
+
+ xOldSheetRanges = []
+ for i in range(4):
+ xRow = []
+ xDS = xDataSeries[i].DataSequences
+
+ self.assertEqual(1, len(xDS))
+ xRow.append(xDS[0].Values.SourceRangeRepresentation)
+ xOldSheetRanges.append(xRow)
+
+ self.xUITest.executeCommand(".uno:SelectAll")
+
+ self.xUITest.executeCommand(".uno:Copy")
+
+ self.ui_test.close_doc()
+
+ self.ui_test.load_empty_file("calc")
+ document = self.ui_test.get_component()
+
+ # Rename the sheet to match the same name as the first document
+ self.ui_test.execute_dialog_through_command(".uno:RenameTable")
+ xDialog = self.xUITest.getTopFocusWindow()
+ xname_entry = xDialog.getChild("name_entry")
+
+ xname_entry.executeAction("TYPE", mkPropertyValues({"KEYCODE":"CTRL+A"}))
+ xname_entry.executeAction("TYPE", mkPropertyValues({"KEYCODE":"BACKSPACE"}))
+ xname_entry.executeAction("TYPE", mkPropertyValues({"TEXT":"Sheet.1"}))
+ xOKBtn = xDialog.getChild("ok")
+ self.ui_test.close_dialog_through_button(xOKBtn)
+
+ self.xUITest.executeCommand(".uno:Paste")
+
+ xChart = document.Sheets[0].Charts[0]
+ xDataSeries = xChart.getEmbeddedObject().getFirstDiagram().CoordinateSystems[0].ChartTypes[0].DataSeries
+
+ self.assertEqual(4, len(xDataSeries))
+
+ xNewSheetRanges = []
+ for i in range(4):
+ xRow = []
+ xDS = xDataSeries[i].DataSequences
+
+ self.assertEqual(1, len(xDS))
+ xRow.append(xDS[0].Values.SourceRangeRepresentation)
+ xNewSheetRanges.append(xRow)
+
+ # Without the fix in place, this test would have failed with
+ # ["$'Sheet.1'.$B$12:$B$18"]
+ # ["'file:///home/<user>/Documents/Sheet.1'#$Sheet1.$B$12:$B$18"]
+ self.assertEqual(xOldSheetRanges, xNewSheetRanges)
+
+ self.ui_test.close_doc()
+
+# vim: set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/sc/qa/uitest/data/chartWithDotInSheetName.ods b/sc/qa/uitest/data/chartWithDotInSheetName.ods
new file mode 100644
index 000000000000..873d45f4be8c
Binary files /dev/null and b/sc/qa/uitest/data/chartWithDotInSheetName.ods differ
More information about the Libreoffice-commits
mailing list