Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/extensions/copilot/test/simulation/simulationTestProvider.ts
13388 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
import { ITestFailure, ITestProvider } from '../../src/platform/testing/common/testProvider';
6
import { Event } from '../../src/util/vs/base/common/event';
7
import { URI } from '../../src/util/vs/base/common/uri';
8
import { Range } from '../../src/vscodeTypes';
9
10
export class SimulationTestProvider implements ITestProvider {
11
declare readonly _serviceBrand: undefined;
12
13
onDidChangeResults = Event.None;
14
15
constructor(private readonly failures: {
16
label?: string;
17
uri: URI;
18
testRange: Range;
19
failureRange?: Range;
20
message: string;
21
}[] = []) { }
22
23
public getFailureAtPosition() {
24
return undefined;
25
}
26
27
hasTestsInUri(): Promise<boolean> {
28
return Promise.resolve(false);
29
}
30
31
getLastFailureFor(): ITestFailure | undefined {
32
return undefined;
33
}
34
35
public getAllFailures(): Iterable<ITestFailure> {
36
return this.failures.map((f): ITestFailure => ({
37
snapshot: {
38
children: [],
39
id: '',
40
label: f.label ?? 'my test',
41
taskStates: [],
42
uri: f.uri,
43
range: f.testRange,
44
},
45
task: {
46
state: 4,
47
messages: [
48
{
49
message: f.message,
50
location: {
51
uri: f.uri,
52
range: f.failureRange || f.testRange,
53
},
54
}
55
]
56
}
57
}));
58
}
59
60
hasAnyTests(): Promise<boolean> {
61
return Promise.resolve(true);
62
}
63
}
64
65