On Fri, 3 Jul 2020 00:01:10 GMT, Kevin Rushforth <k...@openjdk.org> wrote:
>> Oliver Schmidtmer has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Change to Math.ceil and add test > > tests/system/src/test/java/test/javafx/embed/swing/JDK8220484Test.java line > 90: > >> 89: Field fpixelsIm = JFXPanel.class.getDeclaredField("pixelsIm"); >> 90: fpixelsIm.setAccessible(true); >> 91: BufferedImage pixelsIm = (BufferedImage) >> fpixelsIm.get(myApp.jfxPanel); > > This isn't the pattern we use to access internal fields of a JavaFX class, > and won't work. > > We typically use the "shim" pattern for such white-box testing. Can you look > into adding shims to the `javafx.swing` > module? Many of the other modules already have shims, so you can use that as > a pattern. It will require adding a > package-scope `test_getPixelsIm` method to `JFXPanel`. Alternatively, you > can use AWT `Robot` to read the JFXPanel > pixels. I've added a shim. I would like to check the backing image directly. > tests/system/src/test/java/test/javafx/embed/swing/JDK8220484Test.java line > 103: > >> 102: for (int y = 90; y < 115; y++) { >> 103: if(colorOfDiagonal == pixelsIm.getRGB( x, y )) { >> 104: fail( "image is skewed" ); > > Are you sure that an equality test will work on all platforms and > configurations? We usually use a tolerance when > comparing colors whose components are other than 0 or 255. > Somewhat related to this, is the expected value of `181` coming from the > default value of the button border? It might > be more robust to fill the Scene with a stroked rectangle whose color you > control (e.g. set to black). Either that or > set the color of the button border using an inline CSS style so you aren't > dependent on the default inherited from the > `modena.css` style sheet. Minor: add a space after the `if` and remove the > extra spaces surrounding the function > arguments `x, y`. done, a rectangle with a defined background & border color. That is definitely more stable. ------------- PR: https://git.openjdk.java.net/jfx/pull/246