NonBlockingReadActionTest: fix a leak via Disposer

GitOrigin-RevId: 62902169359256487432821c807f20f0f5947a79
This commit is contained in:
Peter Gromov
2020-06-22 12:34:21 +03:00
committed by intellij-monorepo-bot
parent ef762abc22
commit fd1444f322
@@ -463,17 +463,22 @@ public class NonBlockingReadActionTest extends LightPlatformTestCase {
for (int i = 0; i < 2; i++) {
Disposable[] parents = {Disposer.newDisposable("1"), Disposer.newDisposable("2")};
Disposer.dispose(parents[i]);
NonBlockingReadAction<String> nbra = ReadAction
.nonBlocking(() -> {
fail();
return "a";
});
for (Disposable parent : parents) {
nbra = nbra.expireWith(parent);
try {
NonBlockingReadAction<String> nbra = ReadAction
.nonBlocking(() -> {
fail();
return "a";
});
for (Disposable parent : parents) {
nbra = nbra.expireWith(parent);
}
CancellablePromise<String> promise = nbra.submit(AppExecutorUtil.getAppExecutorService());
assertTrue(promise.isCancelled());
assertNull(promise.get());
}
finally {
Disposer.dispose(parents[1 - i]);
}
CancellablePromise<String> promise = nbra.submit(AppExecutorUtil.getAppExecutorService());
assertTrue(promise.isCancelled());
assertNull(promise.get());
}
}
}