On Tue, 2 Feb 2021 12:02:17 GMT, Jeanette Winzenburg <[email protected]>
wrote:
>
>
> wondering about the system test - what stands in the way to add a simple
> "normal" unit test?
looks like there might be a bug in StubFontLoader that makes a normal unit test
fail w/out the fix: Axis uses a Text field (measure) for measuring size
requirements for the tick labels - its font has no nativeFont set in the stub
context such that all fields of the bounds of text are always 0, consequently
the change in autoRange never kicks in. Hacking around with explicitly setting
a tickLabelFont gives us a test that fails before and passes after the fix:
@Test
public void testRotatedStandAlone() {
Pane root = new Pane();
Scene scene = new Scene(root);
Stage stage = new Stage();
stage.setScene(scene);
CategoryAxis xAxis = new
CategoryAxis(FXCollections.observableArrayList(categories));
// hack around stubFontLoader bug (?feature)
xAxis.setTickLabelFont(new Font(8));
BarChart<String, Number> chart = new BarChart<>(xAxis, new
NumberAxis());
chart.setPrefWidth(400);
root.getChildren().add(chart);
stage.show();
assertEquals(90, xAxis.getTickLabelRotation(), 0.1);
}
Question is why the stubFontLoader fails: its load implementation looks like it
should always set the nativeFont fiel to a fitting test font, but it doesn't if
the name is a plain "Amble" (vs. a more specialized like "Amble Regular").
-------------
PR: https://git.openjdk.java.net/jfx/pull/342