RFR: JDK-8328750: [TestBug] Improve Stub Font Support

Andy Goryachev angorya at openjdk.org
Tue Mar 26 20:42:26 UTC 2024


On Thu, 21 Mar 2024 22:06:42 GMT, Marius Hanl <mhanl at openjdk.org> wrote:

> In https://github.com/openjdk/jfx/pull/1405, I identified some shortcomings of the stub font implementation. As I don't want to clutter the PR with that, I decided to cherrypick the improvements I did to a new ticket and PR.
> 
> The current implementation has the following shortcomings:
> - It does not reliable detect the System Font, as a consequence, tests in TableColumnHeaderTest.java are failing on my local machine
> - Another consequence of this is, that the font size is always estimated with 0, as it is not detected
> - One shortcoming currently is, that the stub font siie estimate is not considering bold fonts. That would improve writing tests for some scenarios, e.g. for TableColumnHeader, where we would expect that the size of the header is bigger since it is bold
> 
> Some tests were failing for the following reasons:
> - `AreaChartTest.java` - `expected -30.0, was -30.00000000004` - I added ceiling to the data.
> - `StackedBarChartTest.java` - since we now calculate correctly, the path changed
> - A test tried to load `Helvetica`, which is not supported in the stub font loader. I changed it
> - The default System font is considered a `Regular` one (style)
> 
> I wrote tests and documented the stub behaviour.
> I did some minor changes here:
> - System font is now detected, also in bold and italic
> - A bold font will be calculated with a little bit more width (1px). Checkout the test as well for that
> 
> Note: This only changes test setup, no 'production' code.

One more question, for my education, since you are now the expert :-)

I am trying to decide whether I should write a headful test for Labeled.truncated, or a headless one will suffice.

If I write a test that uses the StubToolkit, one that requires some kind of font metrics - would that work?  Will I get some kind of semi-valid values for preferred width of a text (Text, Labeled, etc.), or I cannot really rely on the correctness of the StubTextLayout?

-------------

PR Comment: https://git.openjdk.org/jfx/pull/1422#issuecomment-2021428506


More information about the openjfx-dev mailing list