pickle-jar 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -137,6 +137,15 @@ testRunner<World>(`${__dirname}/features/**/*.feature`, stepDefinitions, world);
137
137
  Scenario outline steps are defined in the same way as normal scenario steps. The scenario outline is expanded into a test run for
138
138
  each row of the examples.
139
139
 
140
+ ## Tag filtering
141
+ Tags can be used for filtering entire scenarios or scenario steps. Feature files can use tags using the `@tag`. The test runner can accept an optional predicate callback that can filter scenarios or steps based on the tags such as:
142
+
143
+ ```ts
144
+ const tagFilter = (tags: string[])=> {
145
+ return tags.indexOf("@skip") === -1;
146
+ }
147
+ ```
148
+
140
149
  ## Jest configuration
141
150
  Create a `jest.config.js` file in the project root (or update the existing one) to match the `runner.ts` file:
142
151
  ```js
@@ -0,0 +1,23 @@
1
+ import { AbstractParseTreeVisitor } from "antlr4ts/tree";
2
+ import { BackgroundContext, FeatureContext, FeatureFileContext, ScenarioContext, ScenarioOutlineContext } from "./grammar/GherkinParser";
3
+ import { GherkinParserVisitor } from "./grammar/GherkinParserVisitor";
4
+ import { StepDefinition } from "./step-definition";
5
+ export declare class FeatureFileVisitor<TWorld> extends AbstractParseTreeVisitor<void> implements GherkinParserVisitor<void> {
6
+ private readonly file;
7
+ private readonly world;
8
+ private readonly stepDefinitions;
9
+ private tagFilter;
10
+ constructor(file: string, world: TWorld, stepDefinitions: StepDefinition<TWorld>[], tagFilter: (tags: string[]) => boolean);
11
+ visitFeatureFile(ctx: FeatureFileContext): void;
12
+ visitFeature(ctx: FeatureContext): void;
13
+ visitScenario(ctx: ScenarioContext): void;
14
+ visitBackground(ctx: BackgroundContext): void;
15
+ visitScenarioOutline(ctx: ScenarioOutlineContext): void;
16
+ protected defaultResult(): void;
17
+ private replaceKeywords;
18
+ private runNextStep;
19
+ private defineTestStep;
20
+ private definePrepareStep;
21
+ private extractTestArgs;
22
+ private getMatchingStepDefinition;
23
+ }
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FeatureFileVisitor = void 0;
4
+ const tree_1 = require("antlr4ts/tree");
5
+ const os_1 = require("os");
6
+ const GherkinParser_1 = require("./grammar/GherkinParser");
7
+ class FeatureFileVisitor extends tree_1.AbstractParseTreeVisitor {
8
+ constructor(file, world, stepDefinitions, tagFilter) {
9
+ super();
10
+ this.file = file;
11
+ this.world = world;
12
+ this.stepDefinitions = stepDefinitions;
13
+ this.tagFilter = tagFilter;
14
+ }
15
+ visitFeatureFile(ctx) {
16
+ describe(this.file, () => {
17
+ this.visitChildren(ctx);
18
+ });
19
+ }
20
+ visitFeature(ctx) {
21
+ describe(`Feature: ${ctx.contentText().text.trim()}`, () => {
22
+ this.visitChildren(ctx);
23
+ });
24
+ }
25
+ visitScenario(ctx) {
26
+ var _a, _b;
27
+ const tags = (_b = (_a = ctx.tags()) === null || _a === void 0 ? void 0 : _a.TAG().map(tag => tag.text)) !== null && _b !== void 0 ? _b : [];
28
+ if (!this.tagFilter(tags)) {
29
+ return;
30
+ }
31
+ describe(`Scenario: ${ctx.contentText().text.trim()}`, () => {
32
+ const step = ctx.step();
33
+ const steps = [step.givenStep(), ...step.andGivenStep(), step.whenStep(), ...step.andWhenStep(), step.thenStep(), ...step.andStep(), ...step.butStep()];
34
+ this.runNextStep(steps, undefined);
35
+ });
36
+ }
37
+ visitBackground(ctx) {
38
+ var _a, _b;
39
+ const tags = (_b = (_a = ctx.tags()) === null || _a === void 0 ? void 0 : _a.TAG().map(tag => tag.text)) !== null && _b !== void 0 ? _b : [];
40
+ if (!this.tagFilter(tags)) {
41
+ return;
42
+ }
43
+ describe(`Background: ${ctx.contentText().text.trim()}`, () => {
44
+ const scenarios = [...ctx.scenario(), ...ctx.scenarioOutline()];
45
+ for (const scenario of scenarios) {
46
+ const steps = [ctx.givenStep(), ...ctx.andGivenStep(), scenario];
47
+ this.runNextStep(steps, undefined);
48
+ }
49
+ });
50
+ }
51
+ visitScenarioOutline(ctx) {
52
+ var _a, _b;
53
+ const tags = (_b = (_a = ctx.tags()) === null || _a === void 0 ? void 0 : _a.TAG().map(tag => tag.text)) !== null && _b !== void 0 ? _b : [];
54
+ if (!this.tagFilter(tags)) {
55
+ return;
56
+ }
57
+ const cellNames = ctx.examplesBlock().tableHeader().tableRow().cell().map(cell => cell.text.trim());
58
+ const values = ctx.examplesBlock().tableRow().map(row => row.cell().map(cell => cell.text.trim()));
59
+ const valueMap = values.map(row => {
60
+ const item = {};
61
+ for (let i = 0; i < row.length; ++i) {
62
+ item[cellNames[i]] = row[i];
63
+ }
64
+ return item;
65
+ });
66
+ const scenarioName = ctx.contentText().text.trim();
67
+ describe(`Scenario outline: ${scenarioName}`, () => {
68
+ for (const row of valueMap) {
69
+ const step = ctx.step();
70
+ const steps = [step.givenStep(), ...step.andGivenStep(), step.whenStep(), ...step.andWhenStep(), step.thenStep(), ...step.andStep(), ...step.butStep()];
71
+ this.runNextStep(steps, row);
72
+ }
73
+ });
74
+ }
75
+ defaultResult() {
76
+ return;
77
+ }
78
+ replaceKeywords(input, replacements) {
79
+ return input.replace(/<([^>]+)>/g, (match, keyword) => {
80
+ const replacement = replacements === null || replacements === void 0 ? void 0 : replacements[keyword];
81
+ return replacement !== undefined ? replacement : match;
82
+ });
83
+ }
84
+ runNextStep(steps, valueMap) {
85
+ var _a, _b, _c, _d;
86
+ const step = steps.shift();
87
+ if (!step) {
88
+ return;
89
+ }
90
+ const tags = (_b = (_a = step.tags()) === null || _a === void 0 ? void 0 : _a.TAG().map(tag => tag.text)) !== null && _b !== void 0 ? _b : [];
91
+ if (!this.tagFilter(tags)) {
92
+ return;
93
+ }
94
+ if (step instanceof GherkinParser_1.ScenarioContext) {
95
+ this.visitScenario(step);
96
+ return;
97
+ }
98
+ else if (step instanceof GherkinParser_1.ScenarioOutlineContext) {
99
+ this.visitScenarioOutline(step);
100
+ return;
101
+ }
102
+ let prefix;
103
+ let prepare = true;
104
+ if (step instanceof GherkinParser_1.GivenStepContext || step instanceof GherkinParser_1.AndGivenStepContext) {
105
+ prefix = 'Given';
106
+ }
107
+ else if (step instanceof GherkinParser_1.WhenStepContext || step instanceof GherkinParser_1.AndWhenStepContext) {
108
+ prefix = 'When';
109
+ }
110
+ else if (step instanceof GherkinParser_1.ThenStepContext || step instanceof GherkinParser_1.AndStepContext) {
111
+ prefix = "Then";
112
+ prepare = false;
113
+ }
114
+ else {
115
+ prefix = 'But';
116
+ prepare = false;
117
+ }
118
+ const name = `${prefix} ${this.replaceKeywords(step.contentText().text.trim(), valueMap)}`;
119
+ const stepDefinition = this.getMatchingStepDefinition(name);
120
+ const { step: stepCall, match } = stepDefinition;
121
+ const docStringContents = (_d = (_c = step.docString()) === null || _c === void 0 ? void 0 : _c.DOC_STRING_TEXT()) === null || _d === void 0 ? void 0 : _d.text;
122
+ const args = this.extractTestArgs(match, name, docStringContents, valueMap);
123
+ if (prepare) {
124
+ this.definePrepareStep(name, stepCall, args, steps, valueMap);
125
+ }
126
+ else {
127
+ this.defineTestStep(name, stepCall, args, steps, valueMap);
128
+ }
129
+ }
130
+ defineTestStep(name, stepCall, args, steps, valueMap) {
131
+ it(name, () => {
132
+ stepCall(this.world, ...args);
133
+ });
134
+ this.runNextStep(steps, valueMap);
135
+ }
136
+ definePrepareStep(name, stepCall, args, steps, valueMap) {
137
+ describe(name, () => {
138
+ beforeEach(() => {
139
+ stepCall(this.world, ...args);
140
+ });
141
+ this.runNextStep(steps, valueMap);
142
+ });
143
+ }
144
+ extractTestArgs(match, name, docStringContents, valueMap) {
145
+ let args = [];
146
+ const matchResults = match.exec(name);
147
+ if (matchResults) {
148
+ args = matchResults.slice(1);
149
+ }
150
+ if (docStringContents) {
151
+ const cleanedDocstring = this.replaceKeywords(docStringContents.trim()
152
+ .split(/((\r\n)|\r|\n)]/)
153
+ .map(line => line.trimStart()).join(os_1.EOL), valueMap);
154
+ args.push(cleanedDocstring);
155
+ }
156
+ return args;
157
+ }
158
+ getMatchingStepDefinition(name) {
159
+ const matchingStepDefinitions = this.stepDefinitions.filter(def => {
160
+ return def.match.test(name);
161
+ });
162
+ if (!matchingStepDefinitions.length) {
163
+ throw new Error(`Missing step definition '${name}'`);
164
+ }
165
+ else if (matchingStepDefinitions.length > 1) {
166
+ throw new Error(`Multiple step definition match '${name}':\n${matchingStepDefinitions.map(rule => rule.match.toString()).join("\n")}`);
167
+ }
168
+ return matchingStepDefinitions[0];
169
+ }
170
+ }
171
+ exports.FeatureFileVisitor = FeatureFileVisitor;
172
+ //# sourceMappingURL=feature-file-visitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-file-visitor.js","sourceRoot":"","sources":["../../src/feature-file-visitor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ /// <reference types="node" />
2
+ export declare function getCallSites(): NodeJS.CallSite[];
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCallSites = void 0;
4
+ function getCallSites() {
5
+ const oldPrepareStackTrace = Error.prepareStackTrace;
6
+ Error.prepareStackTrace = (_, stack) => stack;
7
+ const stack = new Error().stack.slice(1);
8
+ Error.prepareStackTrace = oldPrepareStackTrace;
9
+ return stack;
10
+ }
11
+ exports.getCallSites = getCallSites;
12
+ //# sourceMappingURL=get-call-sites.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-call-sites.js","sourceRoot":"","sources":["../../src/get-call-sites.ts"],"names":[],"mappings":";;;AAAA,SAAgB,YAAY;IACxB,MAAM,oBAAoB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IACrD,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC;IAC9C,MAAM,KAAK,GAAI,IAAI,KAAK,EAAE,CAAC,KAAsC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3E,KAAK,CAAC,iBAAiB,GAAG,oBAAoB,CAAC;IAC/C,OAAO,KAAK,CAAC;AACjB,CAAC;AAND,oCAMC"}
@@ -0,0 +1,45 @@
1
+ import { ATN } from "antlr4ts/atn/ATN";
2
+ import { CharStream } from "antlr4ts/CharStream";
3
+ import { Lexer } from "antlr4ts/Lexer";
4
+ import { Vocabulary } from "antlr4ts/Vocabulary";
5
+ export declare class GherkinLexer extends Lexer {
6
+ static readonly FEATURE = 1;
7
+ static readonly SCENARIO = 2;
8
+ static readonly SCENARIO_OUTLINE = 3;
9
+ static readonly GIVEN = 4;
10
+ static readonly AND_GIVEN = 5;
11
+ static readonly WHEN = 6;
12
+ static readonly AND_WHEN = 7;
13
+ static readonly THEN = 8;
14
+ static readonly AND = 9;
15
+ static readonly BUT = 10;
16
+ static readonly EXAMPLES = 11;
17
+ static readonly BACKGROUND = 12;
18
+ static readonly PIPE = 13;
19
+ static readonly TAG = 14;
20
+ static readonly COMMENT = 15;
21
+ static readonly TEXT_CHARACTER = 16;
22
+ static readonly WS = 17;
23
+ static readonly WSS = 18;
24
+ static readonly DOC_STRING_QUOT = 19;
25
+ static readonly DOC_STRING_TEXT = 20;
26
+ static readonly DOC_STRING_WS = 21;
27
+ static readonly TEXT_CHARACTER_MODE = 1;
28
+ static readonly DOC_STRING_MODE = 2;
29
+ static readonly channelNames: string[];
30
+ static readonly modeNames: string[];
31
+ static readonly ruleNames: string[];
32
+ private static readonly _LITERAL_NAMES;
33
+ private static readonly _SYMBOLIC_NAMES;
34
+ static readonly VOCABULARY: Vocabulary;
35
+ get vocabulary(): Vocabulary;
36
+ constructor(input: CharStream);
37
+ get grammarFileName(): string;
38
+ get ruleNames(): string[];
39
+ get serializedATN(): string;
40
+ get channelNames(): string[];
41
+ get modeNames(): string[];
42
+ static readonly _serializedATN: string;
43
+ static __ATN: ATN;
44
+ static get _ATN(): ATN;
45
+ }
@@ -0,0 +1,239 @@
1
+ "use strict";
2
+ // @ts-nocheck
3
+ // Generated from ./src/grammar/GherkinLexer.g4 by ANTLR 4.9.0-SNAPSHOT
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.GherkinLexer = void 0;
6
+ const tslib_1 = require("tslib");
7
+ const ATNDeserializer_1 = require("antlr4ts/atn/ATNDeserializer");
8
+ const Lexer_1 = require("antlr4ts/Lexer");
9
+ const LexerATNSimulator_1 = require("antlr4ts/atn/LexerATNSimulator");
10
+ const VocabularyImpl_1 = require("antlr4ts/VocabularyImpl");
11
+ const Utils = tslib_1.__importStar(require("antlr4ts/misc/Utils"));
12
+ class GherkinLexer extends Lexer_1.Lexer {
13
+ // @Override
14
+ // @NotNull
15
+ get vocabulary() {
16
+ return GherkinLexer.VOCABULARY;
17
+ }
18
+ // tslint:enable:no-trailing-whitespace
19
+ constructor(input) {
20
+ super(input);
21
+ this._interp = new LexerATNSimulator_1.LexerATNSimulator(GherkinLexer._ATN, this);
22
+ }
23
+ // @Override
24
+ get grammarFileName() { return "GherkinLexer.g4"; }
25
+ // @Override
26
+ get ruleNames() { return GherkinLexer.ruleNames; }
27
+ // @Override
28
+ get serializedATN() { return GherkinLexer._serializedATN; }
29
+ // @Override
30
+ get channelNames() { return GherkinLexer.channelNames; }
31
+ // @Override
32
+ get modeNames() { return GherkinLexer.modeNames; }
33
+ static get _ATN() {
34
+ if (!GherkinLexer.__ATN) {
35
+ GherkinLexer.__ATN = new ATNDeserializer_1.ATNDeserializer().deserialize(Utils.toCharArray(GherkinLexer._serializedATN));
36
+ }
37
+ return GherkinLexer.__ATN;
38
+ }
39
+ }
40
+ exports.GherkinLexer = GherkinLexer;
41
+ GherkinLexer.FEATURE = 1;
42
+ GherkinLexer.SCENARIO = 2;
43
+ GherkinLexer.SCENARIO_OUTLINE = 3;
44
+ GherkinLexer.GIVEN = 4;
45
+ GherkinLexer.AND_GIVEN = 5;
46
+ GherkinLexer.WHEN = 6;
47
+ GherkinLexer.AND_WHEN = 7;
48
+ GherkinLexer.THEN = 8;
49
+ GherkinLexer.AND = 9;
50
+ GherkinLexer.BUT = 10;
51
+ GherkinLexer.EXAMPLES = 11;
52
+ GherkinLexer.BACKGROUND = 12;
53
+ GherkinLexer.PIPE = 13;
54
+ GherkinLexer.TAG = 14;
55
+ GherkinLexer.COMMENT = 15;
56
+ GherkinLexer.TEXT_CHARACTER = 16;
57
+ GherkinLexer.WS = 17;
58
+ GherkinLexer.WSS = 18;
59
+ GherkinLexer.DOC_STRING_QUOT = 19;
60
+ GherkinLexer.DOC_STRING_TEXT = 20;
61
+ GherkinLexer.DOC_STRING_WS = 21;
62
+ GherkinLexer.TEXT_CHARACTER_MODE = 1;
63
+ GherkinLexer.DOC_STRING_MODE = 2;
64
+ // tslint:disable:no-trailing-whitespace
65
+ GherkinLexer.channelNames = [
66
+ "DEFAULT_TOKEN_CHANNEL", "HIDDEN",
67
+ ];
68
+ // tslint:disable:no-trailing-whitespace
69
+ GherkinLexer.modeNames = [
70
+ "DEFAULT_MODE", "TEXT_CHARACTER_MODE", "DOC_STRING_MODE",
71
+ ];
72
+ GherkinLexer.ruleNames = [
73
+ "FEATURE", "SCENARIO", "SCENARIO_OUTLINE", "GIVEN", "AND_GIVEN", "WHEN",
74
+ "AND_WHEN", "THEN", "AND", "BUT", "EXAMPLES", "BACKGROUND", "PIPE", "TAG",
75
+ "COMMENT", "TEXT_CHARACTER", "WS", "WSS", "DOC_STRING_QUOT", "TEXT_CHARACTER2",
76
+ "DOC_STRING_TEXT", "DOC_STRING_WS", "DOC_STRING_QUOT_2",
77
+ ];
78
+ GherkinLexer._LITERAL_NAMES = [
79
+ undefined, undefined, undefined, undefined, undefined, undefined, undefined,
80
+ undefined, undefined, undefined, undefined, undefined, undefined, "'|'",
81
+ ];
82
+ GherkinLexer._SYMBOLIC_NAMES = [
83
+ undefined, "FEATURE", "SCENARIO", "SCENARIO_OUTLINE", "GIVEN", "AND_GIVEN",
84
+ "WHEN", "AND_WHEN", "THEN", "AND", "BUT", "EXAMPLES", "BACKGROUND", "PIPE",
85
+ "TAG", "COMMENT", "TEXT_CHARACTER", "WS", "WSS", "DOC_STRING_QUOT", "DOC_STRING_TEXT",
86
+ "DOC_STRING_WS",
87
+ ];
88
+ GherkinLexer.VOCABULARY = new VocabularyImpl_1.VocabularyImpl(GherkinLexer._LITERAL_NAMES, GherkinLexer._SYMBOLIC_NAMES, []);
89
+ GherkinLexer._serializedATN = "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x02\x17\u014E\b\x01" +
90
+ "\b\x01\b\x01\x04\x02\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04" +
91
+ "\x06\t\x06\x04\x07\t\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f" +
92
+ "\t\f\x04\r\t\r\x04\x0E\t\x0E\x04\x0F\t\x0F\x04\x10\t\x10\x04\x11\t\x11" +
93
+ "\x04\x12\t\x12\x04\x13\t\x13\x04\x14\t\x14\x04\x15\t\x15\x04\x16\t\x16" +
94
+ "\x04\x17\t\x17\x04\x18\t\x18\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03" +
95
+ "\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03" +
96
+ "\x02\x05\x02C\n\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03" +
97
+ "\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03" +
98
+ "\x03\x03\x03\x05\x03V\n\x03\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03" +
99
+ "\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03" +
100
+ "\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03" +
101
+ "\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03" +
102
+ "\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03" +
103
+ "\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03" +
104
+ "\x04\x05\x04\x8B\n\x04\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05" +
105
+ "\x03\x05\x03\x05\x03\x05\x03\x05\x05\x05\x97\n\x05\x03\x06\x03\x06\x03" +
106
+ "\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03" +
107
+ "\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x05\x06\xAB\n\x06" +
108
+ "\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x05\x07" +
109
+ "\xB5\n\x07\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b" +
110
+ "\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x05\b\xC7\n\b\x03\t\x03\t\x03\t\x03" +
111
+ "\t\x03\t\x03\t\x03\t\x03\t\x05\t\xD1\n\t\x03\n\x03\n\x03\n\x03\n\x03\n" +
112
+ "\x03\n\x05\n\xD9\n\n\x03\v\x03\v\x03\v\x03\v\x03\v\x03\v\x05\v\xE1\n\v" +
113
+ "\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03" +
114
+ "\f\x03\f\x03\f\x03\f\x03\f\x03\f\x05\f\xF4\n\f\x03\r\x03\r\x03\r\x03\r" +
115
+ "\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03" +
116
+ "\r\x03\r\x03\r\x03\r\x03\r\x03\r\x05\r\u010B\n\r\x03\x0E\x03\x0E\x03\x0F" +
117
+ "\x03\x0F\x06\x0F\u0111\n\x0F\r\x0F\x0E\x0F\u0112\x03\x10\x03\x10\x07\x10" +
118
+ "\u0117\n\x10\f\x10\x0E\x10\u011A\v\x10\x03\x10\x03\x10\x03\x11\x03\x11" +
119
+ "\x03\x11\x03\x11\x03\x12\x06\x12\u0123\n\x12\r\x12\x0E\x12\u0124\x03\x12" +
120
+ "\x03\x12\x03\x13\x06\x13\u012A\n\x13\r\x13\x0E\x13\u012B\x03\x13\x03\x13" +
121
+ "\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x15\x06\x15\u0137" +
122
+ "\n\x15\r\x15\x0E\x15\u0138\x03\x15\x03\x15\x03\x15\x03\x16\x06\x16\u013F" +
123
+ "\n\x16\r\x16\x0E\x16\u0140\x03\x17\x06\x17\u0144\n\x17\r\x17\x0E\x17\u0145" +
124
+ "\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x02\x02\x02\x19" +
125
+ "\x05\x02\x03\x07\x02\x04\t\x02\x05\v\x02\x06\r\x02\x07\x0F\x02\b\x11\x02" +
126
+ "\t\x13\x02\n\x15\x02\v\x17\x02\f\x19\x02\r\x1B\x02\x0E\x1D\x02\x0F\x1F" +
127
+ "\x02\x10!\x02\x11#\x02\x12%\x02\x13\'\x02\x14)\x02\x15+\x02\x02-\x02\x16" +
128
+ "/\x02\x171\x02\x02\x05\x02\x03\x04\x07\x06\x022;C\\aac|\x04\x02\f\f\x0F" +
129
+ "\x0F\x06\x02\f\f\x0F\x0F$$~~\x05\x02\v\f\x0F\x0F\"\"\x03\x02$$\x02\u015F" +
130
+ "\x02\x05\x03\x02\x02\x02\x02\x07\x03\x02\x02\x02\x02\t\x03\x02\x02\x02" +
131
+ "\x02\v\x03\x02\x02\x02\x02\r\x03\x02\x02\x02\x02\x0F\x03\x02\x02\x02\x02" +
132
+ "\x11\x03\x02\x02\x02\x02\x13\x03\x02\x02\x02\x02\x15\x03\x02\x02\x02\x02" +
133
+ "\x17\x03\x02\x02\x02\x02\x19\x03\x02\x02\x02\x02\x1B\x03\x02\x02\x02\x02" +
134
+ "\x1D\x03\x02\x02\x02\x02\x1F\x03\x02\x02\x02\x02!\x03\x02\x02\x02\x02" +
135
+ "#\x03\x02\x02\x02\x02%\x03\x02\x02\x02\x02\'\x03\x02\x02\x02\x02)\x03" +
136
+ "\x02\x02\x02\x03+\x03\x02\x02\x02\x04-\x03\x02\x02\x02\x04/\x03\x02\x02" +
137
+ "\x02\x041\x03\x02\x02\x02\x05B\x03\x02\x02\x02\x07U\x03\x02\x02\x02\t" +
138
+ "\x8A\x03\x02\x02\x02\v\x96\x03\x02\x02\x02\r\xAA\x03\x02\x02\x02\x0F\xB4" +
139
+ "\x03\x02\x02\x02\x11\xC6\x03\x02\x02\x02\x13\xD0\x03\x02\x02\x02\x15\xD8" +
140
+ "\x03\x02\x02\x02\x17\xE0\x03\x02\x02\x02\x19\xF3\x03\x02\x02\x02\x1B\u010A" +
141
+ "\x03\x02\x02\x02\x1D\u010C\x03\x02\x02\x02\x1F\u010E\x03\x02\x02\x02!" +
142
+ "\u0114\x03\x02\x02\x02#\u011D\x03\x02\x02\x02%\u0122\x03\x02\x02\x02\'" +
143
+ "\u0129\x03\x02\x02\x02)\u012F\x03\x02\x02\x02+\u0136\x03\x02\x02\x02-" +
144
+ "\u013E\x03\x02\x02\x02/\u0143\x03\x02\x02\x021\u0147\x03\x02\x02\x023" +
145
+ "4\x07H\x02\x0245\x07g\x02\x0256\x07c\x02\x0267\x07v\x02\x0278\x07w\x02" +
146
+ "\x0289\x07t\x02\x029:\x07g\x02\x02:C\x07<\x02\x02;<\x07H\x02\x02<=\x07" +
147
+ "G\x02\x02=>\x07C\x02\x02>?\x07V\x02\x02?@\x07W\x02\x02@A\x07T\x02\x02" +
148
+ "AC\x07G\x02\x02B3\x03\x02\x02\x02B;\x03\x02\x02\x02C\x06\x03\x02\x02\x02" +
149
+ "DE\x07U\x02\x02EF\x07e\x02\x02FG\x07g\x02\x02GH\x07p\x02\x02HI\x07c\x02" +
150
+ "\x02IJ\x07t\x02\x02JK\x07k\x02\x02KL\x07q\x02\x02LV\x07<\x02\x02MN\x07" +
151
+ "U\x02\x02NO\x07E\x02\x02OP\x07G\x02\x02PQ\x07P\x02\x02QR\x07C\x02\x02" +
152
+ "RS\x07T\x02\x02ST\x07K\x02\x02TV\x07Q\x02\x02UD\x03\x02\x02\x02UM\x03" +
153
+ "\x02\x02\x02V\b\x03\x02\x02\x02WX\x07U\x02\x02XY\x07e\x02\x02YZ\x07g\x02" +
154
+ "\x02Z[\x07p\x02\x02[\\\x07c\x02\x02\\]\x07t\x02\x02]^\x07k\x02\x02^_\x07" +
155
+ "q\x02\x02_`\x07\"\x02\x02`a\x07Q\x02\x02ab\x07w\x02\x02bc\x07v\x02\x02" +
156
+ "cd\x07n\x02\x02de\x07k\x02\x02ef\x07p\x02\x02fg\x07g\x02\x02g\x8B\x07" +
157
+ "<\x02\x02hi\x07U\x02\x02ij\x07E\x02\x02jk\x07G\x02\x02kl\x07P\x02\x02" +
158
+ "lm\x07C\x02\x02mn\x07T\x02\x02no\x07K\x02\x02op\x07Q\x02\x02pq\x07a\x02" +
159
+ "\x02qr\x07Q\x02\x02rs\x07W\x02\x02st\x07V\x02\x02tu\x07N\x02\x02uv\x07" +
160
+ "K\x02\x02vw\x07P\x02\x02w\x8B\x07G\x02\x02xy\x07U\x02\x02yz\x07e\x02\x02" +
161
+ "z{\x07g\x02\x02{|\x07p\x02\x02|}\x07c\x02\x02}~\x07t\x02\x02~\x7F\x07" +
162
+ "k\x02\x02\x7F\x80\x07q\x02\x02\x80\x81\x07\"\x02\x02\x81\x82\x07V\x02" +
163
+ "\x02\x82\x83\x07g\x02\x02\x83\x84\x07o\x02\x02\x84\x85\x07r\x02\x02\x85" +
164
+ "\x86\x07n\x02\x02\x86\x87\x07c\x02\x02\x87\x88\x07v\x02\x02\x88\x89\x07" +
165
+ "g\x02\x02\x89\x8B\x07<\x02\x02\x8AW\x03\x02\x02\x02\x8Ah\x03\x02\x02\x02" +
166
+ "\x8Ax\x03\x02\x02\x02\x8B\n\x03\x02\x02\x02\x8C\x8D\x07I\x02\x02\x8D\x8E" +
167
+ "\x07k\x02\x02\x8E\x8F\x07x\x02\x02\x8F\x90\x07g\x02\x02\x90\x97\x07p\x02" +
168
+ "\x02\x91\x92\x07I\x02\x02\x92\x93\x07K\x02\x02\x93\x94\x07X\x02\x02\x94" +
169
+ "\x95\x07G\x02\x02\x95\x97\x07P\x02\x02\x96\x8C\x03\x02\x02\x02\x96\x91" +
170
+ "\x03\x02\x02\x02\x97\f\x03\x02\x02\x02\x98\x99\x07C\x02\x02\x99\x9A\x07" +
171
+ "p\x02\x02\x9A\x9B\x07f\x02\x02\x9B\x9C\x07\"\x02\x02\x9C\x9D\x07i\x02" +
172
+ "\x02\x9D\x9E\x07k\x02\x02\x9E\x9F\x07x\x02\x02\x9F\xA0\x07g\x02\x02\xA0" +
173
+ "\xAB\x07p\x02\x02\xA1\xA2\x07C\x02\x02\xA2\xA3\x07P\x02\x02\xA3\xA4\x07" +
174
+ "F\x02\x02\xA4\xA5\x07a\x02\x02\xA5\xA6\x07I\x02\x02\xA6\xA7\x07K\x02\x02" +
175
+ "\xA7\xA8\x07X\x02\x02\xA8\xA9\x07G\x02\x02\xA9\xAB\x07P\x02\x02\xAA\x98" +
176
+ "\x03\x02\x02\x02\xAA\xA1\x03\x02\x02\x02\xAB\x0E\x03\x02\x02\x02\xAC\xAD" +
177
+ "\x07Y\x02\x02\xAD\xAE\x07j\x02\x02\xAE\xAF\x07g\x02\x02\xAF\xB5\x07p\x02" +
178
+ "\x02\xB0\xB1\x07Y\x02\x02\xB1\xB2\x07J\x02\x02\xB2\xB3\x07G\x02\x02\xB3" +
179
+ "\xB5\x07P\x02\x02\xB4\xAC\x03\x02\x02\x02\xB4\xB0\x03\x02\x02\x02\xB5" +
180
+ "\x10\x03\x02\x02\x02\xB6\xB7\x07C\x02\x02\xB7\xB8\x07p\x02\x02\xB8\xB9" +
181
+ "\x07f\x02\x02\xB9\xBA\x07\"\x02\x02\xBA\xBB\x07y\x02\x02\xBB\xBC\x07j" +
182
+ "\x02\x02\xBC\xBD\x07g\x02\x02\xBD\xC7\x07p\x02\x02\xBE\xBF\x07C\x02\x02" +
183
+ "\xBF\xC0\x07P\x02\x02\xC0\xC1\x07F\x02\x02\xC1\xC2\x07a\x02\x02\xC2\xC3" +
184
+ "\x07Y\x02\x02\xC3\xC4\x07J\x02\x02\xC4\xC5\x07G\x02\x02\xC5\xC7\x07P\x02" +
185
+ "\x02\xC6\xB6\x03\x02\x02\x02\xC6\xBE\x03\x02\x02\x02\xC7\x12\x03\x02\x02" +
186
+ "\x02\xC8\xC9\x07V\x02\x02\xC9\xCA\x07j\x02\x02\xCA\xCB\x07g\x02\x02\xCB" +
187
+ "\xD1\x07p\x02\x02\xCC\xCD\x07V\x02\x02\xCD\xCE\x07J\x02\x02\xCE\xCF\x07" +
188
+ "G\x02\x02\xCF\xD1\x07P\x02\x02\xD0\xC8\x03\x02\x02\x02\xD0\xCC\x03\x02" +
189
+ "\x02\x02\xD1\x14\x03\x02\x02\x02\xD2\xD3\x07C\x02\x02\xD3\xD4\x07p\x02" +
190
+ "\x02\xD4\xD9\x07f\x02\x02\xD5\xD6\x07C\x02\x02\xD6\xD7\x07P\x02\x02\xD7" +
191
+ "\xD9\x07F\x02\x02\xD8\xD2\x03\x02\x02\x02\xD8\xD5\x03\x02\x02\x02\xD9" +
192
+ "\x16\x03\x02\x02\x02\xDA\xDB\x07D\x02\x02\xDB\xDC\x07w\x02\x02\xDC\xE1" +
193
+ "\x07v\x02\x02\xDD\xDE\x07D\x02\x02\xDE\xDF\x07W\x02\x02\xDF\xE1\x07V\x02" +
194
+ "\x02\xE0\xDA\x03\x02\x02\x02\xE0\xDD\x03\x02\x02\x02\xE1\x18\x03\x02\x02" +
195
+ "\x02\xE2\xE3\x07G\x02\x02\xE3\xE4\x07z\x02\x02\xE4\xE5\x07c\x02\x02\xE5" +
196
+ "\xE6\x07o\x02\x02\xE6\xE7\x07r\x02\x02\xE7\xE8\x07n\x02\x02\xE8\xE9\x07" +
197
+ "g\x02\x02\xE9\xEA\x07u\x02\x02\xEA\xF4\x07<\x02\x02\xEB\xEC\x07G\x02\x02" +
198
+ "\xEC\xED\x07Z\x02\x02\xED\xEE\x07C\x02\x02\xEE\xEF\x07O\x02\x02\xEF\xF0" +
199
+ "\x07R\x02\x02\xF0\xF1\x07N\x02\x02\xF1\xF2\x07G\x02\x02\xF2\xF4\x07U\x02" +
200
+ "\x02\xF3\xE2\x03\x02\x02\x02\xF3\xEB\x03\x02\x02\x02\xF4\x1A\x03\x02\x02" +
201
+ "\x02\xF5\xF6\x07D\x02\x02\xF6\xF7\x07c\x02\x02\xF7\xF8\x07e\x02\x02\xF8" +
202
+ "\xF9\x07m\x02\x02\xF9\xFA\x07i\x02\x02\xFA\xFB\x07t\x02\x02\xFB\xFC\x07" +
203
+ "q\x02\x02\xFC\xFD\x07w\x02\x02\xFD\xFE\x07p\x02\x02\xFE\xFF\x07f\x02\x02" +
204
+ "\xFF\u010B\x07<\x02\x02\u0100\u0101\x07D\x02\x02\u0101\u0102\x07C\x02" +
205
+ "\x02\u0102\u0103\x07E\x02\x02\u0103\u0104\x07M\x02\x02\u0104\u0105\x07" +
206
+ "I\x02\x02\u0105\u0106\x07T\x02\x02\u0106\u0107\x07Q\x02\x02\u0107\u0108" +
207
+ "\x07W\x02\x02\u0108\u0109\x07P\x02\x02\u0109\u010B\x07F\x02\x02\u010A" +
208
+ "\xF5\x03\x02\x02\x02\u010A\u0100\x03\x02\x02\x02\u010B\x1C\x03\x02\x02" +
209
+ "\x02\u010C\u010D\x07~\x02\x02\u010D\x1E\x03\x02\x02\x02\u010E\u0110\x07" +
210
+ "B\x02\x02\u010F\u0111\t\x02\x02\x02\u0110\u010F\x03\x02\x02\x02\u0111" +
211
+ "\u0112\x03\x02\x02\x02\u0112\u0110\x03\x02\x02\x02\u0112\u0113\x03\x02" +
212
+ "\x02\x02\u0113 \x03\x02\x02\x02\u0114\u0118\x07%\x02\x02\u0115\u0117\n" +
213
+ "\x03\x02\x02\u0116\u0115\x03\x02\x02\x02\u0117\u011A\x03\x02\x02\x02\u0118" +
214
+ "\u0116\x03\x02\x02\x02\u0118\u0119\x03\x02\x02\x02\u0119\u011B\x03\x02" +
215
+ "\x02\x02\u011A\u0118\x03\x02\x02\x02\u011B\u011C\b\x10\x02\x02\u011C\"" +
216
+ "\x03\x02\x02\x02\u011D\u011E\n\x04\x02\x02\u011E\u011F\x03\x02\x02\x02" +
217
+ "\u011F\u0120\b\x11\x03\x02\u0120$\x03\x02\x02\x02\u0121\u0123\t\x03\x02" +
218
+ "\x02\u0122\u0121\x03\x02\x02\x02\u0123\u0124\x03\x02\x02\x02\u0124\u0122" +
219
+ "\x03\x02\x02\x02\u0124\u0125\x03\x02\x02\x02\u0125\u0126\x03\x02\x02\x02" +
220
+ "\u0126\u0127\b\x12\x02\x02\u0127&\x03\x02\x02\x02\u0128\u012A\t\x05\x02" +
221
+ "\x02\u0129\u0128\x03\x02\x02\x02\u012A\u012B\x03\x02\x02\x02\u012B\u0129" +
222
+ "\x03\x02\x02\x02\u012B\u012C\x03\x02\x02\x02\u012C\u012D\x03\x02\x02\x02" +
223
+ "\u012D\u012E\b\x13\x02\x02\u012E(\x03\x02\x02\x02\u012F\u0130\x07$\x02" +
224
+ "\x02\u0130\u0131\x07$\x02\x02\u0131\u0132\x07$\x02\x02\u0132\u0133\x03" +
225
+ "\x02\x02\x02\u0133\u0134\b\x14\x04\x02\u0134*\x03\x02\x02\x02\u0135\u0137" +
226
+ "\n\x04\x02\x02\u0136\u0135\x03\x02\x02\x02\u0137\u0138\x03\x02\x02\x02" +
227
+ "\u0138\u0136\x03\x02\x02\x02\u0138\u0139\x03\x02\x02\x02\u0139\u013A\x03" +
228
+ "\x02\x02\x02\u013A\u013B\b\x15\x05\x02\u013B\u013C\b\x15\x06\x02\u013C" +
229
+ ",\x03\x02\x02\x02\u013D\u013F\n\x06\x02\x02\u013E\u013D\x03\x02\x02\x02" +
230
+ "\u013F\u0140\x03\x02\x02\x02\u0140\u013E\x03\x02\x02\x02\u0140\u0141\x03" +
231
+ "\x02\x02\x02\u0141.\x03\x02\x02\x02\u0142\u0144\t\x05\x02\x02\u0143\u0142" +
232
+ "\x03\x02\x02\x02\u0144\u0145\x03\x02\x02\x02\u0145\u0143\x03\x02\x02\x02" +
233
+ "\u0145\u0146\x03\x02\x02\x02\u01460\x03\x02\x02\x02\u0147\u0148\x07$\x02" +
234
+ "\x02\u0148\u0149\x07$\x02\x02\u0149\u014A\x07$\x02\x02\u014A\u014B\x03" +
235
+ "\x02\x02\x02\u014B\u014C\b\x18\x07\x02\u014C\u014D\b\x18\x06\x02\u014D" +
236
+ "2\x03\x02\x02\x02\x18\x02\x03\x04BU\x8A\x96\xAA\xB4\xC6\xD0\xD8\xE0\xF3" +
237
+ "\u010A\u0112\u0118\u0124\u012B\u0138\u0140\u0145\b\b\x02\x02\x07\x03\x02" +
238
+ "\x07\x04\x02\t\x12\x02\x06\x02\x02\t\x15\x02";
239
+ //# sourceMappingURL=GherkinLexer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GherkinLexer.js","sourceRoot":"","sources":["../../../src/grammar/GherkinLexer.ts"],"names":[],"mappings":"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"}