mirror of
https://github.com/microsoft/vscode.git
synced 2026-05-08 17:19:48 +01:00
adopt ensureNoDisposablesAreLeakedInTestSuite (#192613)
* #190503 adopt ensureNoDisposablesAreLeakedInTestSuite * handle disposing in async teardown --------- Co-authored-by: Benjamin Pasero <benjamin.pasero@microsoft.com>
This commit is contained in:
committed by
GitHub
parent
77b4d4d780
commit
bbbd8da393
+1
-1
@@ -361,7 +361,7 @@ export class ExtensionRecommendationNotificationService extends Disposable imple
|
||||
this.visibleNotification = { recommendationsNotification, source, from: Date.now() };
|
||||
recommendationsNotification.show();
|
||||
}
|
||||
await raceCancellation(Event.toPromise(recommendationsNotification.onDidClose), token);
|
||||
await raceCancellation(new Promise(c => disposables.add(Event.once(recommendationsNotification.onDidClose)(c))), token);
|
||||
return !recommendationsNotification.isCancelled();
|
||||
} finally {
|
||||
disposables.dispose();
|
||||
|
||||
+11
-3
@@ -61,7 +61,9 @@ import { VSBuffer } from 'vs/base/common/buffer';
|
||||
import { platform } from 'vs/base/common/platform';
|
||||
import { arch } from 'vs/base/common/process';
|
||||
import { runWithFakedTimers } from 'vs/base/test/common/timeTravelScheduler';
|
||||
import { ensureNoDisposablesAreLeakedInTestSuite } from 'vs/base/test/common/utils';
|
||||
import { DisposableStore } from 'vs/base/common/lifecycle';
|
||||
import { timeout } from 'vs/base/common/async';
|
||||
|
||||
const mockExtensionGallery: IGalleryExtension[] = [
|
||||
aGalleryExtension('MockExtension1', {
|
||||
@@ -181,7 +183,7 @@ function aGalleryExtension(name: string, properties: any = {}, galleryExtensionP
|
||||
}
|
||||
|
||||
suite('ExtensionRecommendationsService Test', () => {
|
||||
const disposableStore = new DisposableStore();
|
||||
let disposableStore: DisposableStore;
|
||||
let workspaceService: IWorkspaceContextService;
|
||||
let instantiationService: TestInstantiationService;
|
||||
let testConfigurationService: TestConfigurationService;
|
||||
@@ -194,7 +196,15 @@ suite('ExtensionRecommendationsService Test', () => {
|
||||
let promptedEmitter: Emitter<void>;
|
||||
let onModelAddedEvent: Emitter<ITextModel>;
|
||||
|
||||
teardown(async () => {
|
||||
disposableStore.dispose();
|
||||
await timeout(0); // allow for async disposables to complete
|
||||
});
|
||||
|
||||
ensureNoDisposablesAreLeakedInTestSuite();
|
||||
|
||||
setup(() => {
|
||||
disposableStore = new DisposableStore();
|
||||
instantiationService = disposableStore.add(new TestInstantiationService());
|
||||
promptedEmitter = disposableStore.add(new Emitter<void>());
|
||||
installEvent = disposableStore.add(new Emitter<InstallExtensionEvent>());
|
||||
@@ -308,8 +318,6 @@ suite('ExtensionRecommendationsService Test', () => {
|
||||
});
|
||||
});
|
||||
|
||||
teardown(() => disposableStore.clear());
|
||||
|
||||
function setUpFolderWorkspace(folderName: string, recommendedExtensions: string[], ignoredRecommendations: string[] = []): Promise<void> {
|
||||
return setUpFolder(folderName, recommendedExtensions, ignoredRecommendations);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user