[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