GSOC ReportBuilder Weekly Update
Adam Seskunas
adamseskunas at gmail.com
Wed Aug 13 22:45:05 UTC 2025
This week I've been working on getting some testing
implemented in the ReportDesign directory. There was
an old Java test that was disabled located here
https://opengrok.libreoffice.org/xref/core/reportdesign/qa/complex/reportdesign/ReportDesignerTest.java?r=0286f76b84478a38b252a39a4e33e51339286bcd
The test opened two .odb documents and saved them using
the 'writer8' and 'calc8' filters. This is analogous to exporting a
report since reports can be exported as a writer doc(.odt) or a
calc doc(.ods).
There is one CppUnit test located in ReportDesign, but it is a
UI test that tests opening some dialogs
https://opengrok.libreoffice.org/xref/core/reportdesign/qa/unit/reportdesign-dialogs-test.cxx?r=042033f1e6da22616cb76c8d950c20c9efecbad5
In order to write some more detailed CppUnit tests I had to setup
some make files as well as create a test base to hold some
helper functions that will be used in later tests. After getting the
infrastructure to execute the test in place, I ported the old Java
test over to CppUnit and improved it so that only one test file is
now used and the test is much easier to understand in case it
fails. The Gerrit patch for all of this can be found here
<goog_229304015>
https://gerrit.libreoffice.org/c/core/+/189436
The new test fails when a report fails to save or export, this is
typically due to the xml being written improperly. This will be helpful
moving forward to catch large scale problems with saving and
executing reports. Next, I will need to write some tests for the xml
structure of the saved and exported documents, that will test for
smaller issues like the presence, location and order of certain
elements. These tests will be similar to the XPath tests located
in writer.
Before writing these more extensive tests, my next goal is to finish
implementing the Grouping feature of a Report. I've got a working
implementation of the first part of the Grouping feature, sorting the
Fields of a Report. I've implemented this by using the SQL ORDER
BY clause. Next, I have to implement the actual Grouping of like items,
where items that match get a Header and or Footer around them.
After the Grouping feature is implemented, hopefully by the start of next
week, I will work on getting at least one XPath test working so that I can
add more XPath tests as needed moving forward. After that, I have a
long TODO list with lots of smaller issues that need to be fixed, for
example, dates aren't currently rendered properly. I will work through
the list and hopefully be able to get through most of the problems in
the next 2 or 3 weeks.
That's it for this week, thanks for reading,
Adam Seskunas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice/attachments/20250813/95eceabd/attachment.htm>
More information about the LibreOffice
mailing list