wait.waitForResult(2000);
assertEquals(1, ad.cnt());
assertEquals(1, monitor.currentChildren().size());
monitor.removeListener(cli);
final Counter cld = new Counter();
final Blocker<String> blocker = new Blocker<String>();
ChildrenListener cli = new ChildrenListener() {
@Override
public void notify(EventType type, long happenTime) {
blocker.release("s", "");
}
@Override
public void childrenChange(EventType type, List<String> list) {
if (type == EventType.NOT_DIR)
cld.set(1);
blocker.release("s", "");
System.out.println(type + " " + list);
}
};
DirMonitor monitor2 = new DirMonitor(1, TMP + "/dir-monitor/not-dir.txt");
monitor2.addListener(cli);
wait = blocker.init("s");
FileUtil.setCharacterFileContentToFileSystem(TMP + "/dir-monitor/not-dir.txt", "It's not a DIR", StringUtil.US_ASCII);
wait.waitForResult(1000);
assertEquals(1, cld.cnt());
boolean b = monitor2.removeListener(cli);
assertTrue(b);
assertFalse(monitor2.isDir());
FileOutputStream fo = new FileOutputStream(TMP + "/dir-monitor/not-dir.txt");
wait = blocker.init("s");