@stryker-mutator/core
Version:
The extendable JavaScript mutation testing framework
42 lines • 2.5 kB
TypeScript
/// <reference types="node" resolution-mode="require"/>
/// <reference types="node" resolution-mode="require"/>
import { CpuInfo } from 'os';
import type { Dirent } from 'fs';
import { ClearTextReporterOptions, Location, Mutant, schema } from '@stryker-mutator/api/core';
import { Logger } from 'log4js';
import sinon from 'sinon';
import { ReplaySubject } from 'rxjs';
import { TestRunner } from '@stryker-mutator/api/test-runner';
import { I } from '@stryker-mutator/util';
import { Pool, ConcurrencyTokenProvider } from '../../src/concurrent/index.js';
import { CheckerFacade } from '../../src/checker/index.js';
import { FileSystem } from '../../src/fs/file-system.js';
import { TSConfig } from '../../src/sandbox/ts-config-preprocessor.js';
export type Mutable<T> = {
-readonly [K in keyof T]: T[K];
};
export type Mock<T> = Mutable<sinon.SinonStubbedInstance<T>>;
export declare function mock<T>(constructorFn: sinon.StubbableType<T>): Mock<T>;
export declare function createFileSystemMock(): sinon.SinonStubbedInstance<FileSystem>;
export declare const createClearTextReporterOptions: (overrides?: Partial<ClearTextReporterOptions> | undefined) => ClearTextReporterOptions & Partial<ClearTextReporterOptions>;
export type ConcurrencyTokenProviderMock = sinon.SinonStubbedInstance<I<ConcurrencyTokenProvider>> & {
testRunnerToken$: ReplaySubject<number>;
checkerToken$: ReplaySubject<number>;
};
export declare function createConcurrencyTokenProviderMock(): ConcurrencyTokenProviderMock;
export declare function createTestRunnerPoolMock(): sinon.SinonStubbedInstance<I<Pool<TestRunner>>>;
export declare function createCheckerPoolMock(): sinon.SinonStubbedInstance<I<Pool<I<CheckerFacade>>>>;
export declare const logger: () => sinon.SinonStubbedInstance<Logger>;
export declare function createCpuInfo(overrides?: Partial<CpuInfo>): CpuInfo;
export declare function serializeTSConfig(content: TSConfig): string;
interface CreateDirentOptions {
name: string;
isDirectory: boolean;
}
export declare function createDirent(overrides?: Partial<CreateDirentOptions>): Dirent;
export declare function createMutant(overrides?: Partial<Mutant>): Mutant;
export declare function loc(startLine: number, startColumn: number): schema.OpenEndLocation;
export declare function loc(startLine: number, startColumn: number, endLine: number, endColumn: number): Location;
export declare function pos(line: number, column: number): schema.Position;
export {};
//# sourceMappingURL=producers.d.ts.map