UNPKG

@cucumber/cucumber

Version:

The official JavaScript implementation of Cucumber.

79 lines (78 loc) 2.72 kB
import * as messages from '@cucumber/messages'; import Formatter, { IFormatterOptions } from './'; export interface IJsonFeature { description: string; elements: IJsonScenario[]; id: string; keyword: string; line: number; name: string; tags: IJsonTag[]; uri: string; } export interface IJsonScenario { description: string; id: string; keyword: string; line: number; name: string; steps: IJsonStep[]; tags: IJsonTag[]; type: string; } export interface IJsonStep { arguments?: any; embeddings?: any; hidden?: boolean; keyword?: string; line?: number; match?: any; name?: string; result?: any; } export interface IJsonTag { name: string; line: number; } interface IBuildJsonFeatureOptions { feature: messages.Feature; elements: IJsonScenario[]; uri: string; } interface IBuildJsonScenarioOptions { feature: messages.Feature; gherkinScenarioMap: Record<string, messages.Scenario>; gherkinExampleRuleMap: Record<string, messages.Rule>; gherkinScenarioLocationMap: Record<string, messages.Location>; pickle: messages.Pickle; steps: IJsonStep[]; } interface IBuildJsonStepOptions { isBeforeHook: boolean; gherkinStepMap: Record<string, messages.Step>; pickleStepMap: Record<string, messages.PickleStep>; testStep: messages.TestStep; testStepAttachments: messages.Attachment[]; testStepResult: messages.TestStepResult; } export default class JsonFormatter extends Formatter { static readonly documentation: string; constructor(options: IFormatterOptions); convertNameToId(obj: messages.Feature | messages.Pickle): string; formatDataTable(dataTable: messages.PickleTable): any; formatDocString(docString: messages.PickleDocString, gherkinStep: messages.Step): any; formatStepArgument(stepArgument: messages.PickleStepArgument, gherkinStep: messages.Step): any; onTestRunFinished(): void; getFeatureData({ feature, elements, uri, }: IBuildJsonFeatureOptions): IJsonFeature; getScenarioData({ feature, gherkinScenarioLocationMap, gherkinExampleRuleMap, gherkinScenarioMap, pickle, steps, }: IBuildJsonScenarioOptions): IJsonScenario; private formatScenarioId; getStepData({ isBeforeHook, gherkinStepMap, pickleStepMap, testStep, testStepAttachments, testStepResult, }: IBuildJsonStepOptions): IJsonStep; getFeatureTags(feature: messages.Feature): IJsonTag[]; getScenarioTags({ feature, pickle, gherkinScenarioMap, }: { feature: messages.Feature; pickle: messages.Pickle; gherkinScenarioMap: Record<string, messages.Scenario>; }): IJsonTag[]; private getScenarioTag; } export {};