JDK-8283621 : Write a regression test for CCC4400728
  • Type: Enhancement
  • Component: client-libs
  • Sub-Component: javax.swing
  • Affected Version: 8,11,17,18,19
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2022-03-24
  • Updated: 2022-08-01
  • Resolved: 2022-04-05
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11 JDK 17 JDK 19 JDK 8
11.0.17-oracleFixed 17.0.5-oracleFixed 19 b17Fixed 8u351Fixed
Related Reports
Relates :  
Relates :  
Description
Write a regression test for JDK-4400728
Issue:
JFileChooser constructors by default set current directory to the "Desktop" value on Windows,
but should use user.home property instead.

javadoc says:
"public JFileChooser()
Constructs a JFileChooser pointing to the user's default directory. This default depends on the operating system. It is typically the 'My Documents' folder on Windows, and the user's home directory on Unix.
"
See this https://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/javax/swing/JFileChooser.html#%3Cinit%3E()

Testing:
1. Tested using Mach5(20 times per platform) in macos,linux and windows and got all pass.
2. Tested in original failed Java version and the fixed version;
Java 1.4.0 -> Test Failed.
$ j2sdk1.4.0/bin/java JFileChooserDefaultDirectoryTest
java.lang.NullPointerException
        at java.io.File.<init>(File.java:180)
        at sun.awt.shell.Win32ShellFolder.listFiles(Win32ShellFolder.java:517)
        at sun.awt.shell.Win32ShellFolderManager.get(Win32ShellFolderManager.java:152)
        at sun.awt.shell.ShellFolder.get(ShellFolder.java:208)
        at javax.swing.plaf.metal.MetalFileChooserUI.installComponents(MetalFileChooserUI.java:310)
        at javax.swing.plaf.basic.BasicFileChooserUI.installUI(BasicFileChooserUI.java:130)
        at javax.swing.plaf.metal.MetalFileChooserUI.installUI(MetalFileChooserUI.java:152)
        at javax.swing.JComponent.setUI(JComponent.java:445)
        at javax.swing.JFileChooser.updateUI(JFileChooser.java:1701)
        at javax.swing.JFileChooser.setup(JFileChooser.java:345)
        at javax.swing.JFileChooser.<init>(JFileChooser.java:320)
        at javax.swing.JFileChooser.<init>(JFileChooser.java:273)
        at JFileChooserDefaultDirectoryTest.main(JFileChooserDefaultDirectoryTest.java:15)
Exception in thread "main"

Java 1.5.0 -> Test Passed.
$ jdk1.5.0/bin/java JFileChooserDefaultDirectoryTest
UserHome dir = C:\Users\jpgansible
Test Passed

Java 1.8.0 -> Test Passed.
$ jdk1.8.0_331/bin/java JFileChooserDefaultDirectoryTest
UserHome dir = C:\Users\jpgansible
Test Passed
Comments
A pull request was submitted for review. URL: https://git.openjdk.org/jdk11u-dev/pull/1291 Date: 2022-07-31 12:35:23 +0000
01-08-2022

A pull request was submitted for review. URL: https://git.openjdk.org/jdk17u-dev/pull/613 Date: 2022-07-31 12:31:26 +0000
01-08-2022

Fix request [11u,17u] I backport this for parity with 11.0.17,17.0.5-oracle. No risk, only a test change. Clean backport. Test passes.
31-07-2022

Changeset: 632825c6 Author: Manukumar V S <mvs@openjdk.org> Committer: Abdul Kolarkunnu <akolarkunnu@openjdk.org> Date: 2022-04-05 04:42:32 +0000 URL: https://git.openjdk.java.net/jdk/commit/632825c6d2933c8f1e63569199413ecaa74b6740
05-04-2022

A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk/pull/7942 Date: 2022-03-24 15:22:35 +0000
24-03-2022