| import { Disposable, ExtensionContext } from 'vscode'; | |
| type ExtensionContextPlus = ExtensionContext & Pick<MockExtensionContext, 'teardown'>; | |
| export class MockExtensionContext implements Partial<ExtensionContext> { | |
| subscriptions: Disposable[] = []; | |
| static new(): ExtensionContextPlus { | |
| return (new this() as unknown) as ExtensionContextPlus; | |
| } | |
| teardown() { | |
| this.subscriptions.forEach((x) => x.dispose()); | |
| } | |
| } |