[Libreoffice-commits] core.git: sw/inc sw/qa sw/source
Rene Engelhard
rene at debian.org
Fri Nov 26 20:14:49 UTC 2021
Hi,
Am 24.11.21 um 11:51 schrieb Attila Bakos (NISZ) (via logerrit):
[...]
> tdf#129183 sw: textboxes in group shapes - part 3
>
> Grouping/ungrouping nested groups works now.
>
> Manual test:
>
> 1. Insert Shape.
> 2. Right-click on selected shape, Add Text Box (and some text).
> 3. Insert a new shape.
> 4. Select and group the two shapes.
> 3. Insert a third shape.
> 4. Select and group the shape and the previously grouped shapes.
>
> The text box remains in the nested shape group.
>
> Details:
>
> 1) tdf#144271 memory leak of SwTextBoxHelper, by replacing the
> textbox structure vector with std::unordered map, and rethinking
> of the ownership of the objects. If a SwFrameFormat dies, and that
> is a FLYFRMFMT, it will be deleted from the textbox node and the
> FrameFormat table in the doc too, and the drawing will be stay as
> it was before. If the dying format is a drawing, all the textboxes,
> and the node will be deleted.
>
> 2) Introducing the new UNO property TextBoxContent, which is needed
> for writerfilter/xmloff later to set a new textbox for the shape
> via UNO.
>
> 3) Missing parameters are present now for syncing the textbox
> parameters.
>
> 4) Introducing a new function namely the handleGroupTextBox() to
> do the tasks simply with all textboxes in a group shape.
> This can handle nested groups as well (group in a group).
>
> Known issues: now copy of nested group objects is implemented
> but not enabled, because it causes an assert.
>
> Change-Id: I931886eda01c7a3db93098de10f5e5f48f2f217b
> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124657
> Tested-by: László Németh <nemeth at numbertext.org>
> Reviewed-by: László Németh <nemeth at numbertext.org>
[...]
This newly added test fails here in my beta1 upload (on
https://buildd.debian.org/status/package.php?p=libreoffice&suite=experimental
- see the amd64 one:
https://buildd.debian.org/status/fetch.php?pkg=libreoffice&arch=amd64&ver=1%3A7.3.0%7Ebeta1-1&stamp=1637916025&raw=1
and reproducable on my local build[1]):
======================================================================
ERROR: test_ComplexGroupShape (ComplexGroupShapeTest.ComplexGroupShapeTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File
"/home/rene/Debian/Pakete/LibreOffice/libreoffice/libreoffice-7.3.0.0.beta1/sw/qa/uitest/writer_tests4/ComplexGroupShapeTest.py",
line 93, in test_ComplexGroupShape
self.assertEqual(True,document.getCurrentSelection().getByIndex(0).TextBox)
AttributeError: TextBox
[...]
> diff --git a/sw/qa/uitest/writer_tests4/ComplexGroupShapeTest.py b/sw/qa/uitest/writer_tests4/ComplexGroupShapeTest.py
> new file mode 100644
> index 000000000000..cdac088a32d7
> --- /dev/null
> +++ b/sw/qa/uitest/writer_tests4/ComplexGroupShapeTest.py
> [...]
> + # select the first ex-group member shape
> + self.xUITest.executeCommand(".uno:JumpToNextFrame")
> + self.ui_test.wait_until_child_is_available('metricfield')
> + xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE": "TAB"}))
> +
> + # check if it is a textbox
> + self.assertEqual(True,document.getCurrentSelection().getByIndex(0).TextBox)
> +
here...
Note that that one is line 93.
On the arm64 aka aarch64 buildds on Debian I get
(see
https://buildd.debian.org/status/fetch.php?pkg=libreoffice&arch=arm64&ver=1%3A7.3.0%7Ebeta1-1&stamp=1637946364&raw=1)
ERROR: test_ComplexGroupShape (ComplexGroupShapeTest.ComplexGroupShapeTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File
"/<<PKGBUILDDIR>>/sw/qa/uitest/writer_tests4/ComplexGroupShapeTest.py",
line 117, in test_ComplexGroupShape
self.assertEqual(True,document.getCurrentSelection().getByIndex(0).TextBox)
AttributeError: TextBox
which is
> + # go to the other one
> + xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE": "TAB"}))
> + xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE": "TAB"}))
> +
> + # this is still a group, so it cannot be a textbox
> + self.assertEqual(False,document.getCurrentSelection().getByIndex(0).TextBox)
> +
> + # do ungroup
> + self.xUITest.executeCommand(".uno:FormatUngroup")
> +
> + # deselect
> + xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE":"ESC"}))
> + time.sleep(0.1)
> +
> + # select one shape of the last group
> + self.xUITest.executeCommand(".uno:JumpToNextFrame")
> + self.ui_test.wait_until_child_is_available('metricfield')
> + xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE": "TAB"}))
> + xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE": "TAB"}))
> + xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE": "TAB"}))
> +
> + # check if it is a textbox
> + self.assertEqual(True,document.getCurrentSelection().getByIndex(0).TextBox)
this (the second one) - line 117.
Some flakiness/timing issues in the test?
Please tell me if I can test something :-)
Regards,
Rene
[1] did various test builds but didn't do one until the end shortly
before the tag and "of course" this now happens... :/
More information about the LibreOffice
mailing list