MCPcopy Create free account
hub / github.com/microsoft/vscode-cpptools / TestHook

Class TestHook

Extension/src/testHook.ts:11–43  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9import { CppToolsTestHook, IntelliSenseStatus, Status } from 'vscode-cpptools/out/testApi';
10
11export 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
45let testHook: TestHook;
46

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected