Integrated: 8283493: Create an automated regression test for RFE 4231298

Manukumar V S mvs at openjdk.java.net
Wed Mar 23 23:46:51 UTC 2022


On Tue, 22 Mar 2022 15:30:09 GMT, Manukumar V S <mvs at openjdk.org> wrote:

> Create a regression test for [JDK-4231298](https://bugs.openjdk.java.net/browse/JDK-4231298)
> Issue:
> When a JComboBox first drops down, the renderer is called for
> every element in the list, even those elements that will not
> actually be drawn on the screen.
> 
> Fix:
> Introduced new API to JComboBox: get/setPrototypeDisplayValue(). This API allows the UI to calculate the display size using this prototype value rather than iterated over a large list of items. See RFE 4289100 which also addresses this problem.
> 
> Testing:
> 1. Tested in Mach5, 10 times per platform(macos,linux and windows) and got all pass.
> 
> 2. Tested in JDK 1.3.0 and JDK 1.4.0 and the results are given below.
> Java 1.3.0 -> Test Failed.
> $ jdk1.3/bin/java JComboBoxPrototypeTest
> getListCellRendererComponent index = -1, isSelected = false, cellHasFocus = false
> Value of the Counter is 1
> ....
> getListCellRendererComponent index = -1, isSelected = false, cellHasFocus = false
> Value of the Counter is 101
> Test Failed
> java.lang.RuntimeException: Custom Renderer got called 101 times, expected is maximum 6 times
>         at JComboBoxPrototypeTestOld.main(JComboBoxPrototypeTest.java:107)
> 
> Java 1.4.0(added a call to setPrototypeDisplayValue()) -> Test Passed.
> $ j2sdk1.4.0/bin/java JComboBoxPrototypeTest
> getListCellRendererComponent index = -1, isSelected = false, cellHasFocus = false
> Value of the Counter is 1
> getListCellRendererComponent index = -1, isSelected = false, cellHasFocus = false
> Value of the Counter is 2
> getListCellRendererComponent index = -1, isSelected = false, cellHasFocus = false
> Value of the Counter is 3
> Test Passed

This pull request has now been integrated.

Changeset: 6917c39e
Author:    Manukumar V S <mvs at openjdk.org>
Committer: Phil Race <prr at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/6917c39e450e0564b8db7c96be132881a6b0a112
Stats:     184 lines in 1 file changed: 184 ins; 0 del; 0 mod

8283493: Create an automated regression test for RFE 4231298

Reviewed-by: serb

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

PR: https://git.openjdk.java.net/jdk/pull/7905



More information about the client-libs-dev mailing list