Files
vscode/extensions/copilot/test/simulation/simulationTestProvider.ts
kieferrm 333d9a4053 Hello Copilot
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2025-06-27 11:35:20 +02:00

64 lines
1.6 KiB
TypeScript

/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { ITestFailure, ITestProvider } from '../../src/platform/testing/common/testProvider';
import { Event } from '../../src/util/vs/base/common/event';
import { URI } from '../../src/util/vs/base/common/uri';
import { Range } from '../../src/vscodeTypes';
export class SimulationTestProvider implements ITestProvider {
declare readonly _serviceBrand: undefined;
onDidChangeResults = Event.None;
constructor(private readonly failures: {
label?: string;
uri: URI;
testRange: Range;
failureRange?: Range;
message: string;
}[] = []) { }
public getFailureAtPosition() {
return undefined;
}
hasTestsInUri(): Promise<boolean> {
return Promise.resolve(false);
}
getLastFailureFor(): ITestFailure | undefined {
return undefined;
}
public getAllFailures(): Iterable<ITestFailure> {
return this.failures.map((f): ITestFailure => ({
snapshot: {
children: [],
id: '',
label: f.label ?? 'my test',
taskStates: [],
uri: f.uri,
range: f.testRange,
},
task: {
state: 4,
messages: [
{
message: f.message,
location: {
uri: f.uri,
range: f.failureRange || f.testRange,
},
}
]
}
}));
}
hasAnyTests(): Promise<boolean> {
return Promise.resolve(true);
}
}