> Currently, the VirtualFlowTestUtils used ONLY for tests has many utility > methods to get and do something with the VirtualFlow of Virtualized Controls. > > It has one flaw: It may creates a temporary Stage with the StageLoader, when > the Control was never inside a Scene (and Stage) yet. This is done to get the > VirtualFlow, which is not possible otherwise. > > Take the following test code: > > VirtualFlowTestUtils.clickOnRow(tableView, 2); > VirtualFlowTestUtils.clickOnRow(tableView, 4); > > > What it does it to create a Stage for the first method and dispose it after. > And create another Stage for the second method and dispose it after. > > This does not test a realistic scenario and the chance is quite high that > developers used that methods without even knowing that it contains such logic. > > So the idea is to remove the StageLoader code from VirtualFlowTestUtils and > rather use it in the Test code before calling the Util methods. > > For the example above, this would result in: > > stageLoader = new StageLoader(tableView); > VirtualFlowTestUtils.clickOnRow(tableView, 2); > VirtualFlowTestUtils.clickOnRow(tableView, 4); > > > The stageLoader should be disposed in an @AfterEach. > > Note: Nearly all touched tests are indeed much older test code. New tests are > not affected and already use it correcty. > Sometimes a call to `Toolkit.getToolkit().firePulse();` was needed. > Previously, creating a new Stage for every call to the util methods did that > implicitly.
Marius Hanl has updated the pull request incrementally with one additional commit since the last revision: Exception message ------------- Changes: - all: https://git.openjdk.org/jfx/pull/1829/files - new: https://git.openjdk.org/jfx/pull/1829/files/5cde6fd6..8c5d40eb Webrevs: - full: https://webrevs.openjdk.org/?repo=jfx&pr=1829&range=01 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=1829&range=00-01 Stats: 5 lines in 1 file changed: 5 ins; 0 del; 0 mod Patch: https://git.openjdk.org/jfx/pull/1829.diff Fetch: git fetch https://git.openjdk.org/jfx.git pull/1829/head:pull/1829 PR: https://git.openjdk.org/jfx/pull/1829