RFR: JDK-8348302 : [Test bug] Update FileDialogIconTest.java [v3]
Alexey Ivanov
aivanov at openjdk.org
Mon Feb 10 18:29:21 UTC 2025
On Fri, 7 Feb 2025 22:20:26 GMT, Harshitha Onkar <honkar at openjdk.org> wrote:
>> FileDialogIconTest.java has been updated.
>>
>> Following changes were made.
>>
>> - Test instructions updated
>> - BugID associated with the test is updated to the correct one
>> - setIconBufferedImagesToFrame and setIconBufferedImagesToDialog btns added to the frame.
>> - other minor cleanups
>
> Harshitha Onkar has updated the pull request incrementally with one additional commit since the last revision:
>
> minor
test/jdk/java/awt/Dialog/FileDialogIconTest/FileDialogIconTest.java line 59:
> 57: public static void main(String[] args) throws Exception {
> 58: String INSTRUCTIONS = """
> 59: The 1st row of buttons in testUI are to open Load,
It may not be apparent what `testUI` is… on the other hand, it should still be obvious that you referring to a window on the right.
It could better to refer to it as a ‘window’… or a least ‘test UI’ (with a space).
test/jdk/java/awt/Dialog/FileDialogIconTest/FileDialogIconTest.java line 76:
> 74:
> 75: PassFailJFrame.builder()
> 76: .title("Test Instructions Frame")
I believe the ‘frame‘ is redundant.
test/jdk/java/awt/Dialog/FileDialogIconTest/FileDialogIconTest.java line 152:
> 150: image = Toolkit.getDefaultToolkit().getImage(fileName);
> 151: PassFailJFrame.log("Loaded image " + "T" + i + ".gif."
> 152: + " Setting to the list for frame");
Why can't `fileName` be used in the logging?
Suggestion:
PassFailJFrame.log("Loaded image " + fileName + "."
+ " Setting to the list for frame");
test/jdk/java/awt/Dialog/FileDialogIconTest/FileDialogIconTest.java line 172:
> 170: image = Toolkit.getDefaultToolkit().getImage(fileName);
> 171: PassFailJFrame.log("Loaded image " + "T" + i + ".gif."
> 172: + " Setting to the list for dialog");
This piece of code looks the save as the one above.
Does it make to isolate the loading of images from setting them (to avoid code duplication)?
test/jdk/java/awt/Dialog/FileDialogIconTest/FileDialogIconTest.java line 185:
> 183: setImageButton5.addActionListener(new ActionListener() {
> 184: public void actionPerformed(ActionEvent event) {
> 185: List<Image> list = new ArrayList<>();
Suggestion:
List<Image> list = new ArrayList<>(4);
Micro-optimization: we know the number of images, the array in `ArrayList` could be sized accordingly.
test/jdk/java/awt/Dialog/FileDialogIconTest/FileDialogIconTest.java line 217:
> 215: list.add(image);
> 216: }
> 217: setImagesToFD(list);
Here, again the code is the same as in `setImageButton5.addActionListener` except for the final call `setImagesToFD` vs `setImagesToFrame`. I suggest moving capture code out of either methods and re-use it.
test/jdk/java/awt/Dialog/FileDialogIconTest/FileDialogIconTest.java line 256:
> 254: static class MyActionListener implements ActionListener {
> 255: int id;
> 256: String name;
Suggestion:
final int id;
final String name;
If the value of the fields is unchanged, they should be `final`. The may even be `private`.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23523#discussion_r1949668666
PR Review Comment: https://git.openjdk.org/jdk/pull/23523#discussion_r1949652576
PR Review Comment: https://git.openjdk.org/jdk/pull/23523#discussion_r1949653808
PR Review Comment: https://git.openjdk.org/jdk/pull/23523#discussion_r1949657086
PR Review Comment: https://git.openjdk.org/jdk/pull/23523#discussion_r1949658652
PR Review Comment: https://git.openjdk.org/jdk/pull/23523#discussion_r1949661300
PR Review Comment: https://git.openjdk.org/jdk/pull/23523#discussion_r1949663909
More information about the client-libs-dev
mailing list