# This patch file was generated by NetBeans IDE # Following Index: paths are relative to: /home/ondra/netbeans/cdev # This patch can be applied using context Tools: Patch action on respective folder. # It uses platform neutral UTF-8 encoding and \n newlines. # Above lines and this line are ignored by the patching process. Index: masterfs/test/unit/src/org/netbeans/modules/masterfs/filebasedfs/fileobjects/FileObjTest.java --- masterfs/test/unit/src/org/netbeans/modules/masterfs/filebasedfs/fileobjects/FileObjTest.java Base (BASE) +++ masterfs/test/unit/src/org/netbeans/modules/masterfs/filebasedfs/fileobjects/FileObjTest.java Locally Modified (Based On LOCAL) @@ -46,6 +46,7 @@ import java.io.File; import java.io.IOException; import java.io.OutputStream; +import java.util.Arrays; import java.util.logging.Handler; import java.util.logging.Level; import java.util.logging.LogRecord; @@ -174,4 +175,19 @@ f.setWritable(true); } } + + public void testFileObjectForBrokenLink () throws Exception { + clearWorkDir(); + File original = new File(getWorkDir(), "original"); +// original.createNewFile(); + File lockFile = new File(getWorkDir(), "wlock"); + ProcessBuilder pb = new ProcessBuilder().directory(lockFile.getParentFile()).command(new String[] { "ln", "-s", original.getName(), lockFile.getName() }); + pb.start().waitFor(); + // file exists, or at least dir.listFiles lists the file + assertTrue(Arrays.asList(lockFile.getParentFile().list()).contains(lockFile.getName())); + // java.io.File.exists returns false + assertFalse(lockFile.exists()); + // and no FileObject is reated for suh a file + assertNotNull(FileUtil.toFileObject(lockFile)); + } }