| 9 | import { CppToolsTestHook, IntelliSenseStatus, Status } from 'vscode-cpptools/out/testApi'; |
| 10 | |
| 11 | export class TestHook implements CppToolsTestHook { |
| 12 | private disposed = false; |
| 13 | private intelliSenseStatusChangedEvent: vscode.EventEmitter<IntelliSenseStatus> = new vscode.EventEmitter<IntelliSenseStatus>(); |
| 14 | private statusChangedEvent: vscode.EventEmitter<Status> = new vscode.EventEmitter<Status>(); |
| 15 | |
| 16 | // The StatusChanged event is deprecated in CppToolsTestHook API. |
| 17 | public get StatusChanged(): vscode.Event<Status> { |
| 18 | ok(!this.disposed, "TestHook is disposed."); |
| 19 | return this.statusChangedEvent.event; |
| 20 | } |
| 21 | |
| 22 | public get IntelliSenseStatusChanged(): vscode.Event<IntelliSenseStatus> { |
| 23 | ok(!this.disposed, "TestHook is disposed."); |
| 24 | return this.intelliSenseStatusChangedEvent.event; |
| 25 | } |
| 26 | |
| 27 | public get valid(): boolean { |
| 28 | return !this.disposed && !!this.intelliSenseStatusChangedEvent && !!this.statusChangedEvent; |
| 29 | } |
| 30 | |
| 31 | public updateStatus(status: IntelliSenseStatus): void { |
| 32 | ok(!this.disposed, "TestHook is disposed."); |
| 33 | this.intelliSenseStatusChangedEvent.fire(status); |
| 34 | this.statusChangedEvent.fire(status.status); |
| 35 | } |
| 36 | |
| 37 | public dispose(): void { |
| 38 | ok(!this.disposed, "TestHook is disposed."); |
| 39 | this.disposed = true; |
| 40 | this.intelliSenseStatusChangedEvent.dispose(); |
| 41 | this.statusChangedEvent.dispose(); |
| 42 | } |
| 43 | } |
| 44 | |
| 45 | let testHook: TestHook; |
| 46 |
nothing calls this directly
no outgoing calls
no test coverage detected