UNPKG

textlint-tester

Version:
101 lines 3.36 kB
import { TextlintFixResult, TextlintKernelDescriptor, TextlintPluginCreator, TextlintRuleModule } from "@textlint/kernel"; import { TextlintPluginOptions, TextlintRuleOptions } from "@textlint/types"; export type TestConfigPlugin = { pluginId: string; plugin: TextlintPluginCreator; options?: TextlintPluginOptions | boolean; }; export type TestConfigRule = { ruleId: string; rule: TextlintRuleModule; options?: TextlintRuleOptions | boolean; }; export type TestConfig = { plugins?: TestConfigPlugin[]; rules: TestConfigRule[]; }; export type TesterValid = string | { text?: string; ext?: string; inputPath?: string; options?: TextlintRuleOptions; description?: string; }; export type TesterErrorDefinition = { ruleId?: string; range?: readonly [startIndex: number, endIndex: number]; loc?: { start: { line: number; column: number; }; end: { line: number; column: number; }; }; /** * @deprecated use `range` option */ index?: number; /** * @deprecated use `loc` option */ line?: number; /** * @deprecated use `loc` option */ column?: number; message?: string; }; export type TesterInvalid = { text?: string; output?: string; ext?: string; inputPath?: string; options?: TextlintRuleOptions; description?: string; errors: TesterErrorDefinition[]; }; export type TestRuleSet = { rules: { [index: string]: TextlintRuleModule; }; rulesOptions: Record<string, TextlintRuleOptions>; }; export type TestPluginSet = { plugins: { [index: string]: TextlintPluginCreator; }; pluginOptions: Record<string, TextlintPluginOptions | boolean>; }; interface CreateTextlintKernelDescriptorArgs { testName: string; testRuleDefinition: TextlintRuleModule | TestConfig; testCaseOptions?: TestConfigRule["options"]; } export declare const createTextlintKernelDescriptor: ({ testName, testRuleDefinition, testCaseOptions }: CreateTextlintKernelDescriptorArgs) => TextlintKernelDescriptor; export declare const createTestLinter: (textlintKernelDescriptor: TextlintKernelDescriptor) => { lintText(text: string, ext: string): Promise<import("@textlint/kernel").TextlintResult>; lintFile(filePath: string): Promise<import("@textlint/kernel").TextlintResult>; fixText(text: string, ext: string): Promise<TextlintFixResult>; fixFile(filePath: string): Promise<TextlintFixResult>; }; export declare class TextLintTester { constructor(); testValidPattern(testName: string, param: TextlintRuleModule | TestConfig, valid: TesterValid): void; testInvalidPattern(testName: string, param: TextlintRuleModule | TestConfig, invalid: TesterInvalid): void; /** * run test for textlint rule. * @param {string} name name is name of the test or rule * @param {TextlintRuleModule|TestConfig} testRuleDefinition param is TextlintRuleCreator or TestConfig * @param {string[]|object[]} [valid] * @param {object[]} [invalid] */ run(name: string, testRuleDefinition: TextlintRuleModule | TestConfig, { valid, invalid }: { valid?: TesterValid[]; invalid?: TesterInvalid[]; }): void; } export {}; //# sourceMappingURL=textlint-tester.d.ts.map