diff options
author | László Németh <nemeth@numbertext.org> | 2021-04-21 15:42:37 +0200 |
---|---|---|
committer | László Németh <nemeth@numbertext.org> | 2021-05-05 13:42:30 +0200 |
commit | b9b2c6a98fec798fc0ec76ec3cd407724f19dcac (patch) | |
tree | 678caec0be0e575015e8718aa337c23cf88007eb /sw/qa/uitest | |
parent | 92cba30d5ce45e4f4a9516a80c9fe9915add6905 (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.docx | bin | 0 -> 23784 bytes | |||
-rw-r--r-- | sw/qa/uitest/writer_tests7/tdf139301.py | 34 |
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 Binary files differnew file mode 100644 index 000000000000..52f9aaa5589f --- /dev/null +++ b/sw/qa/uitest/data/tdf127166_prstDash_round_cap.docx 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() |