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