File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -4,11 +4,13 @@ import { AppEventEmitter } from "./events";
44import { NotificationLogger } from "./logging" ;
55import { Memento } from "./memento" ;
66import { AppCommandManager } from "./commands" ;
7+ import { AppTelemetry } from "./telemetry" ;
78
89export interface App {
910 createEventEmitter < T > ( ) : AppEventEmitter < T > ;
1011 readonly mode : AppMode ;
1112 readonly logger : NotificationLogger ;
13+ readonly telemetry ?: AppTelemetry ;
1214 readonly subscriptions : Disposable [ ] ;
1315 readonly extensionPath : string ;
1416 readonly globalStoragePath : string ;
Original file line number Diff line number Diff line change @@ -9,6 +9,8 @@ import { VSCodeAppEventEmitter } from "./events";
99import { AppCommandManager , QueryServerCommandManager } from "../commands" ;
1010import { createVSCodeCommandManager } from "./commands" ;
1111import { AppEnvironmentContext } from "./environment-context" ;
12+ import { AppTelemetry } from "../telemetry" ;
13+ import { telemetryListener } from "./telemetry" ;
1214
1315export class ExtensionApp implements App {
1416 public readonly credentials : VSCodeCredentials ;
@@ -59,6 +61,10 @@ export class ExtensionApp implements App {
5961 return extLogger ;
6062 }
6163
64+ public get telemetry ( ) : AppTelemetry | undefined {
65+ return telemetryListener ;
66+ }
67+
6268 public createEventEmitter < T > ( ) : AppEventEmitter < T > {
6369 return new VSCodeAppEventEmitter < T > ( ) ;
6470 }
Original file line number Diff line number Diff line change @@ -9,6 +9,8 @@ import { Credentials } from "../../src/common/authentication";
99import { AppCommandManager } from "../../src/common/commands" ;
1010import { createMockCommandManager } from "./commandsMock" ;
1111import { NotificationLogger } from "../../src/common" ;
12+ import { AppTelemetry } from "../../src/common/telemetry" ;
13+ import { createMockTelemetryReporter } from "./telemetryMock" ;
1214
1315export function createMockApp ( {
1416 extensionPath = "/mock/extension/path" ,
@@ -20,6 +22,7 @@ export function createMockApp({
2022 commands = createMockCommandManager ( ) ,
2123 environment = createMockEnvironmentContext ( ) ,
2224 logger = createMockLogger ( ) ,
25+ telemetry = createMockTelemetryReporter ( ) ,
2326} : {
2427 extensionPath ?: string ;
2528 workspaceStoragePath ?: string ;
@@ -30,10 +33,12 @@ export function createMockApp({
3033 commands ?: AppCommandManager ;
3134 environment ?: EnvironmentContext ;
3235 logger ?: NotificationLogger ;
36+ telemetry ?: AppTelemetry ;
3337} ) : App {
3438 return {
3539 mode : AppMode . Test ,
3640 logger,
41+ telemetry,
3742 subscriptions : [ ] ,
3843 extensionPath,
3944 workspaceStoragePath,
Original file line number Diff line number Diff line change 1+ import { AppTelemetry } from "../../src/common/telemetry" ;
2+
3+ export function createMockTelemetryReporter ( ) : AppTelemetry {
4+ return {
5+ sendCommandUsage : jest . fn ( ) ,
6+ sendUIInteraction : jest . fn ( ) ,
7+ sendError : jest . fn ( ) ,
8+ } ;
9+ }
You can’t perform that action at this time.
0 commit comments