I added a test case for `SpinnerSkin` that checks the arrow positioning. While adding the tests I discovered more problems with the positioning aside from the one mentioned in the JBS ticket.
1) Vertical split arrow placement also forgot to take the padding into account while placing the decrement arrow button -- I've taken the liberty to fix that problem as well in the same PR. 2) When arrows are placed next to each other either on the right or left, the arrow widths are not normalized to be the width of the widest arrow. All other placements will normalize either the width or height, except for these two. Specifically, when the arrows are **split** on the left and right they **are** normalized to the same width. For point 2, here is the problem illustrated with actual widths on left and layout result on right: [ <----- ] [ -> ] [ spinner ] --> [ <----- ] [ -> ] [ spinner ] [ spinner ] [ <----- ] [ -> ] --> [ spinner ] [ <----- ] [ -> ] While for split horizontal it does normalize the width to that of the widest arrow, and so layout becomes: [ <----- ] [ spinner ] [ -> ] --> [ <----- ] [ spinner ] [ -> ] While I'm here I could fix this as well, and adjust the test case to match. ------------- Commit messages: - 8281723: Fix arrow placement errors in SpinnerSkin Changes: https://git.openjdk.java.net/jfx/pull/748/files Webrev: https://webrevs.openjdk.java.net/?repo=jfx&pr=748&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8281723 Stats: 146 lines in 2 files changed: 144 ins; 0 del; 2 mod Patch: https://git.openjdk.java.net/jfx/pull/748.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/748/head:pull/748 PR: https://git.openjdk.java.net/jfx/pull/748