--- versioning/test/unit/src/org/netbeans/modules/versioning/TestAnnotationProvider.java +++ versioning/test/unit/src/org/netbeans/modules/versioning/TestAnnotationProvider.java @@ -181,8 +181,17 @@ public void fileRenamed(FileRenameEvent fe) { } public void fileAttributeChanged(FileAttributeEvent fe) { } + /** + * WARNING! need this to return -1 otherwise other VCSInterceptor implementations in this test will be skipped + */ + @Override + public long refreshRecursively(File dir, long lastTimeStamp, List children) { + events.add("refreshRecursively"); + return -1; } + } + private Set getRootFilesystems() { Set filesystems = new HashSet(); File [] roots = File.listRoots(); --- versioning/test/unit/src/org/netbeans/modules/versioning/spi/VCSInterceptorTest.java +++ versioning/test/unit/src/org/netbeans/modules/versioning/spi/VCSInterceptorTest.java @@ -46,14 +46,13 @@ import java.io.IOException; import java.io.OutputStream; -import org.netbeans.modules.versioning.Utils; import org.openide.filesystems.FileObject; import org.openide.filesystems.FileUtil; import org.openide.filesystems.FileLock; import org.openide.util.Lookup; import org.netbeans.modules.versioning.spi.testvcs.TestVCS; import org.netbeans.modules.versioning.spi.testvcs.TestVCSInterceptor; -import org.netbeans.junit.NbTestCase; +import org.openide.filesystems.FileChangeAdapter; /** * Versioning SPI unit tests of VCSInterceptor. @@ -133,6 +132,15 @@ assertFalse(battr); } + public void testRefreshRecursively() throws IOException { + File f = new File(dataRootDir, "workdir/root-test-versioned"); + f.mkdirs(); + FileObject fo = FileUtil.toFileObject(f); + fo = fo.createFolder("folder"); + fo.addRecursiveListener(new FileChangeAdapter()); + assertTrue(inteceptor.getRefreshRecursivelyFiles().contains(FileUtil.toFile(fo))); + } + public void testChangedFile() throws IOException { File f = new File(dataRootDir, "workdir/root-test-versioned"); FileObject fo = FileUtil.toFileObject(f); --- versioning/test/unit/src/org/netbeans/modules/versioning/spi/testvcs/TestVCSInterceptor.java +++ versioning/test/unit/src/org/netbeans/modules/versioning/spi/testvcs/TestVCSInterceptor.java @@ -63,6 +63,7 @@ private final List beforeChangeFiles = new ArrayList(); private final List afterChangeFiles = new ArrayList(); private final List isMutableFiles = new ArrayList(); + private final List refreshRecursivelyFiles = new ArrayList(); public TestVCSInterceptor() { } @@ -191,6 +192,19 @@ return afterChangeFiles; } + public List getRefreshRecursivelyFiles() { + return refreshRecursivelyFiles; + } + + @Override + public long refreshRecursively(File dir, long lastTimeStamp, List children) { + refreshRecursivelyFiles.add(dir); + if(dir.getName().equals("administrative")) { + return 0; + } + return -1; + } + public void clearTestData() { beforeCreateFiles.clear(); doCreateFiles.clear();