tdf#117868: sc: Add UItest
Change-Id: Ic8630d3497ece3903662c671878a42e448e7f553
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121383
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
diff --git a/sc/qa/uitest/csv_dialog/tdf117868.py b/sc/qa/uitest/csv_dialog/tdf117868.py
new file mode 100644
index 0000000..9f3b8de
--- /dev/null
+++ b/sc/qa/uitest/csv_dialog/tdf117868.py
@@ -0,0 +1,55 @@
# -*- 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 libreoffice.uno.propertyvalue import mkPropertyValues
from libreoffice.calc.document import get_cell_by_position
class Td117868(UITestCase):
def test_tdf117868(self):
# Load file from Open dialog
with self.ui_test.execute_dialog_through_command(".uno:Open", close_button="open") as xOpenDialog:
xFileName = xOpenDialog.getChild("file_name")
xFileName.executeAction("TYPE", mkPropertyValues({"TEXT": get_url_for_data_file("tdf117868.csv")}))
xDialog = self.ui_test.wait_for_top_focus_window('TextImportCsvDialog')
# Set text delimiter in case it's changed by another test
xSeparatedBy = xDialog.getChild("toseparatedby")
xSeparatedBy.executeAction("CLICK", tuple())
# Without the fix in place, this test would haved failed with
# AssertionError: 'true' != 'false'
self.assertEqual('true', get_state_as_dict(xDialog.getChild("other"))['Selected'])
self.assertEqual('false', get_state_as_dict(xDialog.getChild("tab"))['Selected'])
self.assertEqual('false', get_state_as_dict(xDialog.getChild("comma"))['Selected'])
self.assertEqual('false', get_state_as_dict(xDialog.getChild("semicolon"))['Selected'])
self.assertEqual('1', get_state_as_dict(xDialog.getChild("fromrow"))['Text'])
xInputOther = xDialog.getChild("inputother")
self.assertEqual("|", get_state_as_dict(xInputOther)['Text'])
xOK = xDialog.getChild('ok')
with self.ui_test.wait_until_component_loaded():
self.ui_test.close_dialog_through_button(xOK)
document = self.ui_test.get_component()
self.assertEqual("LETTER", get_cell_by_position(document, 0, 0, 1).getString())
self.assertEqual("ANIMAL", get_cell_by_position(document, 0, 1, 1).getString())
self.assertEqual('a', get_cell_by_position(document, 0, 0, 2).getString())
self.assertEqual('aardvark', get_cell_by_position(document, 0, 1, 2).getString())
self.assertEqual('b', get_cell_by_position(document, 0, 0, 3).getString())
self.assertEqual('bear', get_cell_by_position(document, 0, 1, 3).getString())
self.assertEqual('c', get_cell_by_position(document, 0, 0, 4).getString())
self.assertEqual('cow', get_cell_by_position(document, 0, 1, 4).getString())
# vim: set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/sc/qa/uitest/csv_dialog/tdf142395.py b/sc/qa/uitest/csv_dialog/tdf142395.py
index 77cabb6..66efc397 100644
--- a/sc/qa/uitest/csv_dialog/tdf142395.py
+++ b/sc/qa/uitest/csv_dialog/tdf142395.py
@@ -29,6 +29,20 @@ class Tdf142395(UITestCase):
xTextDelimiter.executeAction("TYPE", mkPropertyValues({"KEYCODE":"CTRL+A"}))
xTextDelimiter.executeAction("TYPE", mkPropertyValues({"KEYCODE":"BACKSPACE"}))
xTab = xDialog.getChild("tab")
if get_state_as_dict(xTab)['Selected'] == 'false':
xTab.executeAction("CLICK", tuple())
self.assertEqual('true', get_state_as_dict(xTab)['Selected'])
xComma = xDialog.getChild("comma")
if get_state_as_dict(xComma)['Selected'] == 'false':
xComma.executeAction("CLICK", tuple())
self.assertEqual('true', get_state_as_dict(xComma)['Selected'])
xSemicolon = xDialog.getChild("semicolon")
if get_state_as_dict(xSemicolon)['Selected'] == 'false':
xSemicolon.executeAction("CLICK", tuple())
self.assertEqual('true', get_state_as_dict(xSemicolon)['Selected'])
self.assertEqual('1', get_state_as_dict(xDialog.getChild("fromrow"))['Text'])
xOK = xDialog.getChild('ok')
with self.ui_test.wait_until_component_loaded():
self.ui_test.close_dialog_through_button(xOK)
diff --git a/sc/qa/uitest/csv_dialog/tdf57841.py b/sc/qa/uitest/csv_dialog/tdf57841.py
index c384a4f..da99487 100644
--- a/sc/qa/uitest/csv_dialog/tdf57841.py
+++ b/sc/qa/uitest/csv_dialog/tdf57841.py
@@ -21,9 +21,18 @@ class Tdf57841(UITestCase):
xDialog = self.ui_test.wait_for_top_focus_window('TextImportCsvDialog')
self.assertEqual('true', get_state_as_dict(xDialog.getChild("tab"))['Selected'])
self.assertEqual('true', get_state_as_dict(xDialog.getChild("comma"))['Selected'])
self.assertEqual('true', get_state_as_dict(xDialog.getChild("semicolon"))['Selected'])
xTab = xDialog.getChild("tab")
if get_state_as_dict(xTab)['Selected'] == 'false':
xTab.executeAction("CLICK", tuple())
self.assertEqual('true', get_state_as_dict(xTab)['Selected'])
xComma = xDialog.getChild("comma")
if get_state_as_dict(xComma)['Selected'] == 'false':
xComma.executeAction("CLICK", tuple())
self.assertEqual('true', get_state_as_dict(xComma)['Selected'])
xSemicolon = xDialog.getChild("semicolon")
if get_state_as_dict(xSemicolon)['Selected'] == 'false':
xSemicolon.executeAction("CLICK", tuple())
self.assertEqual('true', get_state_as_dict(xSemicolon)['Selected'])
self.assertEqual('1', get_state_as_dict(xDialog.getChild("fromrow"))['Text'])
# Set text delimiter in case it's changed by another test
diff --git a/sc/qa/uitest/csv_dialog/tdf60468.py b/sc/qa/uitest/csv_dialog/tdf60468.py
index b9df3b36..72650c7 100644
--- a/sc/qa/uitest/csv_dialog/tdf60468.py
+++ b/sc/qa/uitest/csv_dialog/tdf60468.py
@@ -19,11 +19,19 @@ class Tdf60468(UITestCase):
xFileName = xOpenDialog.getChild("file_name")
xFileName.executeAction("TYPE", mkPropertyValues({"TEXT": get_url_for_data_file("tdf60468.csv")}))
xDialog = self.ui_test.wait_for_top_focus_window('TextImportCsvDialog')
self.assertEqual('true', get_state_as_dict(xDialog.getChild("tab"))['Selected'])
self.assertEqual('true', get_state_as_dict(xDialog.getChild("comma"))['Selected'])
self.assertEqual('true', get_state_as_dict(xDialog.getChild("semicolon"))['Selected'])
xTab = xDialog.getChild("tab")
if get_state_as_dict(xTab)['Selected'] == 'false':
xTab.executeAction("CLICK", tuple())
self.assertEqual('true', get_state_as_dict(xTab)['Selected'])
xComma = xDialog.getChild("comma")
if get_state_as_dict(xComma)['Selected'] == 'false':
xComma.executeAction("CLICK", tuple())
self.assertEqual('true', get_state_as_dict(xComma)['Selected'])
xSemicolon = xDialog.getChild("semicolon")
if get_state_as_dict(xSemicolon)['Selected'] == 'false':
xSemicolon.executeAction("CLICK", tuple())
self.assertEqual('true', get_state_as_dict(xSemicolon)['Selected'])
self.assertEqual('1', get_state_as_dict(xDialog.getChild("fromrow"))['Text'])
# Set text delimiter in case it's changed by another test
diff --git a/sc/qa/uitest/csv_dialog/tdf96561.py b/sc/qa/uitest/csv_dialog/tdf96561.py
index 8a7dd178..6bf3b1d 100644
--- a/sc/qa/uitest/csv_dialog/tdf96561.py
+++ b/sc/qa/uitest/csv_dialog/tdf96561.py
@@ -20,6 +20,19 @@ class Tdf96561(UITestCase):
xFileName.executeAction("TYPE", mkPropertyValues({"TEXT": get_url_for_data_file("tdf96561.csv")}))
xDialog = self.ui_test.wait_for_top_focus_window('TextImportCsvDialog')
xTab = xDialog.getChild("tab")
if get_state_as_dict(xTab)['Selected'] == 'false':
xTab.executeAction("CLICK", tuple())
self.assertEqual('true', get_state_as_dict(xTab)['Selected'])
xComma = xDialog.getChild("comma")
if get_state_as_dict(xComma)['Selected'] == 'false':
xComma.executeAction("CLICK", tuple())
self.assertEqual('true', get_state_as_dict(xComma)['Selected'])
xSemicolon = xDialog.getChild("semicolon")
if get_state_as_dict(xSemicolon)['Selected'] == 'false':
xSemicolon.executeAction("CLICK", tuple())
self.assertEqual('true', get_state_as_dict(xSemicolon)['Selected'])
self.assertEqual('1', get_state_as_dict(xDialog.getChild("fromrow"))['Text'])
# Set text delimiter in case it's changed by another test
xSeparatedBy = xDialog.getChild("toseparatedby")
diff --git a/sc/qa/uitest/data/tdf117868.csv b/sc/qa/uitest/data/tdf117868.csv
new file mode 100644
index 0000000..0bb5df7
--- /dev/null
+++ b/sc/qa/uitest/data/tdf117868.csv
@@ -0,0 +1,5 @@
sep=|
"LETTER"|"ANIMAL"
"a"|"aardvark"
"b"|"bear"
"c"|"cow"