-
Enhancement
-
Resolution: Fixed
-
P4
-
None
-
b03
The test open/test/jdk/java/io/File/SymLinks.java has some logic to test Windows specific functionality. A refactor extract method will make the code cleaner and highlight the Windows specific tests more clearly
// on Windows we test with the DOS hidden attribute set
if (System.getProperty("os.name").startsWith("Windows")) {
DosFileAttributeView view = Files
.getFileAttributeView(file.toPath(), DosFileAttributeView.class);
view.setHidden(true);
try {
assertTrue(file.isHidden());
assertTrue(link2file.isHidden());
assertTrue(link2link2file.isHidden());
} finally {
view.setHidden(false);
}
assertFalse(file.isHidden());
assertFalse(link2file.isHidden());
assertFalse(link2link2file.isHidden());
}
refactor extract method -- extract the inline code to DOS specific test
static void testDOSHiddenAttributes() throws IOException {
// on Windows we test with the DOS hidden attribute set
if (System.getProperty("os.name").startsWith("Windows")) {
DosFileAttributeView view = Files
.getFileAttributeView(file.toPath(), DosFileAttributeView.class);
view.setHidden(true);
try {
assertTrue(file.isHidden());
assertTrue(link2file.isHidden());
assertTrue(link2link2file.isHidden());
} finally {
view.setHidden(false);
}
assertFalse(file.isHidden());
assertFalse(link2file.isHidden());
assertFalse(link2link2file.isHidden());
}
}
// on Windows we test with the DOS hidden attribute set
if (System.getProperty("os.name").startsWith("Windows")) {
DosFileAttributeView view = Files
.getFileAttributeView(file.toPath(), DosFileAttributeView.class);
view.setHidden(true);
try {
assertTrue(file.isHidden());
assertTrue(link2file.isHidden());
assertTrue(link2link2file.isHidden());
} finally {
view.setHidden(false);
}
assertFalse(file.isHidden());
assertFalse(link2file.isHidden());
assertFalse(link2link2file.isHidden());
}
refactor extract method -- extract the inline code to DOS specific test
static void testDOSHiddenAttributes() throws IOException {
// on Windows we test with the DOS hidden attribute set
if (System.getProperty("os.name").startsWith("Windows")) {
DosFileAttributeView view = Files
.getFileAttributeView(file.toPath(), DosFileAttributeView.class);
view.setHidden(true);
try {
assertTrue(file.isHidden());
assertTrue(link2file.isHidden());
assertTrue(link2link2file.isHidden());
} finally {
view.setHidden(false);
}
assertFalse(file.isHidden());
assertFalse(link2file.isHidden());
assertFalse(link2link2file.isHidden());
}
}
- relates to
-
JDK-8355444 [java.io] Use @requires tag instead of exiting based on "os.name" property value
-
- Resolved
-
- links to
-
Commit(master) openjdk/jdk/49a82d88
-
Review(master) openjdk/jdk/25853