Path: blob/main/extensions/copilot/test/simulation/simulationTestProvider.ts
13388 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/4import { ITestFailure, ITestProvider } from '../../src/platform/testing/common/testProvider';5import { Event } from '../../src/util/vs/base/common/event';6import { URI } from '../../src/util/vs/base/common/uri';7import { Range } from '../../src/vscodeTypes';89export class SimulationTestProvider implements ITestProvider {10declare readonly _serviceBrand: undefined;1112onDidChangeResults = Event.None;1314constructor(private readonly failures: {15label?: string;16uri: URI;17testRange: Range;18failureRange?: Range;19message: string;20}[] = []) { }2122public getFailureAtPosition() {23return undefined;24}2526hasTestsInUri(): Promise<boolean> {27return Promise.resolve(false);28}2930getLastFailureFor(): ITestFailure | undefined {31return undefined;32}3334public getAllFailures(): Iterable<ITestFailure> {35return this.failures.map((f): ITestFailure => ({36snapshot: {37children: [],38id: '',39label: f.label ?? 'my test',40taskStates: [],41uri: f.uri,42range: f.testRange,43},44task: {45state: 4,46messages: [47{48message: f.message,49location: {50uri: f.uri,51range: f.failureRange || f.testRange,52},53}54]55}56}));57}5859hasAnyTests(): Promise<boolean> {60return Promise.resolve(true);61}62}636465