summaryrefslogtreecommitdiff
path: root/sw/qa/uitest
diff options
context:
space:
mode:
authorLászló Németh <nemeth@numbertext.org>2021-04-21 22:45:48 +0200
committerLászló Németh <nemeth@numbertext.org>2021-05-05 13:48:48 +0200
commit134fb0fdecb898b1568f57e8c9dc8c3528b0d1e0 (patch)
tree18ced39f503a19d34bf92c7f8d77c7ba9afde92b /sw/qa/uitest
parentb8c5236b444a9fbb1d419b95faf2ab2a71913efe (diff)
tdf#141935 svx cui: apply line cap setting of line styles
Only line dash pattern of the selected line style was applied on the selected line or shape using the 1) Line Style popup menu of Drawing toolbar and sidebar pane Properties and 2) Style popup menu of Line pane of Line setting dialog window. Now both line dash and line cap settings are applied, supporting the usage of the new "rounded" preset styles and the old not "rounded" versions. Follow-up to commit b9b2c6a98fec798fc0ec76ec3cd407724f19dcac "tdf#141933 add preset dash styles with round cap". Change-Id: Ib3f64afcdcb50545166d40476a03a4b45f7d0b8a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114461 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
Diffstat (limited to 'sw/qa/uitest')
-rw-r--r--sw/qa/uitest/writer_tests7/apply_line_cap.py102
1 files changed, 102 insertions, 0 deletions
diff --git a/sw/qa/uitest/writer_tests7/apply_line_cap.py b/sw/qa/uitest/writer_tests7/apply_line_cap.py
new file mode 100644
index 000000000000..5e7b42ca9a2f
--- /dev/null
+++ b/sw/qa/uitest/writer_tests7/apply_line_cap.py
@@ -0,0 +1,102 @@
+# -*- 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
+
+class apply_line_cap(UITestCase):
+
+ def test_apply_line_cap(self):
+ writer_doc = self.ui_test.load_file(get_url_for_data_file("tdf127166_prstDash_Word97.docx"))
+
+ # check FLAT -> ROUND cap style change by selecting the new 'Rounded' preset line styles
+
+ # select second line shape (dashDot)
+ writer_doc.getCurrentController().select(writer_doc.getDrawPage()[1])
+
+ # wait for available line style setting
+ self.ui_test.wait_until_child_is_available('metricfield')
+
+ # line setting dialog window
+ self.ui_test.execute_dialog_through_command(".uno:FormatLine")
+ xFormatLineDlg = self.xUITest.getTopFocusWindow()
+
+ # get cap style combo box
+ xCapStyle = xFormatLineDlg.getChild("LB_CAP_STYLE")
+ cap_style = get_state_as_dict(xCapStyle)['SelectEntryText']
+
+ # get line style combo box
+ xLineStyle = xFormatLineDlg.getChild("LB_LINE_STYLE")
+
+ # select 'Dot (Rounded)', but store the previous value
+ style = get_state_as_dict(xLineStyle)['SelectEntryText']
+ select_pos(xLineStyle, "3")
+
+ xOKBtn = xFormatLineDlg.getChild("ok")
+ self.ui_test.close_dialog_through_button(xOKBtn)
+
+ self.assertEqual(cap_style, 'Flat')
+ self.assertEqual(style, 'Long Dash Dot')
+
+ # check round cap setting, opening the line style dialog again
+ writer_doc.getCurrentController().select(writer_doc.getDrawPage()[1])
+
+ # wait for available line style setting
+ self.ui_test.wait_until_child_is_available('metricfield')
+
+ # line setting dialog window
+ self.ui_test.execute_dialog_through_command(".uno:FormatLine")
+ xFormatLineDlg = self.xUITest.getTopFocusWindow()
+
+ # get cap style combo box
+ xCapStyle = xFormatLineDlg.getChild("LB_CAP_STYLE")
+ cap_style = get_state_as_dict(xCapStyle)['SelectEntryText']
+
+ # get line style combo box
+ xLineStyle = xFormatLineDlg.getChild("LB_LINE_STYLE")
+
+ # select 'Dot', but store the previous value
+ style = get_state_as_dict(xLineStyle)['SelectEntryText']
+ select_pos(xLineStyle, "2")
+
+ xOKBtn = xFormatLineDlg.getChild("ok")
+ self.ui_test.close_dialog_through_button(xOKBtn)
+
+ # This was 'Flat' (set only dash style of the line style before)
+ self.assertEqual(cap_style, 'Round')
+ self.assertEqual(style, 'Dot (Rounded)')
+
+ # 2. check ROUND -> FLAT cap style change
+ writer_doc.getCurrentController().select(writer_doc.getDrawPage()[1])
+
+ # wait for available line style setting
+ self.ui_test.wait_until_child_is_available('metricfield')
+
+ # line setting dialog window
+ self.ui_test.execute_dialog_through_command(".uno:FormatLine")
+ xFormatLineDlg = self.xUITest.getTopFocusWindow()
+
+ # get cap style combo box
+ xCapStyle = xFormatLineDlg.getChild("LB_CAP_STYLE")
+ cap_style = get_state_as_dict(xCapStyle)['SelectEntryText']
+
+ # get line style combo box
+ xLineStyle = xFormatLineDlg.getChild("LB_LINE_STYLE")
+
+ style = get_state_as_dict(xLineStyle)['SelectEntryText']
+
+ xOKBtn = xFormatLineDlg.getChild("ok")
+ self.ui_test.close_dialog_through_button(xOKBtn)
+
+ # This was 'Flat' (set only dash style of the line style before)
+ self.assertEqual(cap_style, 'Flat')
+ self.assertEqual(style, 'Dot')
+
+ self.ui_test.close_doc()
+
+
+# vim: set shiftwidth=4 softtabstop=4 expandtab: