summaryrefslogtreecommitdiff
path: root/sw/qa/uitest
diff options
context:
space:
mode:
authorLászló Németh <nemeth@numbertext.org>2021-04-21 15:42:37 +0200
committerLászló Németh <nemeth@numbertext.org>2021-05-05 13:42:30 +0200
commitb9b2c6a98fec798fc0ec76ec3cd407724f19dcac (patch)
tree678caec0be0e575015e8718aa337c23cf88007eb /sw/qa/uitest
parent92cba30d5ce45e4f4a9516a80c9fe9915add6905 (diff)
tdf#141933 add preset dash styles with round cap
New OOXML-compatible preset styles weren't recognized on the UI, including the Drawing Object Properties toolbar and Line Style settings, if the preset styles use round cap, e.g. line styles with dot-like dots (i.e. not tiny squares as dots). As a workaround for interoperability and access to the line styles with dot-like dots, add "Rounded" version for every OOXML-compatible preset styles with round cap. This allows to apply dot-like dotted lines to new shapes, too. Background: round cap modifies the DotLen and DashLen values of the LineDash struct during the OOXML import, using ~zero values to get dot-like dots. For the details, see commit 3f3b50015e4fd9efc3459612a70409fca49cf390 "tdf#134053 tweak dash and space length for ooxml" and commit 24d770799660d3ec94ee7add435645794426042b "tdf#134128 Use Gdiplus::DashCapRound for round dash or dot". Follow of commit 183c06fc02a50fb117bb6162e4d6e56cdd34fad1 "tdf#139301 fix OOXML-compatible preset dash styles". Change-Id: I4f3173579964b2c00618ada475b012c85320f758 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114459 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/data/tdf127166_prstDash_round_cap.docxbin0 -> 23784 bytes
-rw-r--r--sw/qa/uitest/writer_tests7/tdf139301.py34
2 files changed, 31 insertions, 3 deletions
diff --git a/sw/qa/uitest/data/tdf127166_prstDash_round_cap.docx b/sw/qa/uitest/data/tdf127166_prstDash_round_cap.docx
new file mode 100644
index 000000000000..52f9aaa5589f
--- /dev/null
+++ b/sw/qa/uitest/data/tdf127166_prstDash_round_cap.docx
Binary files differ
diff --git a/sw/qa/uitest/writer_tests7/tdf139301.py b/sw/qa/uitest/writer_tests7/tdf139301.py
index 62a80b29998f..064018889031 100644
--- a/sw/qa/uitest/writer_tests7/tdf139301.py
+++ b/sw/qa/uitest/writer_tests7/tdf139301.py
@@ -9,12 +9,40 @@ from uitest.uihelper.common import get_state_as_dict, get_url_for_data_file
class tdf139301(UITestCase):
+ styles = ('Long Dash', 'Long Dash Dot', 'Long Dot', 'Double Dash', 'Double Dash Dot', 'Double Dash Dot Dot', 'Dash', 'Dash Dot', 'Dash Dot Dot', 'Dot')
+
def test_tdf139301(self):
writer_doc = self.ui_test.load_file(get_url_for_data_file("tdf127166_prstDash_Word97.docx"))
- styles = ('Long Dash', 'Long Dash Dot', 'Long Dot', 'Double Dash', 'Double Dash Dot', 'Double Dash Dot Dot', 'Dash', 'Dash Dot', 'Dash Dot Dot', 'Dot')
+ for i in range(len(self.styles)):
+ # select next line shape
+ writer_doc.getCurrentController().select(writer_doc.getDrawPage()[i])
+
+ # 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 line style combo box
+ xLineStyle = xFormatLineDlg.getChild("LB_LINE_STYLE")
+
+ # check preset line style
+ style = get_state_as_dict(xLineStyle)['SelectEntryText']
+
+ xOKBtn = xFormatLineDlg.getChild("ok")
+ self.ui_test.close_dialog_through_button(xOKBtn)
+
+ self.assertEqual(style, self.styles[i])
+
+ self.ui_test.close_doc()
+
+ def test_round_cap(self):
+ writer_doc = self.ui_test.load_file(get_url_for_data_file("tdf127166_prstDash_round_cap.docx"))
+
+ style_name_extension = ' (Rounded)'
- for i in range(len(styles)):
+ for i in range(len(self.styles)):
# select next line shape
writer_doc.getCurrentController().select(writer_doc.getDrawPage()[i])
@@ -33,7 +61,7 @@ class tdf139301(UITestCase):
xOKBtn = xFormatLineDlg.getChild("ok")
self.ui_test.close_dialog_through_button(xOKBtn)
- self.assertEqual(style, styles[i])
+ self.assertEqual(style, self.styles[i] + style_name_extension)
self.ui_test.close_doc()