How to use UnexpectedEOFException method in Cucumber-gherkin

Best JavaScript code snippet using cucumber-gherkin

gherkin.js

Source:gherkin.js Github

copy

Full Screen

1/*2The MIT License (MIT)3Copyright (c) Cucumber Ltd, Gaspar Nagy, Björn Rasmusson, Peter Sergeant4Permission is hereby granted, free of charge, to any person obtaining a copy5of this software and associated documentation files (the "Software"), to deal6in the Software without restriction, including without limitation the rights7to use, copy, modify, merge, publish, distribute, sublicense, and/or sell8copies of the Software, and to permit persons to whom the Software is9furnished to do so, subject to the following conditions:10The above copyright notice and this permission notice shall be included in11all copies or substantial portions of the Software.12THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR13IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,14FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE15AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER16LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,17OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN18THE SOFTWARE.19*/20(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){21(function (factory) {22 if (typeof define === 'function' && define.amd) {23 // AMD. Register as an anonymous module24 define([], factory)25 }26 if (typeof module !== 'undefined' && module.exports) {27 // Node.js/RequireJS28 module.exports = factory();29 }30 if (typeof window === 'object'){31 // Browser globals32 window.Gherkin = factory();33 }34}(function () {35 return {36 Parser: require('./lib/gherkin/parser'),37 TokenScanner: require('./lib/gherkin/token_scanner'),38 TokenMatcher: require('./lib/gherkin/token_matcher'),39 AstBuilder: require('./lib/gherkin/ast_builder'),40 Compiler: require('./lib/gherkin/pickles/compiler'),41 DIALECTS: require('./lib/gherkin/dialects'),42 generateEvents: require('./lib/gherkin/generate_events')43 };44}));45},{"./lib/gherkin/ast_builder":2,"./lib/gherkin/dialects":5,"./lib/gherkin/generate_events":7,"./lib/gherkin/parser":10,"./lib/gherkin/pickles/compiler":11,"./lib/gherkin/token_matcher":13,"./lib/gherkin/token_scanner":14}],2:[function(require,module,exports){46var AstNode = require('./ast_node');47var Errors = require('./errors');48module.exports = function AstBuilder () {49 var stack = [new AstNode('None')];50 var comments = [];51 this.reset = function () {52 stack = [new AstNode('None')];53 comments = [];54 };55 this.startRule = function (ruleType) {56 stack.push(new AstNode(ruleType));57 };58 this.endRule = function (ruleType) {59 var node = stack.pop();60 var transformedNode = transformNode(node);61 currentNode().add(node.ruleType, transformedNode);62 };63 this.build = function (token) {64 if(token.matchedType === 'Comment') {65 comments.push({66 type: 'Comment',67 location: getLocation(token),68 text: token.matchedText69 });70 } else {71 currentNode().add(token.matchedType, token);72 }73 };74 this.getResult = function () {75 return currentNode().getSingle('GherkinDocument');76 };77 function currentNode () {78 return stack[stack.length - 1];79 }80 function getLocation (token, column) {81 return !column ? token.location : {line: token.location.line, column: column};82 }83 function getTags (node) {84 var tags = [];85 var tagsNode = node.getSingle('Tags');86 if (!tagsNode) return tags;87 tagsNode.getTokens('TagLine').forEach(function (token) {88 token.matchedItems.forEach(function (tagItem) {89 tags.push({90 type: 'Tag',91 location: getLocation(token, tagItem.column),92 name: tagItem.text93 });94 });95 });96 return tags;97 }98 function getCells(tableRowToken) {99 return tableRowToken.matchedItems.map(function (cellItem) {100 return {101 type: 'TableCell',102 location: getLocation(tableRowToken, cellItem.column),103 value: cellItem.text104 }105 });106 }107 function getDescription (node) {108 return node.getSingle('Description');109 }110 function getSteps (node) {111 return node.getItems('Step');112 }113 function getTableRows(node) {114 var rows = node.getTokens('TableRow').map(function (token) {115 return {116 type: 'TableRow',117 location: getLocation(token),118 cells: getCells(token)119 };120 });121 ensureCellCount(rows);122 return rows;123 }124 function ensureCellCount(rows) {125 if(rows.length == 0) return;126 var cellCount = rows[0].cells.length;127 rows.forEach(function (row) {128 if (row.cells.length != cellCount) {129 throw Errors.AstBuilderException.create("inconsistent cell count within the table", row.location);130 }131 });132 }133 function transformNode(node) {134 switch(node.ruleType) {135 case 'Step':136 var stepLine = node.getToken('StepLine');137 var stepArgument = node.getSingle('DataTable') || node.getSingle('DocString') || undefined;138 return {139 type: node.ruleType,140 location: getLocation(stepLine),141 keyword: stepLine.matchedKeyword,142 text: stepLine.matchedText,143 argument: stepArgument144 }145 case 'DocString':146 var separatorToken = node.getTokens('DocStringSeparator')[0];147 var contentType = separatorToken.matchedText.length > 0 ? separatorToken.matchedText : undefined;148 var lineTokens = node.getTokens('Other');149 var content = lineTokens.map(function (t) {return t.matchedText}).join("\n");150 var result = {151 type: node.ruleType,152 location: getLocation(separatorToken),153 content: content154 };155 // conditionally add this like this (needed to make tests pass on node 0.10 as well as 4.0)156 if(contentType) {157 result.contentType = contentType;158 }159 return result;160 case 'DataTable':161 var rows = getTableRows(node);162 return {163 type: node.ruleType,164 location: rows[0].location,165 rows: rows,166 }167 case 'Background':168 var backgroundLine = node.getToken('BackgroundLine');169 var description = getDescription(node);170 var steps = getSteps(node);171 return {172 type: node.ruleType,173 location: getLocation(backgroundLine),174 keyword: backgroundLine.matchedKeyword,175 name: backgroundLine.matchedText,176 description: description,177 steps: steps178 };179 case 'Scenario_Definition':180 var tags = getTags(node);181 var scenarioNode = node.getSingle('Scenario');182 if(scenarioNode) {183 var scenarioLine = scenarioNode.getToken('ScenarioLine');184 var description = getDescription(scenarioNode);185 var steps = getSteps(scenarioNode);186 return {187 type: scenarioNode.ruleType,188 tags: tags,189 location: getLocation(scenarioLine),190 keyword: scenarioLine.matchedKeyword,191 name: scenarioLine.matchedText,192 description: description,193 steps: steps194 };195 } else {196 var scenarioOutlineNode = node.getSingle('ScenarioOutline');197 if(!scenarioOutlineNode) throw new Error('Internal grammar error');198 var scenarioOutlineLine = scenarioOutlineNode.getToken('ScenarioOutlineLine');199 var description = getDescription(scenarioOutlineNode);200 var steps = getSteps(scenarioOutlineNode);201 var examples = scenarioOutlineNode.getItems('Examples_Definition');202 return {203 type: scenarioOutlineNode.ruleType,204 tags: tags,205 location: getLocation(scenarioOutlineLine),206 keyword: scenarioOutlineLine.matchedKeyword,207 name: scenarioOutlineLine.matchedText,208 description: description,209 steps: steps,210 examples: examples211 };212 }213 case 'Examples_Definition':214 var tags = getTags(node);215 var examplesNode = node.getSingle('Examples');216 var examplesLine = examplesNode.getToken('ExamplesLine');217 var description = getDescription(examplesNode);218 var exampleTable = examplesNode.getSingle('Examples_Table')219 return {220 type: examplesNode.ruleType,221 tags: tags,222 location: getLocation(examplesLine),223 keyword: examplesLine.matchedKeyword,224 name: examplesLine.matchedText,225 description: description,226 tableHeader: exampleTable != undefined ? exampleTable.tableHeader : undefined,227 tableBody: exampleTable != undefined ? exampleTable.tableBody : undefined228 };229 case 'Examples_Table':230 var rows = getTableRows(node)231 return {232 tableHeader: rows != undefined ? rows[0] : undefined,233 tableBody: rows != undefined ? rows.slice(1) : undefined234 };235 case 'Description':236 var lineTokens = node.getTokens('Other');237 // Trim trailing empty lines238 var end = lineTokens.length;239 while (end > 0 && lineTokens[end-1].line.trimmedLineText === '') {240 end--;241 }242 lineTokens = lineTokens.slice(0, end);243 var description = lineTokens.map(function (token) { return token.matchedText}).join("\n");244 return description;245 case 'Feature':246 var header = node.getSingle('Feature_Header');247 if(!header) return null;248 var tags = getTags(header);249 var featureLine = header.getToken('FeatureLine');250 if(!featureLine) return null;251 var children = []252 var background = node.getSingle('Background');253 if(background) children.push(background);254 children = children.concat(node.getItems('Scenario_Definition'));255 var description = getDescription(header);256 var language = featureLine.matchedGherkinDialect;257 return {258 type: node.ruleType,259 tags: tags,260 location: getLocation(featureLine),261 language: language,262 keyword: featureLine.matchedKeyword,263 name: featureLine.matchedText,264 description: description,265 children: children,266 };267 case 'GherkinDocument':268 var feature = node.getSingle('Feature');269 return {270 type: node.ruleType,271 feature: feature,272 comments: comments273 };274 default:275 return node;276 }277 }278};279},{"./ast_node":3,"./errors":6}],3:[function(require,module,exports){280function AstNode (ruleType) {281 this.ruleType = ruleType;282 this._subItems = {};283}284AstNode.prototype.add = function (ruleType, obj) {285 var items = this._subItems[ruleType];286 if(items === undefined) this._subItems[ruleType] = items = [];287 items.push(obj);288}289AstNode.prototype.getSingle = function (ruleType) {290 return (this._subItems[ruleType] || [])[0];291}292AstNode.prototype.getItems = function (ruleType) {293 return this._subItems[ruleType] || [];294}295AstNode.prototype.getToken = function (tokenType) {296 return this.getSingle(tokenType);297}298AstNode.prototype.getTokens = function (tokenType) {299 return this._subItems[tokenType] || [];300}301module.exports = AstNode;302},{}],4:[function(require,module,exports){303// https://mathiasbynens.be/notes/javascript-unicode304var regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;305module.exports = function countSymbols(string) {306 return string.replace(regexAstralSymbols, '_').length;307}308},{}],5:[function(require,module,exports){309module.exports = require('./gherkin-languages.json');310},{"./gherkin-languages.json":8}],6:[function(require,module,exports){311var Errors = {};312[313 'ParserException',314 'CompositeParserException',315 'UnexpectedTokenException',316 'UnexpectedEOFException',317 'AstBuilderException',318 'NoSuchLanguageException'319].forEach(function (name) {320 function ErrorProto (message) {321 this.message = message || ('Unspecified ' + name);322 if (Error.captureStackTrace) {323 Error.captureStackTrace(this, arguments.callee);324 }325 }326 ErrorProto.prototype = Object.create(Error.prototype);327 ErrorProto.prototype.name = name;328 ErrorProto.prototype.constructor = ErrorProto;329 Errors[name] = ErrorProto;330});331Errors.CompositeParserException.create = function(errors) {332 var message = "Parser errors:\n" + errors.map(function (e) { return e.message; }).join("\n");333 var err = new Errors.CompositeParserException(message);334 err.errors = errors;335 return err;336};337Errors.UnexpectedTokenException.create = function(token, expectedTokenTypes, stateComment) {338 var message = "expected: " + expectedTokenTypes.join(', ') + ", got '" + token.getTokenValue().trim() + "'";339 var location = !token.location.column340 ? {line: token.location.line, column: token.line.indent + 1 }341 : token.location;342 return createError(Errors.UnexpectedEOFException, message, location);343};344Errors.UnexpectedEOFException.create = function(token, expectedTokenTypes, stateComment) {345 var message = "unexpected end of file, expected: " + expectedTokenTypes.join(', ');346 return createError(Errors.UnexpectedTokenException, message, token.location);347};348Errors.AstBuilderException.create = function(message, location) {349 return createError(Errors.AstBuilderException, message, location);350};351Errors.NoSuchLanguageException.create = function(language, location) {352 var message = "Language not supported: " + language;353 return createError(Errors.NoSuchLanguageException, message, location);354};355function createError(Ctor, message, location) {356 var fullMessage = "(" + location.line + ":" + location.column + "): " + message;357 var error = new Ctor(fullMessage);358 error.location = location;359 return error;360}361module.exports = Errors;362},{}],7:[function(require,module,exports){363var Parser = require('./parser')364var Compiler = require('./pickles/compiler')365var compiler = new Compiler()366var parser = new Parser()367parser.stopAtFirstError = false368function generateEvents(data, uri, types, language) {369 types = Object.assign({370 'source': true,371 'gherkin-document': true,372 'pickle': true373 }, types || {})374 result = []375 try {376 if (types['source']) {377 result.push({378 type: 'source',379 uri: uri,380 data: data,381 media: {382 encoding: 'utf-8',383 type: 'text/x.cucumber.gherkin+plain'384 }385 })386 }387 if (!types['gherkin-document'] && !types['pickle'])388 return result389 var gherkinDocument = parser.parse(data, language)390 if (types['gherkin-document']) {391 result.push({392 type: 'gherkin-document',393 uri: uri,394 document: gherkinDocument395 })396 }397 if (types['pickle']) {398 var pickles = compiler.compile(gherkinDocument)399 for (var p in pickles) {400 result.push({401 type: 'pickle',402 uri: uri,403 pickle: pickles[p]404 })405 }406 }407 } catch (err) {408 var errors = err.errors || [err]409 for (var e in errors) {410 result.push({411 type: "attachment",412 source: {413 uri: uri,414 start: {415 line: errors[e].location.line,416 column: errors[e].location.column417 }418 },419 data: errors[e].message,420 media: {421 encoding: "utf-8",422 type: "text/x.cucumber.stacktrace+plain"423 }424 })425 }426 }427 return result428}429module.exports = generateEvents430},{"./parser":10,"./pickles/compiler":11}],8:[function(require,module,exports){431module.exports={432 "af": {433 "and": [434 "* ",435 "En "436 ],437 "background": [438 "Agtergrond"439 ],440 "but": [441 "* ",442 "Maar "443 ],444 "examples": [445 "Voorbeelde"446 ],447 "feature": [448 "Funksie",449 "Besigheid Behoefte",450 "Vermoë"451 ],452 "given": [453 "* ",454 "Gegewe "455 ],456 "name": "Afrikaans",457 "native": "Afrikaans",458 "scenario": [459 "Situasie"460 ],461 "scenarioOutline": [462 "Situasie Uiteensetting"463 ],464 "then": [465 "* ",466 "Dan "467 ],468 "when": [469 "* ",470 "Wanneer "471 ]472 },473 "am": {474 "and": [475 "* ",476 "Եվ "477 ],478 "background": [479 "Կոնտեքստ"480 ],481 "but": [482 "* ",483 "Բայց "484 ],485 "examples": [486 "Օրինակներ"487 ],488 "feature": [489 "Ֆունկցիոնալություն",490 "Հատկություն"491 ],492 "given": [493 "* ",494 "Դիցուք "495 ],496 "name": "Armenian",497 "native": "հայերեն",498 "scenario": [499 "Սցենար"500 ],501 "scenarioOutline": [502 "Սցենարի կառուցվացքը"503 ],504 "then": [505 "* ",506 "Ապա "507 ],508 "when": [509 "* ",510 "Եթե ",511 "Երբ "512 ]513 },514 "an": {515 "and": [516 "* ",517 "Y ",518 "E "519 ],520 "background": [521 "Antecedents"522 ],523 "but": [524 "* ",525 "Pero "526 ],527 "examples": [528 "Eixemplos"529 ],530 "feature": [531 "Caracteristica"532 ],533 "given": [534 "* ",535 "Dau ",536 "Dada ",537 "Daus ",538 "Dadas "539 ],540 "name": "Aragonese",541 "native": "Aragonés",542 "scenario": [543 "Caso"544 ],545 "scenarioOutline": [546 "Esquema del caso"547 ],548 "then": [549 "* ",550 "Alavez ",551 "Allora ",552 "Antonces "553 ],554 "when": [555 "* ",556 "Cuan "557 ]558 },559 "ar": {560 "and": [561 "* ",562 "و "563 ],564 "background": [565 "الخلفية"566 ],567 "but": [568 "* ",569 "لكن "570 ],571 "examples": [572 "امثلة"573 ],574 "feature": [575 "خاصية"576 ],577 "given": [578 "* ",579 "بفرض "580 ],581 "name": "Arabic",582 "native": "العربية",583 "scenario": [584 "سيناريو"585 ],586 "scenarioOutline": [587 "سيناريو مخطط"588 ],589 "then": [590 "* ",591 "اذاً ",592 "ثم "593 ],594 "when": [595 "* ",596 "متى ",597 "عندما "598 ]599 },600 "ast": {601 "and": [602 "* ",603 "Y ",604 "Ya "605 ],606 "background": [607 "Antecedentes"608 ],609 "but": [610 "* ",611 "Peru "612 ],613 "examples": [614 "Exemplos"615 ],616 "feature": [617 "Carauterística"618 ],619 "given": [620 "* ",621 "Dáu ",622 "Dada ",623 "Daos ",624 "Daes "625 ],626 "name": "Asturian",627 "native": "asturianu",628 "scenario": [629 "Casu"630 ],631 "scenarioOutline": [632 "Esbozu del casu"633 ],634 "then": [635 "* ",636 "Entós "637 ],638 "when": [639 "* ",640 "Cuando "641 ]642 },643 "az": {644 "and": [645 "* ",646 "Və ",647 "Həm "648 ],649 "background": [650 "Keçmiş",651 "Kontekst"652 ],653 "but": [654 "* ",655 "Amma ",656 "Ancaq "657 ],658 "examples": [659 "Nümunələr"660 ],661 "feature": [662 "Özəllik"663 ],664 "given": [665 "* ",666 "Tutaq ki ",667 "Verilir "668 ],669 "name": "Azerbaijani",670 "native": "Azərbaycanca",671 "scenario": [672 "Ssenari"673 ],674 "scenarioOutline": [675 "Ssenarinin strukturu"676 ],677 "then": [678 "* ",679 "O halda "680 ],681 "when": [682 "* ",683 "Əgər ",684 "Nə vaxt ki "685 ]686 },687 "bg": {688 "and": [689 "* ",690 "И "691 ],692 "background": [693 "Предистория"694 ],695 "but": [696 "* ",697 "Но "698 ],699 "examples": [700 "Примери"701 ],702 "feature": [703 "Функционалност"704 ],705 "given": [706 "* ",707 "Дадено "708 ],709 "name": "Bulgarian",710 "native": "български",711 "scenario": [712 "Сценарий"713 ],714 "scenarioOutline": [715 "Рамка на сценарий"716 ],717 "then": [718 "* ",719 "То "720 ],721 "when": [722 "* ",723 "Когато "724 ]725 },726 "bm": {727 "and": [728 "* ",729 "Dan "730 ],731 "background": [732 "Latar Belakang"733 ],734 "but": [735 "* ",736 "Tetapi ",737 "Tapi "738 ],739 "examples": [740 "Contoh"741 ],742 "feature": [743 "Fungsi"744 ],745 "given": [746 "* ",747 "Diberi ",748 "Bagi "749 ],750 "name": "Malay",751 "native": "Bahasa Melayu",752 "scenario": [753 "Senario",754 "Situasi",755 "Keadaan"756 ],757 "scenarioOutline": [758 "Kerangka Senario",759 "Kerangka Situasi",760 "Kerangka Keadaan",761 "Garis Panduan Senario"762 ],763 "then": [764 "* ",765 "Maka ",766 "Kemudian "767 ],768 "when": [769 "* ",770 "Apabila "771 ]772 },773 "bs": {774 "and": [775 "* ",776 "I ",777 "A "778 ],779 "background": [780 "Pozadina"781 ],782 "but": [783 "* ",784 "Ali "785 ],786 "examples": [787 "Primjeri"788 ],789 "feature": [790 "Karakteristika"791 ],792 "given": [793 "* ",794 "Dato "795 ],796 "name": "Bosnian",797 "native": "Bosanski",798 "scenario": [799 "Scenariju",800 "Scenario"801 ],802 "scenarioOutline": [803 "Scenariju-obris",804 "Scenario-outline"805 ],806 "then": [807 "* ",808 "Zatim "809 ],810 "when": [811 "* ",812 "Kada "813 ]814 },815 "ca": {816 "and": [817 "* ",818 "I "819 ],820 "background": [821 "Rerefons",822 "Antecedents"823 ],824 "but": [825 "* ",826 "Però "827 ],828 "examples": [829 "Exemples"830 ],831 "feature": [832 "Característica",833 "Funcionalitat"834 ],835 "given": [836 "* ",837 "Donat ",838 "Donada ",839 "Atès ",840 "Atesa "841 ],842 "name": "Catalan",843 "native": "català",844 "scenario": [845 "Escenari"846 ],847 "scenarioOutline": [848 "Esquema de l'escenari"849 ],850 "then": [851 "* ",852 "Aleshores ",853 "Cal "854 ],855 "when": [856 "* ",857 "Quan "858 ]859 },860 "cs": {861 "and": [862 "* ",863 "A také ",864 "A "865 ],866 "background": [867 "Pozadí",868 "Kontext"869 ],870 "but": [871 "* ",872 "Ale "873 ],874 "examples": [875 "Příklady"876 ],877 "feature": [878 "Požadavek"879 ],880 "given": [881 "* ",882 "Pokud ",883 "Za předpokladu "884 ],885 "name": "Czech",886 "native": "Česky",887 "scenario": [888 "Scénář"889 ],890 "scenarioOutline": [891 "Náčrt Scénáře",892 "Osnova scénáře"893 ],894 "then": [895 "* ",896 "Pak "897 ],898 "when": [899 "* ",900 "Když "901 ]902 },903 "cy-GB": {904 "and": [905 "* ",906 "A "907 ],908 "background": [909 "Cefndir"910 ],911 "but": [912 "* ",913 "Ond "914 ],915 "examples": [916 "Enghreifftiau"917 ],918 "feature": [919 "Arwedd"920 ],921 "given": [922 "* ",923 "Anrhegedig a "924 ],925 "name": "Welsh",926 "native": "Cymraeg",927 "scenario": [928 "Scenario"929 ],930 "scenarioOutline": [931 "Scenario Amlinellol"932 ],933 "then": [934 "* ",935 "Yna "936 ],937 "when": [938 "* ",939 "Pryd "940 ]941 },942 "da": {943 "and": [944 "* ",945 "Og "946 ],947 "background": [948 "Baggrund"949 ],950 "but": [951 "* ",952 "Men "953 ],954 "examples": [955 "Eksempler"956 ],957 "feature": [958 "Egenskab"959 ],960 "given": [961 "* ",962 "Givet "963 ],964 "name": "Danish",965 "native": "dansk",966 "scenario": [967 "Scenarie"968 ],969 "scenarioOutline": [970 "Abstrakt Scenario"971 ],972 "then": [973 "* ",974 "Så "975 ],976 "when": [977 "* ",978 "Når "979 ]980 },981 "de": {982 "and": [983 "* ",984 "Und "985 ],986 "background": [987 "Grundlage"988 ],989 "but": [990 "* ",991 "Aber "992 ],993 "examples": [994 "Beispiele"995 ],996 "feature": [997 "Funktionalität"998 ],999 "given": [1000 "* ",1001 "Angenommen ",1002 "Gegeben sei ",1003 "Gegeben seien "1004 ],1005 "name": "German",1006 "native": "Deutsch",1007 "scenario": [1008 "Szenario"1009 ],1010 "scenarioOutline": [1011 "Szenariogrundriss"1012 ],1013 "then": [1014 "* ",1015 "Dann "1016 ],1017 "when": [1018 "* ",1019 "Wenn "1020 ]1021 },1022 "el": {1023 "and": [1024 "* ",1025 "Και "1026 ],1027 "background": [1028 "Υπόβαθρο"1029 ],1030 "but": [1031 "* ",1032 "Αλλά "1033 ],1034 "examples": [1035 "Παραδείγματα",1036 "Σενάρια"1037 ],1038 "feature": [1039 "Δυνατότητα",1040 "Λειτουργία"1041 ],1042 "given": [1043 "* ",1044 "Δεδομένου "1045 ],1046 "name": "Greek",1047 "native": "Ελληνικά",1048 "scenario": [1049 "Σενάριο"1050 ],1051 "scenarioOutline": [1052 "Περιγραφή Σεναρίου",1053 "Περίγραμμα Σεναρίου"1054 ],1055 "then": [1056 "* ",1057 "Τότε "1058 ],1059 "when": [1060 "* ",1061 "Όταν "1062 ]1063 },1064 "em": {1065 "and": [1066 "* ",1067 "😂"1068 ],1069 "background": [1070 "💤"1071 ],1072 "but": [1073 "* ",1074 "😔"1075 ],1076 "examples": [1077 "📓"1078 ],1079 "feature": [1080 "📚"1081 ],1082 "given": [1083 "* ",1084 "😐"1085 ],1086 "name": "Emoji",1087 "native": "😀",1088 "scenario": [1089 "📕"1090 ],1091 "scenarioOutline": [1092 "📖"1093 ],1094 "then": [1095 "* ",1096 "🙏"1097 ],1098 "when": [1099 "* ",1100 "🎬"1101 ]1102 },1103 "en": {1104 "and": [1105 "* ",1106 "And "1107 ],1108 "background": [1109 "Background"1110 ],1111 "but": [1112 "* ",1113 "But "1114 ],1115 "examples": [1116 "Examples",1117 "Scenarios"1118 ],1119 "feature": [1120 "Feature",1121 "Business Need",1122 "Ability"1123 ],1124 "given": [1125 "* ",1126 "Given "1127 ],1128 "name": "English",1129 "native": "English",1130 "scenario": [1131 "Scenario"1132 ],1133 "scenarioOutline": [1134 "Scenario Outline",1135 "Scenario Template"1136 ],1137 "then": [1138 "* ",1139 "Then "1140 ],1141 "when": [1142 "* ",1143 "When "1144 ]1145 },1146 "en-Scouse": {1147 "and": [1148 "* ",1149 "An "1150 ],1151 "background": [1152 "Dis is what went down"1153 ],1154 "but": [1155 "* ",1156 "Buh "1157 ],1158 "examples": [1159 "Examples"1160 ],1161 "feature": [1162 "Feature"1163 ],1164 "given": [1165 "* ",1166 "Givun ",1167 "Youse know when youse got "1168 ],1169 "name": "Scouse",1170 "native": "Scouse",1171 "scenario": [1172 "The thing of it is"1173 ],1174 "scenarioOutline": [1175 "Wharrimean is"1176 ],1177 "then": [1178 "* ",1179 "Dun ",1180 "Den youse gotta "1181 ],1182 "when": [1183 "* ",1184 "Wun ",1185 "Youse know like when "1186 ]1187 },1188 "en-au": {1189 "and": [1190 "* ",1191 "Too right "1192 ],1193 "background": [1194 "First off"1195 ],1196 "but": [1197 "* ",1198 "Yeah nah "1199 ],1200 "examples": [1201 "You'll wanna"1202 ],1203 "feature": [1204 "Pretty much"1205 ],1206 "given": [1207 "* ",1208 "Y'know "1209 ],1210 "name": "Australian",1211 "native": "Australian",1212 "scenario": [1213 "Awww, look mate"1214 ],1215 "scenarioOutline": [1216 "Reckon it's like"1217 ],1218 "then": [1219 "* ",1220 "But at the end of the day I reckon "1221 ],1222 "when": [1223 "* ",1224 "It's just unbelievable "1225 ]1226 },1227 "en-lol": {1228 "and": [1229 "* ",1230 "AN "1231 ],1232 "background": [1233 "B4"1234 ],1235 "but": [1236 "* ",1237 "BUT "1238 ],1239 "examples": [1240 "EXAMPLZ"1241 ],1242 "feature": [1243 "OH HAI"1244 ],1245 "given": [1246 "* ",1247 "I CAN HAZ "1248 ],1249 "name": "LOLCAT",1250 "native": "LOLCAT",1251 "scenario": [1252 "MISHUN"1253 ],1254 "scenarioOutline": [1255 "MISHUN SRSLY"1256 ],1257 "then": [1258 "* ",1259 "DEN "1260 ],1261 "when": [1262 "* ",1263 "WEN "1264 ]1265 },1266 "en-old": {1267 "and": [1268 "* ",1269 "Ond ",1270 "7 "1271 ],1272 "background": [1273 "Aer",1274 "Ær"1275 ],1276 "but": [1277 "* ",1278 "Ac "1279 ],1280 "examples": [1281 "Se the",1282 "Se þe",1283 "Se ðe"1284 ],1285 "feature": [1286 "Hwaet",1287 "Hwæt"1288 ],1289 "given": [1290 "* ",1291 "Thurh ",1292 "Þurh ",1293 "Ðurh "1294 ],1295 "name": "Old English",1296 "native": "Englisc",1297 "scenario": [1298 "Swa"1299 ],1300 "scenarioOutline": [1301 "Swa hwaer swa",1302 "Swa hwær swa"1303 ],1304 "then": [1305 "* ",1306 "Tha ",1307 "Þa ",1308 "Ða ",1309 "Tha the ",1310 "Þa þe ",1311 "Ða ðe "1312 ],1313 "when": [1314 "* ",1315 "Tha ",1316 "Þa ",1317 "Ða "1318 ]1319 },1320 "en-pirate": {1321 "and": [1322 "* ",1323 "Aye "1324 ],1325 "background": [1326 "Yo-ho-ho"1327 ],1328 "but": [1329 "* ",1330 "Avast! "1331 ],1332 "examples": [1333 "Dead men tell no tales"1334 ],1335 "feature": [1336 "Ahoy matey!"1337 ],1338 "given": [1339 "* ",1340 "Gangway! "1341 ],1342 "name": "Pirate",1343 "native": "Pirate",1344 "scenario": [1345 "Heave to"1346 ],1347 "scenarioOutline": [1348 "Shiver me timbers"1349 ],1350 "then": [1351 "* ",1352 "Let go and haul "1353 ],1354 "when": [1355 "* ",1356 "Blimey! "1357 ]1358 },1359 "eo": {1360 "and": [1361 "* ",1362 "Kaj "1363 ],1364 "background": [1365 "Fono"1366 ],1367 "but": [1368 "* ",1369 "Sed "1370 ],1371 "examples": [1372 "Ekzemploj"1373 ],1374 "feature": [1375 "Trajto"1376 ],1377 "given": [1378 "* ",1379 "Donitaĵo ",1380 "Komence "1381 ],1382 "name": "Esperanto",1383 "native": "Esperanto",1384 "scenario": [1385 "Scenaro",1386 "Kazo"1387 ],1388 "scenarioOutline": [1389 "Konturo de la scenaro",1390 "Skizo",1391 "Kazo-skizo"1392 ],1393 "then": [1394 "* ",1395 "Do "1396 ],1397 "when": [1398 "* ",1399 "Se "1400 ]1401 },1402 "es": {1403 "and": [1404 "* ",1405 "Y ",1406 "E "1407 ],1408 "background": [1409 "Antecedentes"1410 ],1411 "but": [1412 "* ",1413 "Pero "1414 ],1415 "examples": [1416 "Ejemplos"1417 ],1418 "feature": [1419 "Característica"1420 ],1421 "given": [1422 "* ",1423 "Dado ",1424 "Dada ",1425 "Dados ",1426 "Dadas "1427 ],1428 "name": "Spanish",1429 "native": "español",1430 "scenario": [1431 "Escenario"1432 ],1433 "scenarioOutline": [1434 "Esquema del escenario"1435 ],1436 "then": [1437 "* ",1438 "Entonces "1439 ],1440 "when": [1441 "* ",1442 "Cuando "1443 ]1444 },1445 "et": {1446 "and": [1447 "* ",1448 "Ja "1449 ],1450 "background": [1451 "Taust"1452 ],1453 "but": [1454 "* ",1455 "Kuid "1456 ],1457 "examples": [1458 "Juhtumid"1459 ],1460 "feature": [1461 "Omadus"1462 ],1463 "given": [1464 "* ",1465 "Eeldades "1466 ],1467 "name": "Estonian",1468 "native": "eesti keel",1469 "scenario": [1470 "Stsenaarium"1471 ],1472 "scenarioOutline": [1473 "Raamstsenaarium"1474 ],1475 "then": [1476 "* ",1477 "Siis "1478 ],1479 "when": [1480 "* ",1481 "Kui "1482 ]1483 },1484 "fa": {1485 "and": [1486 "* ",1487 "و "1488 ],1489 "background": [1490 "زمینه"1491 ],1492 "but": [1493 "* ",1494 "اما "1495 ],1496 "examples": [1497 "نمونه ها"1498 ],1499 "feature": [1500 "وِیژگی"1501 ],1502 "given": [1503 "* ",1504 "با فرض "1505 ],1506 "name": "Persian",1507 "native": "فارسی",1508 "scenario": [1509 "سناریو"1510 ],1511 "scenarioOutline": [1512 "الگوی سناریو"1513 ],1514 "then": [1515 "* ",1516 "آنگاه "1517 ],1518 "when": [1519 "* ",1520 "هنگامی "1521 ]1522 },1523 "fi": {1524 "and": [1525 "* ",1526 "Ja "1527 ],1528 "background": [1529 "Tausta"1530 ],1531 "but": [1532 "* ",1533 "Mutta "1534 ],1535 "examples": [1536 "Tapaukset"1537 ],1538 "feature": [1539 "Ominaisuus"1540 ],1541 "given": [1542 "* ",1543 "Oletetaan "1544 ],1545 "name": "Finnish",1546 "native": "suomi",1547 "scenario": [1548 "Tapaus"1549 ],1550 "scenarioOutline": [1551 "Tapausaihio"1552 ],1553 "then": [1554 "* ",1555 "Niin "1556 ],1557 "when": [1558 "* ",1559 "Kun "1560 ]1561 },1562 "fr": {1563 "and": [1564 "* ",1565 "Et que ",1566 "Et qu'",1567 "Et "1568 ],1569 "background": [1570 "Contexte"1571 ],1572 "but": [1573 "* ",1574 "Mais que ",1575 "Mais qu'",1576 "Mais "1577 ],1578 "examples": [1579 "Exemples"1580 ],1581 "feature": [1582 "Fonctionnalité"1583 ],1584 "given": [1585 "* ",1586 "Soit ",1587 "Etant donné que ",1588 "Etant donné qu'",1589 "Etant donné ",1590 "Etant donnée ",1591 "Etant donnés ",1592 "Etant données ",1593 "Étant donné que ",1594 "Étant donné qu'",1595 "Étant donné ",1596 "Étant donnée ",1597 "Étant donnés ",1598 "Étant données "1599 ],1600 "name": "French",1601 "native": "français",1602 "scenario": [1603 "Scénario"1604 ],1605 "scenarioOutline": [1606 "Plan du scénario",1607 "Plan du Scénario"1608 ],1609 "then": [1610 "* ",1611 "Alors "1612 ],1613 "when": [1614 "* ",1615 "Quand ",1616 "Lorsque ",1617 "Lorsqu'"1618 ]1619 },1620 "ga": {1621 "and": [1622 "* ",1623 "Agus"1624 ],1625 "background": [1626 "Cúlra"1627 ],1628 "but": [1629 "* ",1630 "Ach"1631 ],1632 "examples": [1633 "Samplaí"1634 ],1635 "feature": [1636 "Gné"1637 ],1638 "given": [1639 "* ",1640 "Cuir i gcás go",1641 "Cuir i gcás nach",1642 "Cuir i gcás gur",1643 "Cuir i gcás nár"1644 ],1645 "name": "Irish",1646 "native": "Gaeilge",1647 "scenario": [1648 "Cás"1649 ],1650 "scenarioOutline": [1651 "Cás Achomair"1652 ],1653 "then": [1654 "* ",1655 "Ansin"1656 ],1657 "when": [1658 "* ",1659 "Nuair a",1660 "Nuair nach",1661 "Nuair ba",1662 "Nuair nár"1663 ]1664 },1665 "gj": {1666 "and": [1667 "* ",1668 "અને "1669 ],1670 "background": [1671 "બેકગ્રાઉન્ડ"1672 ],1673 "but": [1674 "* ",1675 "પણ "1676 ],1677 "examples": [1678 "ઉદાહરણો"1679 ],1680 "feature": [1681 "લક્ષણ",1682 "વ્યાપાર જરૂર",1683 "ક્ષમતા"1684 ],1685 "given": [1686 "* ",1687 "આપેલ છે "1688 ],1689 "name": "Gujarati",1690 "native": "ગુજરાતી",1691 "scenario": [1692 "સ્થિતિ"1693 ],1694 "scenarioOutline": [1695 "પરિદ્દશ્ય રૂપરેખા",1696 "પરિદ્દશ્ય ઢાંચો"1697 ],1698 "then": [1699 "* ",1700 "પછી "1701 ],1702 "when": [1703 "* ",1704 "ક્યારે "1705 ]1706 },1707 "gl": {1708 "and": [1709 "* ",1710 "E "1711 ],1712 "background": [1713 "Contexto"1714 ],1715 "but": [1716 "* ",1717 "Mais ",1718 "Pero "1719 ],1720 "examples": [1721 "Exemplos"1722 ],1723 "feature": [1724 "Característica"1725 ],1726 "given": [1727 "* ",1728 "Dado ",1729 "Dada ",1730 "Dados ",1731 "Dadas "1732 ],1733 "name": "Galician",1734 "native": "galego",1735 "scenario": [1736 "Escenario"1737 ],1738 "scenarioOutline": [1739 "Esbozo do escenario"1740 ],1741 "then": [1742 "* ",1743 "Entón ",1744 "Logo "1745 ],1746 "when": [1747 "* ",1748 "Cando "1749 ]1750 },1751 "he": {1752 "and": [1753 "* ",1754 "וגם "1755 ],1756 "background": [1757 "רקע"1758 ],1759 "but": [1760 "* ",1761 "אבל "1762 ],1763 "examples": [1764 "דוגמאות"1765 ],1766 "feature": [1767 "תכונה"1768 ],1769 "given": [1770 "* ",1771 "בהינתן "1772 ],1773 "name": "Hebrew",1774 "native": "עברית",1775 "scenario": [1776 "תרחיש"1777 ],1778 "scenarioOutline": [1779 "תבנית תרחיש"1780 ],1781 "then": [1782 "* ",1783 "אז ",1784 "אזי "1785 ],1786 "when": [1787 "* ",1788 "כאשר "1789 ]1790 },1791 "hi": {1792 "and": [1793 "* ",1794 "और ",1795 "तथा "1796 ],1797 "background": [1798 "पृष्ठभूमि"1799 ],1800 "but": [1801 "* ",1802 "पर ",1803 "परन्तु ",1804 "किन्तु "1805 ],1806 "examples": [1807 "उदाहरण"1808 ],1809 "feature": [1810 "रूप लेख"1811 ],1812 "given": [1813 "* ",1814 "अगर ",1815 "यदि ",1816 "चूंकि "1817 ],1818 "name": "Hindi",1819 "native": "हिंदी",1820 "scenario": [1821 "परिदृश्य"1822 ],1823 "scenarioOutline": [1824 "परिदृश्य रूपरेखा"1825 ],1826 "then": [1827 "* ",1828 "तब ",1829 "तदा "1830 ],1831 "when": [1832 "* ",1833 "जब ",1834 "कदा "1835 ]1836 },1837 "hr": {1838 "and": [1839 "* ",1840 "I "1841 ],1842 "background": [1843 "Pozadina"1844 ],1845 "but": [1846 "* ",1847 "Ali "1848 ],1849 "examples": [1850 "Primjeri",1851 "Scenariji"1852 ],1853 "feature": [1854 "Osobina",1855 "Mogućnost",1856 "Mogucnost"1857 ],1858 "given": [1859 "* ",1860 "Zadan ",1861 "Zadani ",1862 "Zadano "1863 ],1864 "name": "Croatian",1865 "native": "hrvatski",1866 "scenario": [1867 "Scenarij"1868 ],1869 "scenarioOutline": [1870 "Skica",1871 "Koncept"1872 ],1873 "then": [1874 "* ",1875 "Onda "1876 ],1877 "when": [1878 "* ",1879 "Kada ",1880 "Kad "1881 ]1882 },1883 "ht": {1884 "and": [1885 "* ",1886 "Ak ",1887 "Epi ",1888 "E "1889 ],1890 "background": [1891 "Kontèks",1892 "Istorik"1893 ],1894 "but": [1895 "* ",1896 "Men "1897 ],1898 "examples": [1899 "Egzanp"1900 ],1901 "feature": [1902 "Karakteristik",1903 "Mak",1904 "Fonksyonalite"1905 ],1906 "given": [1907 "* ",1908 "Sipoze ",1909 "Sipoze ke ",1910 "Sipoze Ke "1911 ],1912 "name": "Creole",1913 "native": "kreyòl",1914 "scenario": [1915 "Senaryo"1916 ],1917 "scenarioOutline": [1918 "Plan senaryo",1919 "Plan Senaryo",1920 "Senaryo deskripsyon",1921 "Senaryo Deskripsyon",1922 "Dyagram senaryo",1923 "Dyagram Senaryo"1924 ],1925 "then": [1926 "* ",1927 "Lè sa a ",1928 "Le sa a "1929 ],1930 "when": [1931 "* ",1932 "Lè ",1933 "Le "1934 ]1935 },1936 "hu": {1937 "and": [1938 "* ",1939 "És "1940 ],1941 "background": [1942 "Háttér"1943 ],1944 "but": [1945 "* ",1946 "De "1947 ],1948 "examples": [1949 "Példák"1950 ],1951 "feature": [1952 "Jellemző"1953 ],1954 "given": [1955 "* ",1956 "Amennyiben ",1957 "Adott "1958 ],1959 "name": "Hungarian",1960 "native": "magyar",1961 "scenario": [1962 "Forgatókönyv"1963 ],1964 "scenarioOutline": [1965 "Forgatókönyv vázlat"1966 ],1967 "then": [1968 "* ",1969 "Akkor "1970 ],1971 "when": [1972 "* ",1973 "Majd ",1974 "Ha ",1975 "Amikor "1976 ]1977 },1978 "id": {1979 "and": [1980 "* ",1981 "Dan "1982 ],1983 "background": [1984 "Dasar"1985 ],1986 "but": [1987 "* ",1988 "Tapi "1989 ],1990 "examples": [1991 "Contoh"1992 ],1993 "feature": [1994 "Fitur"1995 ],1996 "given": [1997 "* ",1998 "Dengan "1999 ],2000 "name": "Indonesian",2001 "native": "Bahasa Indonesia",2002 "scenario": [2003 "Skenario"2004 ],2005 "scenarioOutline": [2006 "Skenario konsep"2007 ],2008 "then": [2009 "* ",2010 "Maka "2011 ],2012 "when": [2013 "* ",2014 "Ketika "2015 ]2016 },2017 "is": {2018 "and": [2019 "* ",2020 "Og "2021 ],2022 "background": [2023 "Bakgrunnur"2024 ],2025 "but": [2026 "* ",2027 "En "2028 ],2029 "examples": [2030 "Dæmi",2031 "Atburðarásir"2032 ],2033 "feature": [2034 "Eiginleiki"2035 ],2036 "given": [2037 "* ",2038 "Ef "2039 ],2040 "name": "Icelandic",2041 "native": "Íslenska",2042 "scenario": [2043 "Atburðarás"2044 ],2045 "scenarioOutline": [2046 "Lýsing Atburðarásar",2047 "Lýsing Dæma"2048 ],2049 "then": [2050 "* ",2051 "Þá "2052 ],2053 "when": [2054 "* ",2055 "Þegar "2056 ]2057 },2058 "it": {2059 "and": [2060 "* ",2061 "E "2062 ],2063 "background": [2064 "Contesto"2065 ],2066 "but": [2067 "* ",2068 "Ma "2069 ],2070 "examples": [2071 "Esempi"2072 ],2073 "feature": [2074 "Funzionalità"2075 ],2076 "given": [2077 "* ",2078 "Dato ",2079 "Data ",2080 "Dati ",2081 "Date "2082 ],2083 "name": "Italian",2084 "native": "italiano",2085 "scenario": [2086 "Scenario"2087 ],2088 "scenarioOutline": [2089 "Schema dello scenario"2090 ],2091 "then": [2092 "* ",2093 "Allora "2094 ],2095 "when": [2096 "* ",2097 "Quando "2098 ]2099 },2100 "ja": {2101 "and": [2102 "* ",2103 "かつ"2104 ],2105 "background": [2106 "背景"2107 ],2108 "but": [2109 "* ",2110 "しかし",2111 "但し",2112 "ただし"2113 ],2114 "examples": [2115 "例",2116 "サンプル"2117 ],2118 "feature": [2119 "フィーチャ",2120 "機能"2121 ],2122 "given": [2123 "* ",2124 "前提"2125 ],2126 "name": "Japanese",2127 "native": "日本語",2128 "scenario": [2129 "シナリオ"2130 ],2131 "scenarioOutline": [2132 "シナリオアウトライン",2133 "シナリオテンプレート",2134 "テンプレ",2135 "シナリオテンプレ"2136 ],2137 "then": [2138 "* ",2139 "ならば"2140 ],2141 "when": [2142 "* ",2143 "もし"2144 ]2145 },2146 "jv": {2147 "and": [2148 "* ",2149 "Lan "2150 ],2151 "background": [2152 "Dasar"2153 ],2154 "but": [2155 "* ",2156 "Tapi ",2157 "Nanging ",2158 "Ananging "2159 ],2160 "examples": [2161 "Conto",2162 "Contone"2163 ],2164 "feature": [2165 "Fitur"2166 ],2167 "given": [2168 "* ",2169 "Nalika ",2170 "Nalikaning "2171 ],2172 "name": "Javanese",2173 "native": "Basa Jawa",2174 "scenario": [2175 "Skenario"2176 ],2177 "scenarioOutline": [2178 "Konsep skenario"2179 ],2180 "then": [2181 "* ",2182 "Njuk ",2183 "Banjur "2184 ],2185 "when": [2186 "* ",2187 "Manawa ",2188 "Menawa "2189 ]2190 },2191 "ka": {2192 "and": [2193 "* ",2194 "და"2195 ],2196 "background": [2197 "კონტექსტი"2198 ],2199 "but": [2200 "* ",2201 "მაგ­რამ"2202 ],2203 "examples": [2204 "მაგალითები"2205 ],2206 "feature": [2207 "თვისება"2208 ],2209 "given": [2210 "* ",2211 "მოცემული"2212 ],2213 "name": "Georgian",2214 "native": "ქართველი",2215 "scenario": [2216 "სცენარის"2217 ],2218 "scenarioOutline": [2219 "სცენარის ნიმუში"2220 ],2221 "then": [2222 "* ",2223 "მაშინ"2224 ],2225 "when": [2226 "* ",2227 "როდესაც"2228 ]2229 },2230 "kn": {2231 "and": [2232 "* ",2233 "ಮತ್ತು "2234 ],2235 "background": [2236 "ಹಿನ್ನೆಲೆ"2237 ],2238 "but": [2239 "* ",2240 "ಆದರೆ "2241 ],2242 "examples": [2243 "ಉದಾಹರಣೆಗಳು"2244 ],2245 "feature": [2246 "ಹೆಚ್ಚಳ"2247 ],2248 "given": [2249 "* ",2250 "ನೀಡಿದ "2251 ],2252 "name": "Kannada",2253 "native": "ಕನ್ನಡ",2254 "scenario": [2255 "ಕಥಾಸಾರಾಂಶ"2256 ],2257 "scenarioOutline": [2258 "ವಿವರಣೆ"2259 ],2260 "then": [2261 "* ",2262 "ನಂತರ "2263 ],2264 "when": [2265 "* ",2266 "ಸ್ಥಿತಿಯನ್ನು "2267 ]2268 },2269 "ko": {2270 "and": [2271 "* ",2272 "그리고"2273 ],2274 "background": [2275 "배경"2276 ],2277 "but": [2278 "* ",2279 "하지만",2280 "단"2281 ],2282 "examples": [2283 "예"2284 ],2285 "feature": [2286 "기능"2287 ],2288 "given": [2289 "* ",2290 "조건",2291 "먼저"2292 ],2293 "name": "Korean",2294 "native": "한국어",2295 "scenario": [2296 "시나리오"2297 ],2298 "scenarioOutline": [2299 "시나리오 개요"2300 ],2301 "then": [2302 "* ",2303 "그러면"2304 ],2305 "when": [2306 "* ",2307 "만일",2308 "만약"2309 ]2310 },2311 "lt": {2312 "and": [2313 "* ",2314 "Ir "2315 ],2316 "background": [2317 "Kontekstas"2318 ],2319 "but": [2320 "* ",2321 "Bet "2322 ],2323 "examples": [2324 "Pavyzdžiai",2325 "Scenarijai",2326 "Variantai"2327 ],2328 "feature": [2329 "Savybė"2330 ],2331 "given": [2332 "* ",2333 "Duota "2334 ],2335 "name": "Lithuanian",2336 "native": "lietuvių kalba",2337 "scenario": [2338 "Scenarijus"2339 ],2340 "scenarioOutline": [2341 "Scenarijaus šablonas"2342 ],2343 "then": [2344 "* ",2345 "Tada "2346 ],2347 "when": [2348 "* ",2349 "Kai "2350 ]2351 },2352 "lu": {2353 "and": [2354 "* ",2355 "an ",2356 "a "2357 ],2358 "background": [2359 "Hannergrond"2360 ],2361 "but": [2362 "* ",2363 "awer ",2364 "mä "2365 ],2366 "examples": [2367 "Beispiller"2368 ],2369 "feature": [2370 "Funktionalitéit"2371 ],2372 "given": [2373 "* ",2374 "ugeholl "2375 ],2376 "name": "Luxemburgish",2377 "native": "Lëtzebuergesch",2378 "scenario": [2379 "Szenario"2380 ],2381 "scenarioOutline": [2382 "Plang vum Szenario"2383 ],2384 "then": [2385 "* ",2386 "dann "2387 ],2388 "when": [2389 "* ",2390 "wann "2391 ]2392 },2393 "lv": {2394 "and": [2395 "* ",2396 "Un "2397 ],2398 "background": [2399 "Konteksts",2400 "Situācija"2401 ],2402 "but": [2403 "* ",2404 "Bet "2405 ],2406 "examples": [2407 "Piemēri",2408 "Paraugs"2409 ],2410 "feature": [2411 "Funkcionalitāte",2412 "Fīča"2413 ],2414 "given": [2415 "* ",2416 "Kad "2417 ],2418 "name": "Latvian",2419 "native": "latviešu",2420 "scenario": [2421 "Scenārijs"2422 ],2423 "scenarioOutline": [2424 "Scenārijs pēc parauga"2425 ],2426 "then": [2427 "* ",2428 "Tad "2429 ],2430 "when": [2431 "* ",2432 "Ja "2433 ]2434 },2435 "mk-Cyrl": {2436 "and": [2437 "* ",2438 "И "2439 ],2440 "background": [2441 "Контекст",2442 "Содржина"2443 ],2444 "but": [2445 "* ",2446 "Но "2447 ],2448 "examples": [2449 "Примери",2450 "Сценарија"2451 ],2452 "feature": [2453 "Функционалност",2454 "Бизнис потреба",2455 "Можност"2456 ],2457 "given": [2458 "* ",2459 "Дадено ",2460 "Дадена "2461 ],2462 "name": "Macedonian",2463 "native": "Македонски",2464 "scenario": [2465 "Сценарио",2466 "На пример"2467 ],2468 "scenarioOutline": [2469 "Преглед на сценарија",2470 "Скица",2471 "Концепт"2472 ],2473 "then": [2474 "* ",2475 "Тогаш "2476 ],2477 "when": [2478 "* ",2479 "Кога "2480 ]2481 },2482 "mk-Latn": {2483 "and": [2484 "* ",2485 "I "2486 ],2487 "background": [2488 "Kontekst",2489 "Sodrzhina"2490 ],2491 "but": [2492 "* ",2493 "No "2494 ],2495 "examples": [2496 "Primeri",2497 "Scenaria"2498 ],2499 "feature": [2500 "Funkcionalnost",2501 "Biznis potreba",2502 "Mozhnost"2503 ],2504 "given": [2505 "* ",2506 "Dadeno ",2507 "Dadena "2508 ],2509 "name": "Macedonian (Latin)",2510 "native": "Makedonski (Latinica)",2511 "scenario": [2512 "Scenario",2513 "Na primer"2514 ],2515 "scenarioOutline": [2516 "Pregled na scenarija",2517 "Skica",2518 "Koncept"2519 ],2520 "then": [2521 "* ",2522 "Togash "2523 ],2524 "when": [2525 "* ",2526 "Koga "2527 ]2528 },2529 "mn": {2530 "and": [2531 "* ",2532 "Мөн ",2533 "Тэгээд "2534 ],2535 "background": [2536 "Агуулга"2537 ],2538 "but": [2539 "* ",2540 "Гэхдээ ",2541 "Харин "2542 ],2543 "examples": [2544 "Тухайлбал"2545 ],2546 "feature": [2547 "Функц",2548 "Функционал"2549 ],2550 "given": [2551 "* ",2552 "Өгөгдсөн нь ",2553 "Анх "2554 ],2555 "name": "Mongolian",2556 "native": "монгол",2557 "scenario": [2558 "Сценар"2559 ],2560 "scenarioOutline": [2561 "Сценарын төлөвлөгөө"2562 ],2563 "then": [2564 "* ",2565 "Тэгэхэд ",2566 "Үүний дараа "2567 ],2568 "when": [2569 "* ",2570 "Хэрэв "2571 ]2572 },2573 "nl": {2574 "and": [2575 "* ",2576 "En "2577 ],2578 "background": [2579 "Achtergrond"2580 ],2581 "but": [2582 "* ",2583 "Maar "2584 ],2585 "examples": [2586 "Voorbeelden"2587 ],2588 "feature": [2589 "Functionaliteit"2590 ],2591 "given": [2592 "* ",2593 "Gegeven ",2594 "Stel "2595 ],2596 "name": "Dutch",2597 "native": "Nederlands",2598 "scenario": [2599 "Scenario"2600 ],2601 "scenarioOutline": [2602 "Abstract Scenario"2603 ],2604 "then": [2605 "* ",2606 "Dan "2607 ],2608 "when": [2609 "* ",2610 "Als ",2611 "Wanneer "2612 ]2613 },2614 "no": {2615 "and": [2616 "* ",2617 "Og "2618 ],2619 "background": [2620 "Bakgrunn"2621 ],2622 "but": [2623 "* ",2624 "Men "2625 ],2626 "examples": [2627 "Eksempler"2628 ],2629 "feature": [2630 "Egenskap"2631 ],2632 "given": [2633 "* ",2634 "Gitt "2635 ],2636 "name": "Norwegian",2637 "native": "norsk",2638 "scenario": [2639 "Scenario"2640 ],2641 "scenarioOutline": [2642 "Scenariomal",2643 "Abstrakt Scenario"2644 ],2645 "then": [2646 "* ",2647 "Så "2648 ],2649 "when": [2650 "* ",2651 "Når "2652 ]2653 },2654 "pa": {2655 "and": [2656 "* ",2657 "ਅਤੇ "2658 ],2659 "background": [2660 "ਪਿਛੋਕੜ"2661 ],2662 "but": [2663 "* ",2664 "ਪਰ "2665 ],2666 "examples": [2667 "ਉਦਾਹਰਨਾਂ"2668 ],2669 "feature": [2670 "ਖਾਸੀਅਤ",2671 "ਮੁਹਾਂਦਰਾ",2672 "ਨਕਸ਼ ਨੁਹਾਰ"2673 ],2674 "given": [2675 "* ",2676 "ਜੇਕਰ ",2677 "ਜਿਵੇਂ ਕਿ "2678 ],2679 "name": "Panjabi",2680 "native": "ਪੰਜਾਬੀ",2681 "scenario": [2682 "ਪਟਕਥਾ"2683 ],2684 "scenarioOutline": [2685 "ਪਟਕਥਾ ਢਾਂਚਾ",2686 "ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ"2687 ],2688 "then": [2689 "* ",2690 "ਤਦ "2691 ],2692 "when": [2693 "* ",2694 "ਜਦੋਂ "2695 ]2696 },2697 "pl": {2698 "and": [2699 "* ",2700 "Oraz ",2701 "I "2702 ],2703 "background": [2704 "Założenia"2705 ],2706 "but": [2707 "* ",2708 "Ale "2709 ],2710 "examples": [2711 "Przykłady"2712 ],2713 "feature": [2714 "Właściwość",2715 "Funkcja",2716 "Aspekt",2717 "Potrzeba biznesowa"2718 ],2719 "given": [2720 "* ",2721 "Zakładając ",2722 "Mając ",2723 "Zakładając, że "2724 ],2725 "name": "Polish",2726 "native": "polski",2727 "scenario": [2728 "Scenariusz"2729 ],2730 "scenarioOutline": [2731 "Szablon scenariusza"2732 ],2733 "then": [2734 "* ",2735 "Wtedy "2736 ],2737 "when": [2738 "* ",2739 "Jeżeli ",2740 "Jeśli ",2741 "Gdy ",2742 "Kiedy "2743 ]2744 },2745 "pt": {2746 "and": [2747 "* ",2748 "E "2749 ],2750 "background": [2751 "Contexto",2752 "Cenário de Fundo",2753 "Cenario de Fundo",2754 "Fundo"2755 ],2756 "but": [2757 "* ",2758 "Mas "2759 ],2760 "examples": [2761 "Exemplos",2762 "Cenários",2763 "Cenarios"2764 ],2765 "feature": [2766 "Funcionalidade",2767 "Característica",2768 "Caracteristica"2769 ],2770 "given": [2771 "* ",2772 "Dado ",2773 "Dada ",2774 "Dados ",2775 "Dadas "2776 ],2777 "name": "Portuguese",2778 "native": "português",2779 "scenario": [2780 "Cenário",2781 "Cenario"2782 ],2783 "scenarioOutline": [2784 "Esquema do Cenário",2785 "Esquema do Cenario",2786 "Delineação do Cenário",2787 "Delineacao do Cenario"2788 ],2789 "then": [2790 "* ",2791 "Então ",2792 "Entao "2793 ],2794 "when": [2795 "* ",2796 "Quando "2797 ]2798 },2799 "ro": {2800 "and": [2801 "* ",2802 "Si ",2803 "Și ",2804 "Şi "2805 ],2806 "background": [2807 "Context"2808 ],2809 "but": [2810 "* ",2811 "Dar "2812 ],2813 "examples": [2814 "Exemple"2815 ],2816 "feature": [2817 "Functionalitate",2818 "Funcționalitate",2819 "Funcţionalitate"2820 ],2821 "given": [2822 "* ",2823 "Date fiind ",2824 "Dat fiind ",2825 "Dată fiind",2826 "Dati fiind ",2827 "Dați fiind ",2828 "Daţi fiind "2829 ],2830 "name": "Romanian",2831 "native": "română",2832 "scenario": [2833 "Scenariu"2834 ],2835 "scenarioOutline": [2836 "Structura scenariu",2837 "Structură scenariu"2838 ],2839 "then": [2840 "* ",2841 "Atunci "2842 ],2843 "when": [2844 "* ",2845 "Cand ",2846 "Când "2847 ]2848 },2849 "ru": {2850 "and": [2851 "* ",2852 "И ",2853 "К тому же ",2854 "Также "2855 ],2856 "background": [2857 "Предыстория",2858 "Контекст"2859 ],2860 "but": [2861 "* ",2862 "Но ",2863 "А ",2864 "Иначе "2865 ],2866 "examples": [2867 "Примеры"2868 ],2869 "feature": [2870 "Функция",2871 "Функциональность",2872 "Функционал",2873 "Свойство"2874 ],2875 "given": [2876 "* ",2877 "Допустим ",2878 "Дано ",2879 "Пусть "2880 ],2881 "name": "Russian",2882 "native": "русский",2883 "scenario": [2884 "Сценарий"2885 ],2886 "scenarioOutline": [2887 "Структура сценария"2888 ],2889 "then": [2890 "* ",2891 "То ",2892 "Затем ",2893 "Тогда "2894 ],2895 "when": [2896 "* ",2897 "Когда ",2898 "Если "2899 ]2900 },2901 "sk": {2902 "and": [2903 "* ",2904 "A ",2905 "A tiež ",2906 "A taktiež ",2907 "A zároveň "2908 ],2909 "background": [2910 "Pozadie"2911 ],2912 "but": [2913 "* ",2914 "Ale "2915 ],2916 "examples": [2917 "Príklady"2918 ],2919 "feature": [2920 "Požiadavka",2921 "Funkcia",2922 "Vlastnosť"2923 ],2924 "given": [2925 "* ",2926 "Pokiaľ ",2927 "Za predpokladu "2928 ],2929 "name": "Slovak",2930 "native": "Slovensky",2931 "scenario": [2932 "Scenár"2933 ],2934 "scenarioOutline": [2935 "Náčrt Scenáru",2936 "Náčrt Scenára",2937 "Osnova Scenára"2938 ],2939 "then": [2940 "* ",2941 "Tak ",2942 "Potom "2943 ],2944 "when": [2945 "* ",2946 "Keď ",2947 "Ak "2948 ]2949 },2950 "sl": {2951 "and": [2952 "In ",2953 "Ter "2954 ],2955 "background": [2956 "Kontekst",2957 "Osnova",2958 "Ozadje"2959 ],2960 "but": [2961 "Toda ",2962 "Ampak ",2963 "Vendar "2964 ],2965 "examples": [2966 "Primeri",2967 "Scenariji"2968 ],2969 "feature": [2970 "Funkcionalnost",2971 "Funkcija",2972 "Možnosti",2973 "Moznosti",2974 "Lastnost",2975 "Značilnost"2976 ],2977 "given": [2978 "Dano ",2979 "Podano ",2980 "Zaradi ",2981 "Privzeto "2982 ],2983 "name": "Slovenian",2984 "native": "Slovenski",2985 "scenario": [2986 "Scenarij",2987 "Primer"2988 ],2989 "scenarioOutline": [2990 "Struktura scenarija",2991 "Skica",2992 "Koncept",2993 "Oris scenarija",2994 "Osnutek"2995 ],2996 "then": [2997 "Nato ",2998 "Potem ",2999 "Takrat "3000 ],3001 "when": [3002 "Ko ",3003 "Ce ",3004 "Če ",3005 "Kadar "3006 ]3007 },3008 "sr-Cyrl": {3009 "and": [3010 "* ",3011 "И "3012 ],3013 "background": [3014 "Контекст",3015 "Основа",3016 "Позадина"3017 ],3018 "but": [3019 "* ",3020 "Али "3021 ],3022 "examples": [3023 "Примери",3024 "Сценарији"3025 ],3026 "feature": [3027 "Функционалност",3028 "Могућност",3029 "Особина"3030 ],3031 "given": [3032 "* ",3033 "За дато ",3034 "За дате ",3035 "За дати "3036 ],3037 "name": "Serbian",3038 "native": "Српски",3039 "scenario": [3040 "Сценарио",3041 "Пример"3042 ],3043 "scenarioOutline": [3044 "Структура сценарија",3045 "Скица",3046 "Концепт"3047 ],3048 "then": [3049 "* ",3050 "Онда "3051 ],3052 "when": [3053 "* ",3054 "Када ",3055 "Кад "3056 ]3057 },3058 "sr-Latn": {3059 "and": [3060 "* ",3061 "I "3062 ],3063 "background": [3064 "Kontekst",3065 "Osnova",3066 "Pozadina"3067 ],3068 "but": [3069 "* ",3070 "Ali "3071 ],3072 "examples": [3073 "Primeri",3074 "Scenariji"3075 ],3076 "feature": [3077 "Funkcionalnost",3078 "Mogućnost",3079 "Mogucnost",3080 "Osobina"3081 ],3082 "given": [3083 "* ",3084 "Za dato ",3085 "Za date ",3086 "Za dati "3087 ],3088 "name": "Serbian (Latin)",3089 "native": "Srpski (Latinica)",3090 "scenario": [3091 "Scenario",3092 "Primer"3093 ],3094 "scenarioOutline": [3095 "Struktura scenarija",3096 "Skica",3097 "Koncept"3098 ],3099 "then": [3100 "* ",3101 "Onda "3102 ],3103 "when": [3104 "* ",3105 "Kada ",3106 "Kad "3107 ]3108 },3109 "sv": {3110 "and": [3111 "* ",3112 "Och "3113 ],3114 "background": [3115 "Bakgrund"3116 ],3117 "but": [3118 "* ",3119 "Men "3120 ],3121 "examples": [3122 "Exempel"3123 ],3124 "feature": [3125 "Egenskap"3126 ],3127 "given": [3128 "* ",3129 "Givet "3130 ],3131 "name": "Swedish",3132 "native": "Svenska",3133 "scenario": [3134 "Scenario"3135 ],3136 "scenarioOutline": [3137 "Abstrakt Scenario",3138 "Scenariomall"3139 ],3140 "then": [3141 "* ",3142 "Så "3143 ],3144 "when": [3145 "* ",3146 "När "3147 ]3148 },3149 "ta": {3150 "and": [3151 "* ",3152 "மேலும் ",3153 "மற்றும் "3154 ],3155 "background": [3156 "பின்னணி"3157 ],3158 "but": [3159 "* ",3160 "ஆனால் "3161 ],3162 "examples": [3163 "எடுத்துக்காட்டுகள்",3164 "காட்சிகள்",3165 " நிலைமைகளில்"3166 ],3167 "feature": [3168 "அம்சம்",3169 "வணிக தேவை",3170 "திறன்"3171 ],3172 "given": [3173 "* ",3174 "கொடுக்கப்பட்ட "3175 ],3176 "name": "Tamil",3177 "native": "தமிழ்",3178 "scenario": [3179 "காட்சி"3180 ],3181 "scenarioOutline": [3182 "காட்சி சுருக்கம்",3183 "காட்சி வார்ப்புரு"3184 ],3185 "then": [3186 "* ",3187 "அப்பொழுது "3188 ],3189 "when": [3190 "* ",3191 "எப்போது "3192 ]3193 },3194 "th": {3195 "and": [3196 "* ",3197 "และ "3198 ],3199 "background": [3200 "แนวคิด"3201 ],3202 "but": [3203 "* ",3204 "แต่ "3205 ],3206 "examples": [3207 "ชุดของตัวอย่าง",3208 "ชุดของเหตุการณ์"3209 ],3210 "feature": [3211 "โครงหลัก",3212 "ความต้องการทางธุรกิจ",3213 "ความสามารถ"3214 ],3215 "given": [3216 "* ",3217 "กำหนดให้ "3218 ],3219 "name": "Thai",3220 "native": "ไทย",3221 "scenario": [3222 "เหตุการณ์"3223 ],3224 "scenarioOutline": [3225 "สรุปเหตุการณ์",3226 "โครงสร้างของเหตุการณ์"3227 ],3228 "then": [3229 "* ",3230 "ดังนั้น "3231 ],3232 "when": [3233 "* ",3234 "เมื่อ "3235 ]3236 },3237 "tl": {3238 "and": [3239 "* ",3240 "మరియు "3241 ],3242 "background": [3243 "నేపథ్యం"3244 ],3245 "but": [3246 "* ",3247 "కాని "3248 ],3249 "examples": [3250 "ఉదాహరణలు"3251 ],3252 "feature": [3253 "గుణము"3254 ],3255 "given": [3256 "* ",3257 "చెప్పబడినది "3258 ],3259 "name": "Telugu",3260 "native": "తెలుగు",3261 "scenario": [3262 "సన్నివేశం"3263 ],3264 "scenarioOutline": [3265 "కథనం"3266 ],3267 "then": [3268 "* ",3269 "అప్పుడు "3270 ],3271 "when": [3272 "* ",3273 "ఈ పరిస్థితిలో "3274 ]3275 },3276 "tlh": {3277 "and": [3278 "* ",3279 "'ej ",3280 "latlh "3281 ],3282 "background": [3283 "mo'"3284 ],3285 "but": [3286 "* ",3287 "'ach ",3288 "'a "3289 ],3290 "examples": [3291 "ghantoH",3292 "lutmey"3293 ],3294 "feature": [3295 "Qap",3296 "Qu'meH 'ut",3297 "perbogh",3298 "poQbogh malja'",3299 "laH"3300 ],3301 "given": [3302 "* ",3303 "ghu' noblu' ",3304 "DaH ghu' bejlu' "3305 ],3306 "name": "Klingon",3307 "native": "tlhIngan",3308 "scenario": [3309 "lut"3310 ],3311 "scenarioOutline": [3312 "lut chovnatlh"3313 ],3314 "then": [3315 "* ",3316 "vaj "3317 ],3318 "when": [3319 "* ",3320 "qaSDI' "3321 ]3322 },3323 "tr": {3324 "and": [3325 "* ",3326 "Ve "3327 ],3328 "background": [3329 "Geçmiş"3330 ],3331 "but": [3332 "* ",3333 "Fakat ",3334 "Ama "3335 ],3336 "examples": [3337 "Örnekler"3338 ],3339 "feature": [3340 "Özellik"3341 ],3342 "given": [3343 "* ",3344 "Diyelim ki "3345 ],3346 "name": "Turkish",3347 "native": "Türkçe",3348 "scenario": [3349 "Senaryo"3350 ],3351 "scenarioOutline": [3352 "Senaryo taslağı"3353 ],3354 "then": [3355 "* ",3356 "O zaman "3357 ],3358 "when": [3359 "* ",3360 "Eğer ki "3361 ]3362 },3363 "tt": {3364 "and": [3365 "* ",3366 "Һәм ",3367 "Вә "3368 ],3369 "background": [3370 "Кереш"3371 ],3372 "but": [3373 "* ",3374 "Ләкин ",3375 "Әмма "3376 ],3377 "examples": [3378 "Үрнәкләр",3379 "Мисаллар"3380 ],3381 "feature": [3382 "Мөмкинлек",3383 "Үзенчәлеклелек"3384 ],3385 "given": [3386 "* ",3387 "Әйтик "3388 ],3389 "name": "Tatar",3390 "native": "Татарча",3391 "scenario": [3392 "Сценарий"3393 ],3394 "scenarioOutline": [3395 "Сценарийның төзелеше"3396 ],3397 "then": [3398 "* ",3399 "Нәтиҗәдә "3400 ],3401 "when": [3402 "* ",3403 "Әгәр "3404 ]3405 },3406 "uk": {3407 "and": [3408 "* ",3409 "І ",3410 "А також ",3411 "Та "3412 ],3413 "background": [3414 "Передумова"3415 ],3416 "but": [3417 "* ",3418 "Але "3419 ],3420 "examples": [3421 "Приклади"3422 ],3423 "feature": [3424 "Функціонал"3425 ],3426 "given": [3427 "* ",3428 "Припустимо ",3429 "Припустимо, що ",3430 "Нехай ",3431 "Дано "3432 ],3433 "name": "Ukrainian",3434 "native": "Українська",3435 "scenario": [3436 "Сценарій"3437 ],3438 "scenarioOutline": [3439 "Структура сценарію"3440 ],3441 "then": [3442 "* ",3443 "То ",3444 "Тоді "3445 ],3446 "when": [3447 "* ",3448 "Якщо ",3449 "Коли "3450 ]3451 },3452 "ur": {3453 "and": [3454 "* ",3455 "اور "3456 ],3457 "background": [3458 "پس منظر"3459 ],3460 "but": [3461 "* ",3462 "لیکن "3463 ],3464 "examples": [3465 "مثالیں"3466 ],3467 "feature": [3468 "صلاحیت",3469 "کاروبار کی ضرورت",3470 "خصوصیت"3471 ],3472 "given": [3473 "* ",3474 "اگر ",3475 "بالفرض ",3476 "فرض کیا "3477 ],3478 "name": "Urdu",3479 "native": "اردو",3480 "scenario": [3481 "منظرنامہ"3482 ],3483 "scenarioOutline": [3484 "منظر نامے کا خاکہ"3485 ],3486 "then": [3487 "* ",3488 "پھر ",3489 "تب "3490 ],3491 "when": [3492 "* ",3493 "جب "3494 ]3495 },3496 "uz": {3497 "and": [3498 "* ",3499 "Ва "3500 ],3501 "background": [3502 "Тарих"3503 ],3504 "but": [3505 "* ",3506 "Лекин ",3507 "Бирок ",3508 "Аммо "3509 ],3510 "examples": [3511 "Мисоллар"3512 ],3513 "feature": [3514 "Функционал"3515 ],3516 "given": [3517 "* ",3518 "Агар "3519 ],3520 "name": "Uzbek",3521 "native": "Узбекча",3522 "scenario": [3523 "Сценарий"3524 ],3525 "scenarioOutline": [3526 "Сценарий структураси"3527 ],3528 "then": [3529 "* ",3530 "Унда "3531 ],3532 "when": [3533 "* ",3534 "Агар "3535 ]3536 },3537 "vi": {3538 "and": [3539 "* ",3540 "Và "3541 ],3542 "background": [3543 "Bối cảnh"3544 ],3545 "but": [3546 "* ",3547 "Nhưng "3548 ],3549 "examples": [3550 "Dữ liệu"3551 ],3552 "feature": [3553 "Tính năng"3554 ],3555 "given": [3556 "* ",3557 "Biết ",3558 "Cho "3559 ],3560 "name": "Vietnamese",3561 "native": "Tiếng Việt",3562 "scenario": [3563 "Tình huống",3564 "Kịch bản"3565 ],3566 "scenarioOutline": [3567 "Khung tình huống",3568 "Khung kịch bản"3569 ],3570 "then": [3571 "* ",3572 "Thì "3573 ],3574 "when": [3575 "* ",3576 "Khi "3577 ]3578 },3579 "zh-CN": {3580 "and": [3581 "* ",3582 "而且",3583 "并且",3584 "同时"3585 ],3586 "background": [3587 "背景"3588 ],3589 "but": [3590 "* ",3591 "但是"3592 ],3593 "examples": [3594 "例子"3595 ],3596 "feature": [3597 "功能"3598 ],3599 "given": [3600 "* ",3601 "假如",3602 "假设",3603 "假定"3604 ],3605 "name": "Chinese simplified",3606 "native": "简体中文",3607 "scenario": [3608 "场景",3609 "剧本"3610 ],3611 "scenarioOutline": [3612 "场景大纲",3613 "剧本大纲"3614 ],3615 "then": [3616 "* ",3617 "那么"3618 ],3619 "when": [3620 "* ",3621 "当"3622 ]3623 },3624 "zh-TW": {3625 "and": [3626 "* ",3627 "而且",3628 "並且",3629 "同時"3630 ],3631 "background": [3632 "背景"3633 ],3634 "but": [3635 "* ",3636 "但是"3637 ],3638 "examples": [3639 "例子"3640 ],3641 "feature": [3642 "功能"3643 ],3644 "given": [3645 "* ",3646 "假如",3647 "假設",3648 "假定"3649 ],3650 "name": "Chinese traditional",3651 "native": "繁體中文",3652 "scenario": [3653 "場景",3654 "劇本"3655 ],3656 "scenarioOutline": [3657 "場景大綱",3658 "劇本大綱"3659 ],3660 "then": [3661 "* ",3662 "那麼"3663 ],3664 "when": [3665 "* ",3666 "當"3667 ]3668 }3669}3670},{}],9:[function(require,module,exports){3671var countSymbols = require('./count_symbols')3672function GherkinLine(lineText, lineNumber) {3673 this.lineText = lineText;3674 this.lineNumber = lineNumber;3675 this.trimmedLineText = lineText.replace(/^\s+/g, ''); // ltrim3676 this.isEmpty = this.trimmedLineText.length == 0;3677 this.indent = countSymbols(lineText) - countSymbols(this.trimmedLineText);3678};3679GherkinLine.prototype.startsWith = function startsWith(prefix) {3680 return this.trimmedLineText.indexOf(prefix) == 0;3681};3682GherkinLine.prototype.startsWithTitleKeyword = function startsWithTitleKeyword(keyword) {3683 return this.startsWith(keyword+':'); // The C# impl is more complicated. Find out why.3684};3685GherkinLine.prototype.getLineText = function getLineText(indentToRemove) {3686 if (indentToRemove < 0 || indentToRemove > this.indent) {3687 return this.trimmedLineText;3688 } else {3689 return this.lineText.substring(indentToRemove);3690 }3691};3692GherkinLine.prototype.getRestTrimmed = function getRestTrimmed(length) {3693 return this.trimmedLineText.substring(length).trim();3694};3695GherkinLine.prototype.getTableCells = function getTableCells() {3696 var cells = [];3697 var col = 0;3698 var startCol = col + 1;3699 var cell = '';3700 var firstCell = true;3701 while (col < this.trimmedLineText.length) {3702 var chr = this.trimmedLineText[col];3703 col++;3704 if (chr == '|') {3705 if (firstCell) {3706 // First cell (content before the first |) is skipped3707 firstCell = false;3708 } else {3709 var cellIndent = cell.length - cell.replace(/^\s+/g, '').length;3710 var span = {column: this.indent + startCol + cellIndent, text: cell.trim()};3711 cells.push(span);3712 }3713 cell = '';3714 startCol = col + 1;3715 } else if (chr == '\\') {3716 chr = this.trimmedLineText[col];3717 col += 1;3718 if (chr == 'n') {3719 cell += '\n';3720 } else {3721 if (chr != '|' && chr != '\\') {3722 cell += '\\';3723 }3724 cell += chr;3725 }3726 } else {3727 cell += chr;3728 }3729 }3730 return cells;3731};3732GherkinLine.prototype.getTags = function getTags() {3733 var column = this.indent + 1;3734 var items = this.trimmedLineText.trim().split('@');3735 items.shift();3736 return items.map(function (item) {3737 var length = item.length;3738 var span = {column: column, text: '@' + item.trim()};3739 column += length + 1;3740 return span;3741 });3742};3743module.exports = GherkinLine;3744},{"./count_symbols":4}],10:[function(require,module,exports){3745// This file is generated. Do not edit! Edit gherkin-javascript.razor instead.3746var Errors = require('./errors');3747var AstBuilder = require('./ast_builder');3748var TokenScanner = require('./token_scanner');3749var TokenMatcher = require('./token_matcher');3750var RULE_TYPES = [3751 'None',3752 '_EOF', // #EOF3753 '_Empty', // #Empty3754 '_Comment', // #Comment3755 '_TagLine', // #TagLine3756 '_FeatureLine', // #FeatureLine3757 '_BackgroundLine', // #BackgroundLine3758 '_ScenarioLine', // #ScenarioLine3759 '_ScenarioOutlineLine', // #ScenarioOutlineLine3760 '_ExamplesLine', // #ExamplesLine3761 '_StepLine', // #StepLine3762 '_DocStringSeparator', // #DocStringSeparator3763 '_TableRow', // #TableRow3764 '_Language', // #Language3765 '_Other', // #Other3766 'GherkinDocument', // GherkinDocument! := Feature?3767 'Feature', // Feature! := Feature_Header Background? Scenario_Definition*3768 'Feature_Header', // Feature_Header! := #Language? Tags? #FeatureLine Description_Helper3769 'Background', // Background! := #BackgroundLine Description_Helper Step*3770 'Scenario_Definition', // Scenario_Definition! := Tags? (Scenario | ScenarioOutline)3771 'Scenario', // Scenario! := #ScenarioLine Description_Helper Step*3772 'ScenarioOutline', // ScenarioOutline! := #ScenarioOutlineLine Description_Helper Step* Examples_Definition*3773 'Examples_Definition', // Examples_Definition! [#Empty|#Comment|#TagLine-&gt;#ExamplesLine] := Tags? Examples3774 'Examples', // Examples! := #ExamplesLine Description_Helper Examples_Table?3775 'Examples_Table', // Examples_Table! := #TableRow #TableRow*3776 'Step', // Step! := #StepLine Step_Arg?3777 'Step_Arg', // Step_Arg := (DataTable | DocString)3778 'DataTable', // DataTable! := #TableRow+3779 'DocString', // DocString! := #DocStringSeparator #Other* #DocStringSeparator3780 'Tags', // Tags! := #TagLine+3781 'Description_Helper', // Description_Helper := #Empty* Description? #Comment*3782 'Description', // Description! := #Other+3783];3784module.exports = function Parser(builder) {3785 builder = builder || new AstBuilder();3786 var self = this;3787 var context;3788 this.parse = function(tokenScanner, tokenMatcher) {3789 if(typeof tokenScanner == 'string') {3790 tokenScanner = new TokenScanner(tokenScanner);3791 }3792 tokenMatcher = tokenMatcher || new TokenMatcher();3793 builder.reset();3794 tokenMatcher.reset();3795 context = {3796 tokenScanner: tokenScanner,3797 tokenMatcher: tokenMatcher,3798 tokenQueue: [],3799 errors: []3800 };3801 startRule(context, "GherkinDocument");3802 var state = 0;3803 var token = null;3804 while(true) {3805 token = readToken(context);3806 state = matchToken(state, token, context);3807 if(token.isEof) break;3808 }3809 endRule(context, "GherkinDocument");3810 if(context.errors.length > 0) {3811 throw Errors.CompositeParserException.create(context.errors);3812 }3813 return getResult();3814 };3815 function addError(context, error) {3816 context.errors.push(error);3817 if (context.errors.length > 10)3818 throw Errors.CompositeParserException.create(context.errors);3819 }3820 function startRule(context, ruleType) {3821 handleAstError(context, function () {3822 builder.startRule(ruleType);3823 });3824 }3825 function endRule(context, ruleType) {3826 handleAstError(context, function () {3827 builder.endRule(ruleType);3828 });3829 }3830 function build(context, token) {3831 handleAstError(context, function () {3832 builder.build(token);3833 });3834 }3835 function getResult() {3836 return builder.getResult();3837 }3838 function handleAstError(context, action) {3839 handleExternalError(context, true, action)3840 }3841 function handleExternalError(context, defaultValue, action) {3842 if(self.stopAtFirstError) return action();3843 try {3844 return action();3845 } catch (e) {3846 if(e instanceof Errors.CompositeParserException) {3847 e.errors.forEach(function (error) {3848 addError(context, error);3849 });3850 } else if(3851 e instanceof Errors.ParserException ||3852 e instanceof Errors.AstBuilderException ||3853 e instanceof Errors.UnexpectedTokenException ||3854 e instanceof Errors.NoSuchLanguageException3855 ) {3856 addError(context, e);3857 } else {3858 throw e;3859 }3860 }3861 return defaultValue;3862 }3863 function readToken(context) {3864 return context.tokenQueue.length > 0 ?3865 context.tokenQueue.shift() :3866 context.tokenScanner.read();3867 }3868 function matchToken(state, token, context) {3869 switch(state) {3870 case 0:3871 return matchTokenAt_0(token, context);3872 case 1:3873 return matchTokenAt_1(token, context);3874 case 2:3875 return matchTokenAt_2(token, context);3876 case 3:3877 return matchTokenAt_3(token, context);3878 case 4:3879 return matchTokenAt_4(token, context);3880 case 5:3881 return matchTokenAt_5(token, context);3882 case 6:3883 return matchTokenAt_6(token, context);3884 case 7:3885 return matchTokenAt_7(token, context);3886 case 8:3887 return matchTokenAt_8(token, context);3888 case 9:3889 return matchTokenAt_9(token, context);3890 case 10:3891 return matchTokenAt_10(token, context);3892 case 11:3893 return matchTokenAt_11(token, context);3894 case 12:3895 return matchTokenAt_12(token, context);3896 case 13:3897 return matchTokenAt_13(token, context);3898 case 14:3899 return matchTokenAt_14(token, context);3900 case 15:3901 return matchTokenAt_15(token, context);3902 case 16:3903 return matchTokenAt_16(token, context);3904 case 17:3905 return matchTokenAt_17(token, context);3906 case 18:3907 return matchTokenAt_18(token, context);3908 case 19:3909 return matchTokenAt_19(token, context);3910 case 20:3911 return matchTokenAt_20(token, context);3912 case 21:3913 return matchTokenAt_21(token, context);3914 case 22:3915 return matchTokenAt_22(token, context);3916 case 23:3917 return matchTokenAt_23(token, context);3918 case 24:3919 return matchTokenAt_24(token, context);3920 case 25:3921 return matchTokenAt_25(token, context);3922 case 26:3923 return matchTokenAt_26(token, context);3924 case 28:3925 return matchTokenAt_28(token, context);3926 case 29:3927 return matchTokenAt_29(token, context);3928 case 30:3929 return matchTokenAt_30(token, context);3930 case 31:3931 return matchTokenAt_31(token, context);3932 case 32:3933 return matchTokenAt_32(token, context);3934 case 33:3935 return matchTokenAt_33(token, context);3936 default:3937 throw new Error("Unknown state: " + state);3938 }3939 }3940 // Start3941 function matchTokenAt_0(token, context) {3942 if(match_EOF(context, token)) {3943 build(context, token);3944 return 27;3945 }3946 if(match_Language(context, token)) {3947 startRule(context, 'Feature');3948 startRule(context, 'Feature_Header');3949 build(context, token);3950 return 1;3951 }3952 if(match_TagLine(context, token)) {3953 startRule(context, 'Feature');3954 startRule(context, 'Feature_Header');3955 startRule(context, 'Tags');3956 build(context, token);3957 return 2;3958 }3959 if(match_FeatureLine(context, token)) {3960 startRule(context, 'Feature');3961 startRule(context, 'Feature_Header');3962 build(context, token);3963 return 3;3964 }3965 if(match_Comment(context, token)) {3966 build(context, token);3967 return 0;3968 }3969 if(match_Empty(context, token)) {3970 build(context, token);3971 return 0;3972 }3973 3974 var stateComment = "State: 0 - Start";3975 token.detach();3976 var expectedTokens = ["#EOF", "#Language", "#TagLine", "#FeatureLine", "#Comment", "#Empty"];3977 var error = token.isEof ?3978 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :3979 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);3980 if (self.stopAtFirstError) throw error;3981 addError(context, error);3982 return 0;3983 }3984 // GherkinDocument:0>Feature:0>Feature_Header:0>#Language:03985 function matchTokenAt_1(token, context) {3986 if(match_TagLine(context, token)) {3987 startRule(context, 'Tags');3988 build(context, token);3989 return 2;3990 }3991 if(match_FeatureLine(context, token)) {3992 build(context, token);3993 return 3;3994 }3995 if(match_Comment(context, token)) {3996 build(context, token);3997 return 1;3998 }3999 if(match_Empty(context, token)) {4000 build(context, token);4001 return 1;4002 }4003 4004 var stateComment = "State: 1 - GherkinDocument:0>Feature:0>Feature_Header:0>#Language:0";4005 token.detach();4006 var expectedTokens = ["#TagLine", "#FeatureLine", "#Comment", "#Empty"];4007 var error = token.isEof ?4008 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4009 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4010 if (self.stopAtFirstError) throw error;4011 addError(context, error);4012 return 1;4013 }4014 // GherkinDocument:0>Feature:0>Feature_Header:1>Tags:0>#TagLine:04015 function matchTokenAt_2(token, context) {4016 if(match_TagLine(context, token)) {4017 build(context, token);4018 return 2;4019 }4020 if(match_FeatureLine(context, token)) {4021 endRule(context, 'Tags');4022 build(context, token);4023 return 3;4024 }4025 if(match_Comment(context, token)) {4026 build(context, token);4027 return 2;4028 }4029 if(match_Empty(context, token)) {4030 build(context, token);4031 return 2;4032 }4033 4034 var stateComment = "State: 2 - GherkinDocument:0>Feature:0>Feature_Header:1>Tags:0>#TagLine:0";4035 token.detach();4036 var expectedTokens = ["#TagLine", "#FeatureLine", "#Comment", "#Empty"];4037 var error = token.isEof ?4038 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4039 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4040 if (self.stopAtFirstError) throw error;4041 addError(context, error);4042 return 2;4043 }4044 // GherkinDocument:0>Feature:0>Feature_Header:2>#FeatureLine:04045 function matchTokenAt_3(token, context) {4046 if(match_EOF(context, token)) {4047 endRule(context, 'Feature_Header');4048 endRule(context, 'Feature');4049 build(context, token);4050 return 27;4051 }4052 if(match_Empty(context, token)) {4053 build(context, token);4054 return 3;4055 }4056 if(match_Comment(context, token)) {4057 build(context, token);4058 return 5;4059 }4060 if(match_BackgroundLine(context, token)) {4061 endRule(context, 'Feature_Header');4062 startRule(context, 'Background');4063 build(context, token);4064 return 6;4065 }4066 if(match_TagLine(context, token)) {4067 endRule(context, 'Feature_Header');4068 startRule(context, 'Scenario_Definition');4069 startRule(context, 'Tags');4070 build(context, token);4071 return 11;4072 }4073 if(match_ScenarioLine(context, token)) {4074 endRule(context, 'Feature_Header');4075 startRule(context, 'Scenario_Definition');4076 startRule(context, 'Scenario');4077 build(context, token);4078 return 12;4079 }4080 if(match_ScenarioOutlineLine(context, token)) {4081 endRule(context, 'Feature_Header');4082 startRule(context, 'Scenario_Definition');4083 startRule(context, 'ScenarioOutline');4084 build(context, token);4085 return 17;4086 }4087 if(match_Other(context, token)) {4088 startRule(context, 'Description');4089 build(context, token);4090 return 4;4091 }4092 4093 var stateComment = "State: 3 - GherkinDocument:0>Feature:0>Feature_Header:2>#FeatureLine:0";4094 token.detach();4095 var expectedTokens = ["#EOF", "#Empty", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];4096 var error = token.isEof ?4097 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4098 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4099 if (self.stopAtFirstError) throw error;4100 addError(context, error);4101 return 3;4102 }4103 // GherkinDocument:0>Feature:0>Feature_Header:3>Description_Helper:1>Description:0>#Other:04104 function matchTokenAt_4(token, context) {4105 if(match_EOF(context, token)) {4106 endRule(context, 'Description');4107 endRule(context, 'Feature_Header');4108 endRule(context, 'Feature');4109 build(context, token);4110 return 27;4111 }4112 if(match_Comment(context, token)) {4113 endRule(context, 'Description');4114 build(context, token);4115 return 5;4116 }4117 if(match_BackgroundLine(context, token)) {4118 endRule(context, 'Description');4119 endRule(context, 'Feature_Header');4120 startRule(context, 'Background');4121 build(context, token);4122 return 6;4123 }4124 if(match_TagLine(context, token)) {4125 endRule(context, 'Description');4126 endRule(context, 'Feature_Header');4127 startRule(context, 'Scenario_Definition');4128 startRule(context, 'Tags');4129 build(context, token);4130 return 11;4131 }4132 if(match_ScenarioLine(context, token)) {4133 endRule(context, 'Description');4134 endRule(context, 'Feature_Header');4135 startRule(context, 'Scenario_Definition');4136 startRule(context, 'Scenario');4137 build(context, token);4138 return 12;4139 }4140 if(match_ScenarioOutlineLine(context, token)) {4141 endRule(context, 'Description');4142 endRule(context, 'Feature_Header');4143 startRule(context, 'Scenario_Definition');4144 startRule(context, 'ScenarioOutline');4145 build(context, token);4146 return 17;4147 }4148 if(match_Other(context, token)) {4149 build(context, token);4150 return 4;4151 }4152 4153 var stateComment = "State: 4 - GherkinDocument:0>Feature:0>Feature_Header:3>Description_Helper:1>Description:0>#Other:0";4154 token.detach();4155 var expectedTokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];4156 var error = token.isEof ?4157 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4158 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4159 if (self.stopAtFirstError) throw error;4160 addError(context, error);4161 return 4;4162 }4163 // GherkinDocument:0>Feature:0>Feature_Header:3>Description_Helper:2>#Comment:04164 function matchTokenAt_5(token, context) {4165 if(match_EOF(context, token)) {4166 endRule(context, 'Feature_Header');4167 endRule(context, 'Feature');4168 build(context, token);4169 return 27;4170 }4171 if(match_Comment(context, token)) {4172 build(context, token);4173 return 5;4174 }4175 if(match_BackgroundLine(context, token)) {4176 endRule(context, 'Feature_Header');4177 startRule(context, 'Background');4178 build(context, token);4179 return 6;4180 }4181 if(match_TagLine(context, token)) {4182 endRule(context, 'Feature_Header');4183 startRule(context, 'Scenario_Definition');4184 startRule(context, 'Tags');4185 build(context, token);4186 return 11;4187 }4188 if(match_ScenarioLine(context, token)) {4189 endRule(context, 'Feature_Header');4190 startRule(context, 'Scenario_Definition');4191 startRule(context, 'Scenario');4192 build(context, token);4193 return 12;4194 }4195 if(match_ScenarioOutlineLine(context, token)) {4196 endRule(context, 'Feature_Header');4197 startRule(context, 'Scenario_Definition');4198 startRule(context, 'ScenarioOutline');4199 build(context, token);4200 return 17;4201 }4202 if(match_Empty(context, token)) {4203 build(context, token);4204 return 5;4205 }4206 4207 var stateComment = "State: 5 - GherkinDocument:0>Feature:0>Feature_Header:3>Description_Helper:2>#Comment:0";4208 token.detach();4209 var expectedTokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"];4210 var error = token.isEof ?4211 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4212 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4213 if (self.stopAtFirstError) throw error;4214 addError(context, error);4215 return 5;4216 }4217 // GherkinDocument:0>Feature:1>Background:0>#BackgroundLine:04218 function matchTokenAt_6(token, context) {4219 if(match_EOF(context, token)) {4220 endRule(context, 'Background');4221 endRule(context, 'Feature');4222 build(context, token);4223 return 27;4224 }4225 if(match_Empty(context, token)) {4226 build(context, token);4227 return 6;4228 }4229 if(match_Comment(context, token)) {4230 build(context, token);4231 return 8;4232 }4233 if(match_StepLine(context, token)) {4234 startRule(context, 'Step');4235 build(context, token);4236 return 9;4237 }4238 if(match_TagLine(context, token)) {4239 endRule(context, 'Background');4240 startRule(context, 'Scenario_Definition');4241 startRule(context, 'Tags');4242 build(context, token);4243 return 11;4244 }4245 if(match_ScenarioLine(context, token)) {4246 endRule(context, 'Background');4247 startRule(context, 'Scenario_Definition');4248 startRule(context, 'Scenario');4249 build(context, token);4250 return 12;4251 }4252 if(match_ScenarioOutlineLine(context, token)) {4253 endRule(context, 'Background');4254 startRule(context, 'Scenario_Definition');4255 startRule(context, 'ScenarioOutline');4256 build(context, token);4257 return 17;4258 }4259 if(match_Other(context, token)) {4260 startRule(context, 'Description');4261 build(context, token);4262 return 7;4263 }4264 4265 var stateComment = "State: 6 - GherkinDocument:0>Feature:1>Background:0>#BackgroundLine:0";4266 token.detach();4267 var expectedTokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];4268 var error = token.isEof ?4269 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4270 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4271 if (self.stopAtFirstError) throw error;4272 addError(context, error);4273 return 6;4274 }4275 // GherkinDocument:0>Feature:1>Background:1>Description_Helper:1>Description:0>#Other:04276 function matchTokenAt_7(token, context) {4277 if(match_EOF(context, token)) {4278 endRule(context, 'Description');4279 endRule(context, 'Background');4280 endRule(context, 'Feature');4281 build(context, token);4282 return 27;4283 }4284 if(match_Comment(context, token)) {4285 endRule(context, 'Description');4286 build(context, token);4287 return 8;4288 }4289 if(match_StepLine(context, token)) {4290 endRule(context, 'Description');4291 startRule(context, 'Step');4292 build(context, token);4293 return 9;4294 }4295 if(match_TagLine(context, token)) {4296 endRule(context, 'Description');4297 endRule(context, 'Background');4298 startRule(context, 'Scenario_Definition');4299 startRule(context, 'Tags');4300 build(context, token);4301 return 11;4302 }4303 if(match_ScenarioLine(context, token)) {4304 endRule(context, 'Description');4305 endRule(context, 'Background');4306 startRule(context, 'Scenario_Definition');4307 startRule(context, 'Scenario');4308 build(context, token);4309 return 12;4310 }4311 if(match_ScenarioOutlineLine(context, token)) {4312 endRule(context, 'Description');4313 endRule(context, 'Background');4314 startRule(context, 'Scenario_Definition');4315 startRule(context, 'ScenarioOutline');4316 build(context, token);4317 return 17;4318 }4319 if(match_Other(context, token)) {4320 build(context, token);4321 return 7;4322 }4323 4324 var stateComment = "State: 7 - GherkinDocument:0>Feature:1>Background:1>Description_Helper:1>Description:0>#Other:0";4325 token.detach();4326 var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];4327 var error = token.isEof ?4328 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4329 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4330 if (self.stopAtFirstError) throw error;4331 addError(context, error);4332 return 7;4333 }4334 // GherkinDocument:0>Feature:1>Background:1>Description_Helper:2>#Comment:04335 function matchTokenAt_8(token, context) {4336 if(match_EOF(context, token)) {4337 endRule(context, 'Background');4338 endRule(context, 'Feature');4339 build(context, token);4340 return 27;4341 }4342 if(match_Comment(context, token)) {4343 build(context, token);4344 return 8;4345 }4346 if(match_StepLine(context, token)) {4347 startRule(context, 'Step');4348 build(context, token);4349 return 9;4350 }4351 if(match_TagLine(context, token)) {4352 endRule(context, 'Background');4353 startRule(context, 'Scenario_Definition');4354 startRule(context, 'Tags');4355 build(context, token);4356 return 11;4357 }4358 if(match_ScenarioLine(context, token)) {4359 endRule(context, 'Background');4360 startRule(context, 'Scenario_Definition');4361 startRule(context, 'Scenario');4362 build(context, token);4363 return 12;4364 }4365 if(match_ScenarioOutlineLine(context, token)) {4366 endRule(context, 'Background');4367 startRule(context, 'Scenario_Definition');4368 startRule(context, 'ScenarioOutline');4369 build(context, token);4370 return 17;4371 }4372 if(match_Empty(context, token)) {4373 build(context, token);4374 return 8;4375 }4376 4377 var stateComment = "State: 8 - GherkinDocument:0>Feature:1>Background:1>Description_Helper:2>#Comment:0";4378 token.detach();4379 var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"];4380 var error = token.isEof ?4381 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4382 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4383 if (self.stopAtFirstError) throw error;4384 addError(context, error);4385 return 8;4386 }4387 // GherkinDocument:0>Feature:1>Background:2>Step:0>#StepLine:04388 function matchTokenAt_9(token, context) {4389 if(match_EOF(context, token)) {4390 endRule(context, 'Step');4391 endRule(context, 'Background');4392 endRule(context, 'Feature');4393 build(context, token);4394 return 27;4395 }4396 if(match_TableRow(context, token)) {4397 startRule(context, 'DataTable');4398 build(context, token);4399 return 10;4400 }4401 if(match_DocStringSeparator(context, token)) {4402 startRule(context, 'DocString');4403 build(context, token);4404 return 32;4405 }4406 if(match_StepLine(context, token)) {4407 endRule(context, 'Step');4408 startRule(context, 'Step');4409 build(context, token);4410 return 9;4411 }4412 if(match_TagLine(context, token)) {4413 endRule(context, 'Step');4414 endRule(context, 'Background');4415 startRule(context, 'Scenario_Definition');4416 startRule(context, 'Tags');4417 build(context, token);4418 return 11;4419 }4420 if(match_ScenarioLine(context, token)) {4421 endRule(context, 'Step');4422 endRule(context, 'Background');4423 startRule(context, 'Scenario_Definition');4424 startRule(context, 'Scenario');4425 build(context, token);4426 return 12;4427 }4428 if(match_ScenarioOutlineLine(context, token)) {4429 endRule(context, 'Step');4430 endRule(context, 'Background');4431 startRule(context, 'Scenario_Definition');4432 startRule(context, 'ScenarioOutline');4433 build(context, token);4434 return 17;4435 }4436 if(match_Comment(context, token)) {4437 build(context, token);4438 return 9;4439 }4440 if(match_Empty(context, token)) {4441 build(context, token);4442 return 9;4443 }4444 4445 var stateComment = "State: 9 - GherkinDocument:0>Feature:1>Background:2>Step:0>#StepLine:0";4446 token.detach();4447 var expectedTokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];4448 var error = token.isEof ?4449 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4450 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4451 if (self.stopAtFirstError) throw error;4452 addError(context, error);4453 return 9;4454 }4455 // GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:04456 function matchTokenAt_10(token, context) {4457 if(match_EOF(context, token)) {4458 endRule(context, 'DataTable');4459 endRule(context, 'Step');4460 endRule(context, 'Background');4461 endRule(context, 'Feature');4462 build(context, token);4463 return 27;4464 }4465 if(match_TableRow(context, token)) {4466 build(context, token);4467 return 10;4468 }4469 if(match_StepLine(context, token)) {4470 endRule(context, 'DataTable');4471 endRule(context, 'Step');4472 startRule(context, 'Step');4473 build(context, token);4474 return 9;4475 }4476 if(match_TagLine(context, token)) {4477 endRule(context, 'DataTable');4478 endRule(context, 'Step');4479 endRule(context, 'Background');4480 startRule(context, 'Scenario_Definition');4481 startRule(context, 'Tags');4482 build(context, token);4483 return 11;4484 }4485 if(match_ScenarioLine(context, token)) {4486 endRule(context, 'DataTable');4487 endRule(context, 'Step');4488 endRule(context, 'Background');4489 startRule(context, 'Scenario_Definition');4490 startRule(context, 'Scenario');4491 build(context, token);4492 return 12;4493 }4494 if(match_ScenarioOutlineLine(context, token)) {4495 endRule(context, 'DataTable');4496 endRule(context, 'Step');4497 endRule(context, 'Background');4498 startRule(context, 'Scenario_Definition');4499 startRule(context, 'ScenarioOutline');4500 build(context, token);4501 return 17;4502 }4503 if(match_Comment(context, token)) {4504 build(context, token);4505 return 10;4506 }4507 if(match_Empty(context, token)) {4508 build(context, token);4509 return 10;4510 }4511 4512 var stateComment = "State: 10 - GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:0";4513 token.detach();4514 var expectedTokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];4515 var error = token.isEof ?4516 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4517 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4518 if (self.stopAtFirstError) throw error;4519 addError(context, error);4520 return 10;4521 }4522 // GherkinDocument:0>Feature:2>Scenario_Definition:0>Tags:0>#TagLine:04523 function matchTokenAt_11(token, context) {4524 if(match_TagLine(context, token)) {4525 build(context, token);4526 return 11;4527 }4528 if(match_ScenarioLine(context, token)) {4529 endRule(context, 'Tags');4530 startRule(context, 'Scenario');4531 build(context, token);4532 return 12;4533 }4534 if(match_ScenarioOutlineLine(context, token)) {4535 endRule(context, 'Tags');4536 startRule(context, 'ScenarioOutline');4537 build(context, token);4538 return 17;4539 }4540 if(match_Comment(context, token)) {4541 build(context, token);4542 return 11;4543 }4544 if(match_Empty(context, token)) {4545 build(context, token);4546 return 11;4547 }4548 4549 var stateComment = "State: 11 - GherkinDocument:0>Feature:2>Scenario_Definition:0>Tags:0>#TagLine:0";4550 token.detach();4551 var expectedTokens = ["#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];4552 var error = token.isEof ?4553 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4554 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4555 if (self.stopAtFirstError) throw error;4556 addError(context, error);4557 return 11;4558 }4559 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:0>#ScenarioLine:04560 function matchTokenAt_12(token, context) {4561 if(match_EOF(context, token)) {4562 endRule(context, 'Scenario');4563 endRule(context, 'Scenario_Definition');4564 endRule(context, 'Feature');4565 build(context, token);4566 return 27;4567 }4568 if(match_Empty(context, token)) {4569 build(context, token);4570 return 12;4571 }4572 if(match_Comment(context, token)) {4573 build(context, token);4574 return 14;4575 }4576 if(match_StepLine(context, token)) {4577 startRule(context, 'Step');4578 build(context, token);4579 return 15;4580 }4581 if(match_TagLine(context, token)) {4582 endRule(context, 'Scenario');4583 endRule(context, 'Scenario_Definition');4584 startRule(context, 'Scenario_Definition');4585 startRule(context, 'Tags');4586 build(context, token);4587 return 11;4588 }4589 if(match_ScenarioLine(context, token)) {4590 endRule(context, 'Scenario');4591 endRule(context, 'Scenario_Definition');4592 startRule(context, 'Scenario_Definition');4593 startRule(context, 'Scenario');4594 build(context, token);4595 return 12;4596 }4597 if(match_ScenarioOutlineLine(context, token)) {4598 endRule(context, 'Scenario');4599 endRule(context, 'Scenario_Definition');4600 startRule(context, 'Scenario_Definition');4601 startRule(context, 'ScenarioOutline');4602 build(context, token);4603 return 17;4604 }4605 if(match_Other(context, token)) {4606 startRule(context, 'Description');4607 build(context, token);4608 return 13;4609 }4610 4611 var stateComment = "State: 12 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:0>#ScenarioLine:0";4612 token.detach();4613 var expectedTokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];4614 var error = token.isEof ?4615 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4616 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4617 if (self.stopAtFirstError) throw error;4618 addError(context, error);4619 return 12;4620 }4621 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:1>Description_Helper:1>Description:0>#Other:04622 function matchTokenAt_13(token, context) {4623 if(match_EOF(context, token)) {4624 endRule(context, 'Description');4625 endRule(context, 'Scenario');4626 endRule(context, 'Scenario_Definition');4627 endRule(context, 'Feature');4628 build(context, token);4629 return 27;4630 }4631 if(match_Comment(context, token)) {4632 endRule(context, 'Description');4633 build(context, token);4634 return 14;4635 }4636 if(match_StepLine(context, token)) {4637 endRule(context, 'Description');4638 startRule(context, 'Step');4639 build(context, token);4640 return 15;4641 }4642 if(match_TagLine(context, token)) {4643 endRule(context, 'Description');4644 endRule(context, 'Scenario');4645 endRule(context, 'Scenario_Definition');4646 startRule(context, 'Scenario_Definition');4647 startRule(context, 'Tags');4648 build(context, token);4649 return 11;4650 }4651 if(match_ScenarioLine(context, token)) {4652 endRule(context, 'Description');4653 endRule(context, 'Scenario');4654 endRule(context, 'Scenario_Definition');4655 startRule(context, 'Scenario_Definition');4656 startRule(context, 'Scenario');4657 build(context, token);4658 return 12;4659 }4660 if(match_ScenarioOutlineLine(context, token)) {4661 endRule(context, 'Description');4662 endRule(context, 'Scenario');4663 endRule(context, 'Scenario_Definition');4664 startRule(context, 'Scenario_Definition');4665 startRule(context, 'ScenarioOutline');4666 build(context, token);4667 return 17;4668 }4669 if(match_Other(context, token)) {4670 build(context, token);4671 return 13;4672 }4673 4674 var stateComment = "State: 13 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:1>Description_Helper:1>Description:0>#Other:0";4675 token.detach();4676 var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];4677 var error = token.isEof ?4678 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4679 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4680 if (self.stopAtFirstError) throw error;4681 addError(context, error);4682 return 13;4683 }4684 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:1>Description_Helper:2>#Comment:04685 function matchTokenAt_14(token, context) {4686 if(match_EOF(context, token)) {4687 endRule(context, 'Scenario');4688 endRule(context, 'Scenario_Definition');4689 endRule(context, 'Feature');4690 build(context, token);4691 return 27;4692 }4693 if(match_Comment(context, token)) {4694 build(context, token);4695 return 14;4696 }4697 if(match_StepLine(context, token)) {4698 startRule(context, 'Step');4699 build(context, token);4700 return 15;4701 }4702 if(match_TagLine(context, token)) {4703 endRule(context, 'Scenario');4704 endRule(context, 'Scenario_Definition');4705 startRule(context, 'Scenario_Definition');4706 startRule(context, 'Tags');4707 build(context, token);4708 return 11;4709 }4710 if(match_ScenarioLine(context, token)) {4711 endRule(context, 'Scenario');4712 endRule(context, 'Scenario_Definition');4713 startRule(context, 'Scenario_Definition');4714 startRule(context, 'Scenario');4715 build(context, token);4716 return 12;4717 }4718 if(match_ScenarioOutlineLine(context, token)) {4719 endRule(context, 'Scenario');4720 endRule(context, 'Scenario_Definition');4721 startRule(context, 'Scenario_Definition');4722 startRule(context, 'ScenarioOutline');4723 build(context, token);4724 return 17;4725 }4726 if(match_Empty(context, token)) {4727 build(context, token);4728 return 14;4729 }4730 4731 var stateComment = "State: 14 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:1>Description_Helper:2>#Comment:0";4732 token.detach();4733 var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"];4734 var error = token.isEof ?4735 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4736 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4737 if (self.stopAtFirstError) throw error;4738 addError(context, error);4739 return 14;4740 }4741 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:0>#StepLine:04742 function matchTokenAt_15(token, context) {4743 if(match_EOF(context, token)) {4744 endRule(context, 'Step');4745 endRule(context, 'Scenario');4746 endRule(context, 'Scenario_Definition');4747 endRule(context, 'Feature');4748 build(context, token);4749 return 27;4750 }4751 if(match_TableRow(context, token)) {4752 startRule(context, 'DataTable');4753 build(context, token);4754 return 16;4755 }4756 if(match_DocStringSeparator(context, token)) {4757 startRule(context, 'DocString');4758 build(context, token);4759 return 30;4760 }4761 if(match_StepLine(context, token)) {4762 endRule(context, 'Step');4763 startRule(context, 'Step');4764 build(context, token);4765 return 15;4766 }4767 if(match_TagLine(context, token)) {4768 endRule(context, 'Step');4769 endRule(context, 'Scenario');4770 endRule(context, 'Scenario_Definition');4771 startRule(context, 'Scenario_Definition');4772 startRule(context, 'Tags');4773 build(context, token);4774 return 11;4775 }4776 if(match_ScenarioLine(context, token)) {4777 endRule(context, 'Step');4778 endRule(context, 'Scenario');4779 endRule(context, 'Scenario_Definition');4780 startRule(context, 'Scenario_Definition');4781 startRule(context, 'Scenario');4782 build(context, token);4783 return 12;4784 }4785 if(match_ScenarioOutlineLine(context, token)) {4786 endRule(context, 'Step');4787 endRule(context, 'Scenario');4788 endRule(context, 'Scenario_Definition');4789 startRule(context, 'Scenario_Definition');4790 startRule(context, 'ScenarioOutline');4791 build(context, token);4792 return 17;4793 }4794 if(match_Comment(context, token)) {4795 build(context, token);4796 return 15;4797 }4798 if(match_Empty(context, token)) {4799 build(context, token);4800 return 15;4801 }4802 4803 var stateComment = "State: 15 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:0>#StepLine:0";4804 token.detach();4805 var expectedTokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];4806 var error = token.isEof ?4807 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4808 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4809 if (self.stopAtFirstError) throw error;4810 addError(context, error);4811 return 15;4812 }4813 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:04814 function matchTokenAt_16(token, context) {4815 if(match_EOF(context, token)) {4816 endRule(context, 'DataTable');4817 endRule(context, 'Step');4818 endRule(context, 'Scenario');4819 endRule(context, 'Scenario_Definition');4820 endRule(context, 'Feature');4821 build(context, token);4822 return 27;4823 }4824 if(match_TableRow(context, token)) {4825 build(context, token);4826 return 16;4827 }4828 if(match_StepLine(context, token)) {4829 endRule(context, 'DataTable');4830 endRule(context, 'Step');4831 startRule(context, 'Step');4832 build(context, token);4833 return 15;4834 }4835 if(match_TagLine(context, token)) {4836 endRule(context, 'DataTable');4837 endRule(context, 'Step');4838 endRule(context, 'Scenario');4839 endRule(context, 'Scenario_Definition');4840 startRule(context, 'Scenario_Definition');4841 startRule(context, 'Tags');4842 build(context, token);4843 return 11;4844 }4845 if(match_ScenarioLine(context, token)) {4846 endRule(context, 'DataTable');4847 endRule(context, 'Step');4848 endRule(context, 'Scenario');4849 endRule(context, 'Scenario_Definition');4850 startRule(context, 'Scenario_Definition');4851 startRule(context, 'Scenario');4852 build(context, token);4853 return 12;4854 }4855 if(match_ScenarioOutlineLine(context, token)) {4856 endRule(context, 'DataTable');4857 endRule(context, 'Step');4858 endRule(context, 'Scenario');4859 endRule(context, 'Scenario_Definition');4860 startRule(context, 'Scenario_Definition');4861 startRule(context, 'ScenarioOutline');4862 build(context, token);4863 return 17;4864 }4865 if(match_Comment(context, token)) {4866 build(context, token);4867 return 16;4868 }4869 if(match_Empty(context, token)) {4870 build(context, token);4871 return 16;4872 }4873 4874 var stateComment = "State: 16 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:0";4875 token.detach();4876 var expectedTokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];4877 var error = token.isEof ?4878 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4879 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4880 if (self.stopAtFirstError) throw error;4881 addError(context, error);4882 return 16;4883 }4884 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:0>#ScenarioOutlineLine:04885 function matchTokenAt_17(token, context) {4886 if(match_EOF(context, token)) {4887 endRule(context, 'ScenarioOutline');4888 endRule(context, 'Scenario_Definition');4889 endRule(context, 'Feature');4890 build(context, token);4891 return 27;4892 }4893 if(match_Empty(context, token)) {4894 build(context, token);4895 return 17;4896 }4897 if(match_Comment(context, token)) {4898 build(context, token);4899 return 19;4900 }4901 if(match_StepLine(context, token)) {4902 startRule(context, 'Step');4903 build(context, token);4904 return 20;4905 }4906 if(match_TagLine(context, token)) {4907 if(lookahead_0(context, token)) {4908 startRule(context, 'Examples_Definition');4909 startRule(context, 'Tags');4910 build(context, token);4911 return 22;4912 }4913 }4914 if(match_TagLine(context, token)) {4915 endRule(context, 'ScenarioOutline');4916 endRule(context, 'Scenario_Definition');4917 startRule(context, 'Scenario_Definition');4918 startRule(context, 'Tags');4919 build(context, token);4920 return 11;4921 }4922 if(match_ExamplesLine(context, token)) {4923 startRule(context, 'Examples_Definition');4924 startRule(context, 'Examples');4925 build(context, token);4926 return 23;4927 }4928 if(match_ScenarioLine(context, token)) {4929 endRule(context, 'ScenarioOutline');4930 endRule(context, 'Scenario_Definition');4931 startRule(context, 'Scenario_Definition');4932 startRule(context, 'Scenario');4933 build(context, token);4934 return 12;4935 }4936 if(match_ScenarioOutlineLine(context, token)) {4937 endRule(context, 'ScenarioOutline');4938 endRule(context, 'Scenario_Definition');4939 startRule(context, 'Scenario_Definition');4940 startRule(context, 'ScenarioOutline');4941 build(context, token);4942 return 17;4943 }4944 if(match_Other(context, token)) {4945 startRule(context, 'Description');4946 build(context, token);4947 return 18;4948 }4949 4950 var stateComment = "State: 17 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:0>#ScenarioOutlineLine:0";4951 token.detach();4952 var expectedTokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];4953 var error = token.isEof ?4954 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4955 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4956 if (self.stopAtFirstError) throw error;4957 addError(context, error);4958 return 17;4959 }4960 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:1>Description_Helper:1>Description:0>#Other:04961 function matchTokenAt_18(token, context) {4962 if(match_EOF(context, token)) {4963 endRule(context, 'Description');4964 endRule(context, 'ScenarioOutline');4965 endRule(context, 'Scenario_Definition');4966 endRule(context, 'Feature');4967 build(context, token);4968 return 27;4969 }4970 if(match_Comment(context, token)) {4971 endRule(context, 'Description');4972 build(context, token);4973 return 19;4974 }4975 if(match_StepLine(context, token)) {4976 endRule(context, 'Description');4977 startRule(context, 'Step');4978 build(context, token);4979 return 20;4980 }4981 if(match_TagLine(context, token)) {4982 if(lookahead_0(context, token)) {4983 endRule(context, 'Description');4984 startRule(context, 'Examples_Definition');4985 startRule(context, 'Tags');4986 build(context, token);4987 return 22;4988 }4989 }4990 if(match_TagLine(context, token)) {4991 endRule(context, 'Description');4992 endRule(context, 'ScenarioOutline');4993 endRule(context, 'Scenario_Definition');4994 startRule(context, 'Scenario_Definition');4995 startRule(context, 'Tags');4996 build(context, token);4997 return 11;4998 }4999 if(match_ExamplesLine(context, token)) {5000 endRule(context, 'Description');5001 startRule(context, 'Examples_Definition');5002 startRule(context, 'Examples');5003 build(context, token);5004 return 23;5005 }5006 if(match_ScenarioLine(context, token)) {5007 endRule(context, 'Description');5008 endRule(context, 'ScenarioOutline');5009 endRule(context, 'Scenario_Definition');5010 startRule(context, 'Scenario_Definition');5011 startRule(context, 'Scenario');5012 build(context, token);5013 return 12;5014 }5015 if(match_ScenarioOutlineLine(context, token)) {5016 endRule(context, 'Description');5017 endRule(context, 'ScenarioOutline');5018 endRule(context, 'Scenario_Definition');5019 startRule(context, 'Scenario_Definition');5020 startRule(context, 'ScenarioOutline');5021 build(context, token);5022 return 17;5023 }5024 if(match_Other(context, token)) {5025 build(context, token);5026 return 18;5027 }5028 5029 var stateComment = "State: 18 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:1>Description_Helper:1>Description:0>#Other:0";5030 token.detach();5031 var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];5032 var error = token.isEof ?5033 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5034 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5035 if (self.stopAtFirstError) throw error;5036 addError(context, error);5037 return 18;5038 }5039 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:1>Description_Helper:2>#Comment:05040 function matchTokenAt_19(token, context) {5041 if(match_EOF(context, token)) {5042 endRule(context, 'ScenarioOutline');5043 endRule(context, 'Scenario_Definition');5044 endRule(context, 'Feature');5045 build(context, token);5046 return 27;5047 }5048 if(match_Comment(context, token)) {5049 build(context, token);5050 return 19;5051 }5052 if(match_StepLine(context, token)) {5053 startRule(context, 'Step');5054 build(context, token);5055 return 20;5056 }5057 if(match_TagLine(context, token)) {5058 if(lookahead_0(context, token)) {5059 startRule(context, 'Examples_Definition');5060 startRule(context, 'Tags');5061 build(context, token);5062 return 22;5063 }5064 }5065 if(match_TagLine(context, token)) {5066 endRule(context, 'ScenarioOutline');5067 endRule(context, 'Scenario_Definition');5068 startRule(context, 'Scenario_Definition');5069 startRule(context, 'Tags');5070 build(context, token);5071 return 11;5072 }5073 if(match_ExamplesLine(context, token)) {5074 startRule(context, 'Examples_Definition');5075 startRule(context, 'Examples');5076 build(context, token);5077 return 23;5078 }5079 if(match_ScenarioLine(context, token)) {5080 endRule(context, 'ScenarioOutline');5081 endRule(context, 'Scenario_Definition');5082 startRule(context, 'Scenario_Definition');5083 startRule(context, 'Scenario');5084 build(context, token);5085 return 12;5086 }5087 if(match_ScenarioOutlineLine(context, token)) {5088 endRule(context, 'ScenarioOutline');5089 endRule(context, 'Scenario_Definition');5090 startRule(context, 'Scenario_Definition');5091 startRule(context, 'ScenarioOutline');5092 build(context, token);5093 return 17;5094 }5095 if(match_Empty(context, token)) {5096 build(context, token);5097 return 19;5098 }5099 5100 var stateComment = "State: 19 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:1>Description_Helper:2>#Comment:0";5101 token.detach();5102 var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"];5103 var error = token.isEof ?5104 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5105 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5106 if (self.stopAtFirstError) throw error;5107 addError(context, error);5108 return 19;5109 }5110 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:0>#StepLine:05111 function matchTokenAt_20(token, context) {5112 if(match_EOF(context, token)) {5113 endRule(context, 'Step');5114 endRule(context, 'ScenarioOutline');5115 endRule(context, 'Scenario_Definition');5116 endRule(context, 'Feature');5117 build(context, token);5118 return 27;5119 }5120 if(match_TableRow(context, token)) {5121 startRule(context, 'DataTable');5122 build(context, token);5123 return 21;5124 }5125 if(match_DocStringSeparator(context, token)) {5126 startRule(context, 'DocString');5127 build(context, token);5128 return 28;5129 }5130 if(match_StepLine(context, token)) {5131 endRule(context, 'Step');5132 startRule(context, 'Step');5133 build(context, token);5134 return 20;5135 }5136 if(match_TagLine(context, token)) {5137 if(lookahead_0(context, token)) {5138 endRule(context, 'Step');5139 startRule(context, 'Examples_Definition');5140 startRule(context, 'Tags');5141 build(context, token);5142 return 22;5143 }5144 }5145 if(match_TagLine(context, token)) {5146 endRule(context, 'Step');5147 endRule(context, 'ScenarioOutline');5148 endRule(context, 'Scenario_Definition');5149 startRule(context, 'Scenario_Definition');5150 startRule(context, 'Tags');5151 build(context, token);5152 return 11;5153 }5154 if(match_ExamplesLine(context, token)) {5155 endRule(context, 'Step');5156 startRule(context, 'Examples_Definition');5157 startRule(context, 'Examples');5158 build(context, token);5159 return 23;5160 }5161 if(match_ScenarioLine(context, token)) {5162 endRule(context, 'Step');5163 endRule(context, 'ScenarioOutline');5164 endRule(context, 'Scenario_Definition');5165 startRule(context, 'Scenario_Definition');5166 startRule(context, 'Scenario');5167 build(context, token);5168 return 12;5169 }5170 if(match_ScenarioOutlineLine(context, token)) {5171 endRule(context, 'Step');5172 endRule(context, 'ScenarioOutline');5173 endRule(context, 'Scenario_Definition');5174 startRule(context, 'Scenario_Definition');5175 startRule(context, 'ScenarioOutline');5176 build(context, token);5177 return 17;5178 }5179 if(match_Comment(context, token)) {5180 build(context, token);5181 return 20;5182 }5183 if(match_Empty(context, token)) {5184 build(context, token);5185 return 20;5186 }5187 5188 var stateComment = "State: 20 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:0>#StepLine:0";5189 token.detach();5190 var expectedTokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];5191 var error = token.isEof ?5192 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5193 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5194 if (self.stopAtFirstError) throw error;5195 addError(context, error);5196 return 20;5197 }5198 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:05199 function matchTokenAt_21(token, context) {5200 if(match_EOF(context, token)) {5201 endRule(context, 'DataTable');5202 endRule(context, 'Step');5203 endRule(context, 'ScenarioOutline');5204 endRule(context, 'Scenario_Definition');5205 endRule(context, 'Feature');5206 build(context, token);5207 return 27;5208 }5209 if(match_TableRow(context, token)) {5210 build(context, token);5211 return 21;5212 }5213 if(match_StepLine(context, token)) {5214 endRule(context, 'DataTable');5215 endRule(context, 'Step');5216 startRule(context, 'Step');5217 build(context, token);5218 return 20;5219 }5220 if(match_TagLine(context, token)) {5221 if(lookahead_0(context, token)) {5222 endRule(context, 'DataTable');5223 endRule(context, 'Step');5224 startRule(context, 'Examples_Definition');5225 startRule(context, 'Tags');5226 build(context, token);5227 return 22;5228 }5229 }5230 if(match_TagLine(context, token)) {5231 endRule(context, 'DataTable');5232 endRule(context, 'Step');5233 endRule(context, 'ScenarioOutline');5234 endRule(context, 'Scenario_Definition');5235 startRule(context, 'Scenario_Definition');5236 startRule(context, 'Tags');5237 build(context, token);5238 return 11;5239 }5240 if(match_ExamplesLine(context, token)) {5241 endRule(context, 'DataTable');5242 endRule(context, 'Step');5243 startRule(context, 'Examples_Definition');5244 startRule(context, 'Examples');5245 build(context, token);5246 return 23;5247 }5248 if(match_ScenarioLine(context, token)) {5249 endRule(context, 'DataTable');5250 endRule(context, 'Step');5251 endRule(context, 'ScenarioOutline');5252 endRule(context, 'Scenario_Definition');5253 startRule(context, 'Scenario_Definition');5254 startRule(context, 'Scenario');5255 build(context, token);5256 return 12;5257 }5258 if(match_ScenarioOutlineLine(context, token)) {5259 endRule(context, 'DataTable');5260 endRule(context, 'Step');5261 endRule(context, 'ScenarioOutline');5262 endRule(context, 'Scenario_Definition');5263 startRule(context, 'Scenario_Definition');5264 startRule(context, 'ScenarioOutline');5265 build(context, token);5266 return 17;5267 }5268 if(match_Comment(context, token)) {5269 build(context, token);5270 return 21;5271 }5272 if(match_Empty(context, token)) {5273 build(context, token);5274 return 21;5275 }5276 5277 var stateComment = "State: 21 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:0";5278 token.detach();5279 var expectedTokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];5280 var error = token.isEof ?5281 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5282 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5283 if (self.stopAtFirstError) throw error;5284 addError(context, error);5285 return 21;5286 }5287 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:0>Tags:0>#TagLine:05288 function matchTokenAt_22(token, context) {5289 if(match_TagLine(context, token)) {5290 build(context, token);5291 return 22;5292 }5293 if(match_ExamplesLine(context, token)) {5294 endRule(context, 'Tags');5295 startRule(context, 'Examples');5296 build(context, token);5297 return 23;5298 }5299 if(match_Comment(context, token)) {5300 build(context, token);5301 return 22;5302 }5303 if(match_Empty(context, token)) {5304 build(context, token);5305 return 22;5306 }5307 5308 var stateComment = "State: 22 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:0>Tags:0>#TagLine:0";5309 token.detach();5310 var expectedTokens = ["#TagLine", "#ExamplesLine", "#Comment", "#Empty"];5311 var error = token.isEof ?5312 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5313 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5314 if (self.stopAtFirstError) throw error;5315 addError(context, error);5316 return 22;5317 }5318 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:0>#ExamplesLine:05319 function matchTokenAt_23(token, context) {5320 if(match_EOF(context, token)) {5321 endRule(context, 'Examples');5322 endRule(context, 'Examples_Definition');5323 endRule(context, 'ScenarioOutline');5324 endRule(context, 'Scenario_Definition');5325 endRule(context, 'Feature');5326 build(context, token);5327 return 27;5328 }5329 if(match_Empty(context, token)) {5330 build(context, token);5331 return 23;5332 }5333 if(match_Comment(context, token)) {5334 build(context, token);5335 return 25;5336 }5337 if(match_TableRow(context, token)) {5338 startRule(context, 'Examples_Table');5339 build(context, token);5340 return 26;5341 }5342 if(match_TagLine(context, token)) {5343 if(lookahead_0(context, token)) {5344 endRule(context, 'Examples');5345 endRule(context, 'Examples_Definition');5346 startRule(context, 'Examples_Definition');5347 startRule(context, 'Tags');5348 build(context, token);5349 return 22;5350 }5351 }5352 if(match_TagLine(context, token)) {5353 endRule(context, 'Examples');5354 endRule(context, 'Examples_Definition');5355 endRule(context, 'ScenarioOutline');5356 endRule(context, 'Scenario_Definition');5357 startRule(context, 'Scenario_Definition');5358 startRule(context, 'Tags');5359 build(context, token);5360 return 11;5361 }5362 if(match_ExamplesLine(context, token)) {5363 endRule(context, 'Examples');5364 endRule(context, 'Examples_Definition');5365 startRule(context, 'Examples_Definition');5366 startRule(context, 'Examples');5367 build(context, token);5368 return 23;5369 }5370 if(match_ScenarioLine(context, token)) {5371 endRule(context, 'Examples');5372 endRule(context, 'Examples_Definition');5373 endRule(context, 'ScenarioOutline');5374 endRule(context, 'Scenario_Definition');5375 startRule(context, 'Scenario_Definition');5376 startRule(context, 'Scenario');5377 build(context, token);5378 return 12;5379 }5380 if(match_ScenarioOutlineLine(context, token)) {5381 endRule(context, 'Examples');5382 endRule(context, 'Examples_Definition');5383 endRule(context, 'ScenarioOutline');5384 endRule(context, 'Scenario_Definition');5385 startRule(context, 'Scenario_Definition');5386 startRule(context, 'ScenarioOutline');5387 build(context, token);5388 return 17;5389 }5390 if(match_Other(context, token)) {5391 startRule(context, 'Description');5392 build(context, token);5393 return 24;5394 }5395 5396 var stateComment = "State: 23 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:0>#ExamplesLine:0";5397 token.detach();5398 var expectedTokens = ["#EOF", "#Empty", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];5399 var error = token.isEof ?5400 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5401 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5402 if (self.stopAtFirstError) throw error;5403 addError(context, error);5404 return 23;5405 }5406 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:1>Description_Helper:1>Description:0>#Other:05407 function matchTokenAt_24(token, context) {5408 if(match_EOF(context, token)) {5409 endRule(context, 'Description');5410 endRule(context, 'Examples');5411 endRule(context, 'Examples_Definition');5412 endRule(context, 'ScenarioOutline');5413 endRule(context, 'Scenario_Definition');5414 endRule(context, 'Feature');5415 build(context, token);5416 return 27;5417 }5418 if(match_Comment(context, token)) {5419 endRule(context, 'Description');5420 build(context, token);5421 return 25;5422 }5423 if(match_TableRow(context, token)) {5424 endRule(context, 'Description');5425 startRule(context, 'Examples_Table');5426 build(context, token);5427 return 26;5428 }5429 if(match_TagLine(context, token)) {5430 if(lookahead_0(context, token)) {5431 endRule(context, 'Description');5432 endRule(context, 'Examples');5433 endRule(context, 'Examples_Definition');5434 startRule(context, 'Examples_Definition');5435 startRule(context, 'Tags');5436 build(context, token);5437 return 22;5438 }5439 }5440 if(match_TagLine(context, token)) {5441 endRule(context, 'Description');5442 endRule(context, 'Examples');5443 endRule(context, 'Examples_Definition');5444 endRule(context, 'ScenarioOutline');5445 endRule(context, 'Scenario_Definition');5446 startRule(context, 'Scenario_Definition');5447 startRule(context, 'Tags');5448 build(context, token);5449 return 11;5450 }5451 if(match_ExamplesLine(context, token)) {5452 endRule(context, 'Description');5453 endRule(context, 'Examples');5454 endRule(context, 'Examples_Definition');5455 startRule(context, 'Examples_Definition');5456 startRule(context, 'Examples');5457 build(context, token);5458 return 23;5459 }5460 if(match_ScenarioLine(context, token)) {5461 endRule(context, 'Description');5462 endRule(context, 'Examples');5463 endRule(context, 'Examples_Definition');5464 endRule(context, 'ScenarioOutline');5465 endRule(context, 'Scenario_Definition');5466 startRule(context, 'Scenario_Definition');5467 startRule(context, 'Scenario');5468 build(context, token);5469 return 12;5470 }5471 if(match_ScenarioOutlineLine(context, token)) {5472 endRule(context, 'Description');5473 endRule(context, 'Examples');5474 endRule(context, 'Examples_Definition');5475 endRule(context, 'ScenarioOutline');5476 endRule(context, 'Scenario_Definition');5477 startRule(context, 'Scenario_Definition');5478 startRule(context, 'ScenarioOutline');5479 build(context, token);5480 return 17;5481 }5482 if(match_Other(context, token)) {5483 build(context, token);5484 return 24;5485 }5486 5487 var stateComment = "State: 24 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:1>Description_Helper:1>Description:0>#Other:0";5488 token.detach();5489 var expectedTokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];5490 var error = token.isEof ?5491 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5492 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5493 if (self.stopAtFirstError) throw error;5494 addError(context, error);5495 return 24;5496 }5497 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:1>Description_Helper:2>#Comment:05498 function matchTokenAt_25(token, context) {5499 if(match_EOF(context, token)) {5500 endRule(context, 'Examples');5501 endRule(context, 'Examples_Definition');5502 endRule(context, 'ScenarioOutline');5503 endRule(context, 'Scenario_Definition');5504 endRule(context, 'Feature');5505 build(context, token);5506 return 27;5507 }5508 if(match_Comment(context, token)) {5509 build(context, token);5510 return 25;5511 }5512 if(match_TableRow(context, token)) {5513 startRule(context, 'Examples_Table');5514 build(context, token);5515 return 26;5516 }5517 if(match_TagLine(context, token)) {5518 if(lookahead_0(context, token)) {5519 endRule(context, 'Examples');5520 endRule(context, 'Examples_Definition');5521 startRule(context, 'Examples_Definition');5522 startRule(context, 'Tags');5523 build(context, token);5524 return 22;5525 }5526 }5527 if(match_TagLine(context, token)) {5528 endRule(context, 'Examples');5529 endRule(context, 'Examples_Definition');5530 endRule(context, 'ScenarioOutline');5531 endRule(context, 'Scenario_Definition');5532 startRule(context, 'Scenario_Definition');5533 startRule(context, 'Tags');5534 build(context, token);5535 return 11;5536 }5537 if(match_ExamplesLine(context, token)) {5538 endRule(context, 'Examples');5539 endRule(context, 'Examples_Definition');5540 startRule(context, 'Examples_Definition');5541 startRule(context, 'Examples');5542 build(context, token);5543 return 23;5544 }5545 if(match_ScenarioLine(context, token)) {5546 endRule(context, 'Examples');5547 endRule(context, 'Examples_Definition');5548 endRule(context, 'ScenarioOutline');5549 endRule(context, 'Scenario_Definition');5550 startRule(context, 'Scenario_Definition');5551 startRule(context, 'Scenario');5552 build(context, token);5553 return 12;5554 }5555 if(match_ScenarioOutlineLine(context, token)) {5556 endRule(context, 'Examples');5557 endRule(context, 'Examples_Definition');5558 endRule(context, 'ScenarioOutline');5559 endRule(context, 'Scenario_Definition');5560 startRule(context, 'Scenario_Definition');5561 startRule(context, 'ScenarioOutline');5562 build(context, token);5563 return 17;5564 }5565 if(match_Empty(context, token)) {5566 build(context, token);5567 return 25;5568 }5569 5570 var stateComment = "State: 25 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:1>Description_Helper:2>#Comment:0";5571 token.detach();5572 var expectedTokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"];5573 var error = token.isEof ?5574 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5575 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5576 if (self.stopAtFirstError) throw error;5577 addError(context, error);5578 return 25;5579 }5580 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:2>Examples_Table:0>#TableRow:05581 function matchTokenAt_26(token, context) {5582 if(match_EOF(context, token)) {5583 endRule(context, 'Examples_Table');5584 endRule(context, 'Examples');5585 endRule(context, 'Examples_Definition');5586 endRule(context, 'ScenarioOutline');5587 endRule(context, 'Scenario_Definition');5588 endRule(context, 'Feature');5589 build(context, token);5590 return 27;5591 }5592 if(match_TableRow(context, token)) {5593 build(context, token);5594 return 26;5595 }5596 if(match_TagLine(context, token)) {5597 if(lookahead_0(context, token)) {5598 endRule(context, 'Examples_Table');5599 endRule(context, 'Examples');5600 endRule(context, 'Examples_Definition');5601 startRule(context, 'Examples_Definition');5602 startRule(context, 'Tags');5603 build(context, token);5604 return 22;5605 }5606 }5607 if(match_TagLine(context, token)) {5608 endRule(context, 'Examples_Table');5609 endRule(context, 'Examples');5610 endRule(context, 'Examples_Definition');5611 endRule(context, 'ScenarioOutline');5612 endRule(context, 'Scenario_Definition');5613 startRule(context, 'Scenario_Definition');5614 startRule(context, 'Tags');5615 build(context, token);5616 return 11;5617 }5618 if(match_ExamplesLine(context, token)) {5619 endRule(context, 'Examples_Table');5620 endRule(context, 'Examples');5621 endRule(context, 'Examples_Definition');5622 startRule(context, 'Examples_Definition');5623 startRule(context, 'Examples');5624 build(context, token);5625 return 23;5626 }5627 if(match_ScenarioLine(context, token)) {5628 endRule(context, 'Examples_Table');5629 endRule(context, 'Examples');5630 endRule(context, 'Examples_Definition');5631 endRule(context, 'ScenarioOutline');5632 endRule(context, 'Scenario_Definition');5633 startRule(context, 'Scenario_Definition');5634 startRule(context, 'Scenario');5635 build(context, token);5636 return 12;5637 }5638 if(match_ScenarioOutlineLine(context, token)) {5639 endRule(context, 'Examples_Table');5640 endRule(context, 'Examples');5641 endRule(context, 'Examples_Definition');5642 endRule(context, 'ScenarioOutline');5643 endRule(context, 'Scenario_Definition');5644 startRule(context, 'Scenario_Definition');5645 startRule(context, 'ScenarioOutline');5646 build(context, token);5647 return 17;5648 }5649 if(match_Comment(context, token)) {5650 build(context, token);5651 return 26;5652 }5653 if(match_Empty(context, token)) {5654 build(context, token);5655 return 26;5656 }5657 5658 var stateComment = "State: 26 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:2>Examples_Table:0>#TableRow:0";5659 token.detach();5660 var expectedTokens = ["#EOF", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];5661 var error = token.isEof ?5662 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5663 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5664 if (self.stopAtFirstError) throw error;5665 addError(context, error);5666 return 26;5667 }5668 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:05669 function matchTokenAt_28(token, context) {5670 if(match_DocStringSeparator(context, token)) {5671 build(context, token);5672 return 29;5673 }5674 if(match_Other(context, token)) {5675 build(context, token);5676 return 28;5677 }5678 5679 var stateComment = "State: 28 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:0";5680 token.detach();5681 var expectedTokens = ["#DocStringSeparator", "#Other"];5682 var error = token.isEof ?5683 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5684 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5685 if (self.stopAtFirstError) throw error;5686 addError(context, error);5687 return 28;5688 }5689 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:05690 function matchTokenAt_29(token, context) {5691 if(match_EOF(context, token)) {5692 endRule(context, 'DocString');5693 endRule(context, 'Step');5694 endRule(context, 'ScenarioOutline');5695 endRule(context, 'Scenario_Definition');5696 endRule(context, 'Feature');5697 build(context, token);5698 return 27;5699 }5700 if(match_StepLine(context, token)) {5701 endRule(context, 'DocString');5702 endRule(context, 'Step');5703 startRule(context, 'Step');5704 build(context, token);5705 return 20;5706 }5707 if(match_TagLine(context, token)) {5708 if(lookahead_0(context, token)) {5709 endRule(context, 'DocString');5710 endRule(context, 'Step');5711 startRule(context, 'Examples_Definition');5712 startRule(context, 'Tags');5713 build(context, token);5714 return 22;5715 }5716 }5717 if(match_TagLine(context, token)) {5718 endRule(context, 'DocString');5719 endRule(context, 'Step');5720 endRule(context, 'ScenarioOutline');5721 endRule(context, 'Scenario_Definition');5722 startRule(context, 'Scenario_Definition');5723 startRule(context, 'Tags');5724 build(context, token);5725 return 11;5726 }5727 if(match_ExamplesLine(context, token)) {5728 endRule(context, 'DocString');5729 endRule(context, 'Step');5730 startRule(context, 'Examples_Definition');5731 startRule(context, 'Examples');5732 build(context, token);5733 return 23;5734 }5735 if(match_ScenarioLine(context, token)) {5736 endRule(context, 'DocString');5737 endRule(context, 'Step');5738 endRule(context, 'ScenarioOutline');5739 endRule(context, 'Scenario_Definition');5740 startRule(context, 'Scenario_Definition');5741 startRule(context, 'Scenario');5742 build(context, token);5743 return 12;5744 }5745 if(match_ScenarioOutlineLine(context, token)) {5746 endRule(context, 'DocString');5747 endRule(context, 'Step');5748 endRule(context, 'ScenarioOutline');5749 endRule(context, 'Scenario_Definition');5750 startRule(context, 'Scenario_Definition');5751 startRule(context, 'ScenarioOutline');5752 build(context, token);5753 return 17;5754 }5755 if(match_Comment(context, token)) {5756 build(context, token);5757 return 29;5758 }5759 if(match_Empty(context, token)) {5760 build(context, token);5761 return 29;5762 }5763 5764 var stateComment = "State: 29 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:0";5765 token.detach();5766 var expectedTokens = ["#EOF", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];5767 var error = token.isEof ?5768 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5769 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5770 if (self.stopAtFirstError) throw error;5771 addError(context, error);5772 return 29;5773 }5774 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:05775 function matchTokenAt_30(token, context) {5776 if(match_DocStringSeparator(context, token)) {5777 build(context, token);5778 return 31;5779 }5780 if(match_Other(context, token)) {5781 build(context, token);5782 return 30;5783 }5784 5785 var stateComment = "State: 30 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:0";5786 token.detach();5787 var expectedTokens = ["#DocStringSeparator", "#Other"];5788 var error = token.isEof ?5789 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5790 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5791 if (self.stopAtFirstError) throw error;5792 addError(context, error);5793 return 30;5794 }5795 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:05796 function matchTokenAt_31(token, context) {5797 if(match_EOF(context, token)) {5798 endRule(context, 'DocString');5799 endRule(context, 'Step');5800 endRule(context, 'Scenario');5801 endRule(context, 'Scenario_Definition');5802 endRule(context, 'Feature');5803 build(context, token);5804 return 27;5805 }5806 if(match_StepLine(context, token)) {5807 endRule(context, 'DocString');5808 endRule(context, 'Step');5809 startRule(context, 'Step');5810 build(context, token);5811 return 15;5812 }5813 if(match_TagLine(context, token)) {5814 endRule(context, 'DocString');5815 endRule(context, 'Step');5816 endRule(context, 'Scenario');5817 endRule(context, 'Scenario_Definition');5818 startRule(context, 'Scenario_Definition');5819 startRule(context, 'Tags');5820 build(context, token);5821 return 11;5822 }5823 if(match_ScenarioLine(context, token)) {5824 endRule(context, 'DocString');5825 endRule(context, 'Step');5826 endRule(context, 'Scenario');5827 endRule(context, 'Scenario_Definition');5828 startRule(context, 'Scenario_Definition');5829 startRule(context, 'Scenario');5830 build(context, token);5831 return 12;5832 }5833 if(match_ScenarioOutlineLine(context, token)) {5834 endRule(context, 'DocString');5835 endRule(context, 'Step');5836 endRule(context, 'Scenario');5837 endRule(context, 'Scenario_Definition');5838 startRule(context, 'Scenario_Definition');5839 startRule(context, 'ScenarioOutline');5840 build(context, token);5841 return 17;5842 }5843 if(match_Comment(context, token)) {5844 build(context, token);5845 return 31;5846 }5847 if(match_Empty(context, token)) {5848 build(context, token);5849 return 31;5850 }5851 5852 var stateComment = "State: 31 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:0";5853 token.detach();5854 var expectedTokens = ["#EOF", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];5855 var error = token.isEof ?5856 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5857 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5858 if (self.stopAtFirstError) throw error;5859 addError(context, error);5860 return 31;5861 }5862 // GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:05863 function matchTokenAt_32(token, context) {5864 if(match_DocStringSeparator(context, token)) {5865 build(context, token);5866 return 33;5867 }5868 if(match_Other(context, token)) {5869 build(context, token);5870 return 32;5871 }5872 5873 var stateComment = "State: 32 - GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:0";5874 token.detach();5875 var expectedTokens = ["#DocStringSeparator", "#Other"];5876 var error = token.isEof ?5877 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5878 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5879 if (self.stopAtFirstError) throw error;5880 addError(context, error);5881 return 32;5882 }5883 // GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:05884 function matchTokenAt_33(token, context) {5885 if(match_EOF(context, token)) {5886 endRule(context, 'DocString');5887 endRule(context, 'Step');5888 endRule(context, 'Background');5889 endRule(context, 'Feature');5890 build(context, token);5891 return 27;5892 }5893 if(match_StepLine(context, token)) {5894 endRule(context, 'DocString');5895 endRule(context, 'Step');5896 startRule(context, 'Step');5897 build(context, token);5898 return 9;5899 }5900 if(match_TagLine(context, token)) {5901 endRule(context, 'DocString');5902 endRule(context, 'Step');5903 endRule(context, 'Background');5904 startRule(context, 'Scenario_Definition');5905 startRule(context, 'Tags');5906 build(context, token);5907 return 11;5908 }5909 if(match_ScenarioLine(context, token)) {5910 endRule(context, 'DocString');5911 endRule(context, 'Step');5912 endRule(context, 'Background');5913 startRule(context, 'Scenario_Definition');5914 startRule(context, 'Scenario');5915 build(context, token);5916 return 12;5917 }5918 if(match_ScenarioOutlineLine(context, token)) {5919 endRule(context, 'DocString');5920 endRule(context, 'Step');5921 endRule(context, 'Background');5922 startRule(context, 'Scenario_Definition');5923 startRule(context, 'ScenarioOutline');5924 build(context, token);5925 return 17;5926 }5927 if(match_Comment(context, token)) {5928 build(context, token);5929 return 33;5930 }5931 if(match_Empty(context, token)) {5932 build(context, token);5933 return 33;5934 }5935 5936 var stateComment = "State: 33 - GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:0";5937 token.detach();5938 var expectedTokens = ["#EOF", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];5939 var error = token.isEof ?5940 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5941 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5942 if (self.stopAtFirstError) throw error;5943 addError(context, error);5944 return 33;5945 }5946 function match_EOF(context, token) {5947 return handleExternalError(context, false, function () {5948 return context.tokenMatcher.match_EOF(token);5949 });5950 }5951 function match_Empty(context, token) {5952 if(token.isEof) return false;5953 return handleExternalError(context, false, function () {5954 return context.tokenMatcher.match_Empty(token);5955 });5956 }5957 function match_Comment(context, token) {5958 if(token.isEof) return false;5959 return handleExternalError(context, false, function () {5960 return context.tokenMatcher.match_Comment(token);5961 });5962 }5963 function match_TagLine(context, token) {5964 if(token.isEof) return false;5965 return handleExternalError(context, false, function () {5966 return context.tokenMatcher.match_TagLine(token);5967 });5968 }5969 function match_FeatureLine(context, token) {5970 if(token.isEof) return false;5971 return handleExternalError(context, false, function () {5972 return context.tokenMatcher.match_FeatureLine(token);5973 });5974 }5975 function match_BackgroundLine(context, token) {5976 if(token.isEof) return false;5977 return handleExternalError(context, false, function () {5978 return context.tokenMatcher.match_BackgroundLine(token);5979 });5980 }5981 function match_ScenarioLine(context, token) {5982 if(token.isEof) return false;5983 return handleExternalError(context, false, function () {5984 return context.tokenMatcher.match_ScenarioLine(token);5985 });5986 }5987 function match_ScenarioOutlineLine(context, token) {5988 if(token.isEof) return false;5989 return handleExternalError(context, false, function () {5990 return context.tokenMatcher.match_ScenarioOutlineLine(token);5991 });5992 }5993 function match_ExamplesLine(context, token) {5994 if(token.isEof) return false;5995 return handleExternalError(context, false, function () {5996 return context.tokenMatcher.match_ExamplesLine(token);5997 });5998 }5999 function match_StepLine(context, token) {6000 if(token.isEof) return false;6001 return handleExternalError(context, false, function () {6002 return context.tokenMatcher.match_StepLine(token);6003 });6004 }6005 function match_DocStringSeparator(context, token) {6006 if(token.isEof) return false;6007 return handleExternalError(context, false, function () {6008 return context.tokenMatcher.match_DocStringSeparator(token);6009 });6010 }6011 function match_TableRow(context, token) {6012 if(token.isEof) return false;6013 return handleExternalError(context, false, function () {6014 return context.tokenMatcher.match_TableRow(token);6015 });6016 }6017 function match_Language(context, token) {6018 if(token.isEof) return false;6019 return handleExternalError(context, false, function () {6020 return context.tokenMatcher.match_Language(token);6021 });6022 }6023 function match_Other(context, token) {6024 if(token.isEof) return false;6025 return handleExternalError(context, false, function () {6026 return context.tokenMatcher.match_Other(token);6027 });6028 }6029 function lookahead_0(context, currentToken) {6030 currentToken.detach();6031 var token;6032 var queue = [];6033 var match = false;6034 do {6035 token = readToken(context);6036 token.detach();6037 queue.push(token);6038 if (false || match_ExamplesLine(context, token)) {6039 match = true;6040 break;6041 }6042 } while(false || match_Empty(context, token) || match_Comment(context, token) || match_TagLine(context, token));6043 context.tokenQueue = context.tokenQueue.concat(queue);6044 return match;6045 }6046}6047},{"./ast_builder":2,"./errors":6,"./token_matcher":13,"./token_scanner":14}],11:[function(require,module,exports){6048var countSymbols = require('../count_symbols');6049function Compiler() {6050 this.compile = function (gherkin_document) {6051 var pickles = [];6052 if (gherkin_document.feature == null) return pickles;6053 var feature = gherkin_document.feature;6054 var language = feature.language;6055 var featureTags = feature.tags;6056 var backgroundSteps = [];6057 feature.children.forEach(function (scenarioDefinition) {6058 if(scenarioDefinition.type === 'Background') {6059 backgroundSteps = pickleSteps(scenarioDefinition);6060 } else if(scenarioDefinition.type === 'Scenario') {6061 compileScenario(featureTags, backgroundSteps, scenarioDefinition, language, pickles);6062 } else {6063 compileScenarioOutline(featureTags, backgroundSteps, scenarioDefinition, language, pickles);6064 }6065 });6066 return pickles;6067 };6068 function compileScenario(featureTags, backgroundSteps, scenario, language, pickles) {6069 var steps = scenario.steps.length == 0 ? [] : [].concat(backgroundSteps);6070 var tags = [].concat(featureTags).concat(scenario.tags);6071 scenario.steps.forEach(function (step) {6072 steps.push(pickleStep(step));6073 });6074 var pickle = {6075 tags: pickleTags(tags),6076 name: scenario.name,6077 language: language,6078 locations: [pickleLocation(scenario.location)],6079 steps: steps6080 };6081 pickles.push(pickle);6082 }6083 function compileScenarioOutline(featureTags, backgroundSteps, scenarioOutline, language, pickles) {6084 scenarioOutline.examples.filter(function(e) { return e.tableHeader != undefined; }).forEach(function (examples) {6085 var variableCells = examples.tableHeader.cells;6086 examples.tableBody.forEach(function (values) {6087 var valueCells = values.cells;6088 var steps = scenarioOutline.steps.length == 0 ? [] : [].concat(backgroundSteps);6089 var tags = [].concat(featureTags).concat(scenarioOutline.tags).concat(examples.tags);6090 scenarioOutline.steps.forEach(function (scenarioOutlineStep) {6091 var stepText = interpolate(scenarioOutlineStep.text, variableCells, valueCells);6092 var args = createPickleArguments(scenarioOutlineStep.argument, variableCells, valueCells);6093 var pickleStep = {6094 text: stepText,6095 arguments: args,6096 locations: [6097 pickleLocation(values.location),6098 pickleStepLocation(scenarioOutlineStep)6099 ]6100 };6101 steps.push(pickleStep);6102 });6103 var pickle = {6104 name: interpolate(scenarioOutline.name, variableCells, valueCells),6105 language: language,6106 steps: steps,6107 tags: pickleTags(tags),6108 locations: [6109 pickleLocation(values.location),6110 pickleLocation(scenarioOutline.location)6111 ]6112 };6113 pickles.push(pickle);6114 });6115 });6116 }6117 function createPickleArguments(argument, variableCells, valueCells) {6118 var result = [];6119 if (!argument) return result;6120 if (argument.type === 'DataTable') {6121 var table = {6122 rows: argument.rows.map(function (row) {6123 return {6124 cells: row.cells.map(function (cell) {6125 return {6126 location: pickleLocation(cell.location),6127 value: interpolate(cell.value, variableCells, valueCells)6128 };6129 })6130 };6131 })6132 };6133 result.push(table);6134 } else if (argument.type === 'DocString') {6135 var docString = {6136 location: pickleLocation(argument.location),6137 content: interpolate(argument.content, variableCells, valueCells),6138 };6139 if(argument.contentType) {6140 docString.contentType = interpolate(argument.contentType, variableCells, valueCells);6141 }6142 result.push(docString);6143 } else {6144 throw Error('Internal error');6145 }6146 return result;6147 }6148 function interpolate(name, variableCells, valueCells) {6149 variableCells.forEach(function (variableCell, n) {6150 var valueCell = valueCells[n];6151 var search = new RegExp('<' + variableCell.value + '>', 'g');6152 // JS Specific - dollar sign needs to be escaped with another dollar sign6153 // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_string_as_a_parameter6154 var replacement = valueCell.value.replace(new RegExp('\\$', 'g'), '$$$$')6155 name = name.replace(search, replacement);6156 });6157 return name;6158 }6159 function pickleSteps(scenarioDefinition) {6160 return scenarioDefinition.steps.map(function (step) {6161 return pickleStep(step);6162 });6163 }6164 function pickleStep(step) {6165 return {6166 text: step.text,6167 arguments: createPickleArguments(step.argument, [], []),6168 locations: [pickleStepLocation(step)]6169 }6170 }6171 function pickleStepLocation(step) {6172 return {6173 line: step.location.line,6174 column: step.location.column + (step.keyword ? countSymbols(step.keyword) : 0)6175 };6176 }6177 function pickleLocation(location) {6178 return {6179 line: location.line,6180 column: location.column6181 }6182 }6183 function pickleTags(tags) {6184 return tags.map(function (tag) {6185 return pickleTag(tag);6186 });6187 }6188 function pickleTag(tag) {6189 return {6190 name: tag.name,6191 location: pickleLocation(tag.location)6192 };6193 }6194}6195module.exports = Compiler;6196},{"../count_symbols":4}],12:[function(require,module,exports){6197function Token(line, location) {6198 this.line = line;6199 this.location = location;6200 this.isEof = line == null;6201};6202Token.prototype.getTokenValue = function () {6203 return this.isEof ? "EOF" : this.line.getLineText(-1);6204};6205Token.prototype.detach = function () {6206 // TODO: Detach line, but is this really needed?6207};6208module.exports = Token;6209},{}],13:[function(require,module,exports){6210var DIALECTS = require('./dialects');6211var Errors = require('./errors');6212var LANGUAGE_PATTERN = /^\s*#\s*language\s*:\s*([a-zA-Z\-_]+)\s*$/;6213module.exports = function TokenMatcher(defaultDialectName) {6214 defaultDialectName = defaultDialectName || 'en';6215 var dialect;6216 var dialectName;6217 var activeDocStringSeparator;6218 var indentToRemove;6219 function changeDialect(newDialectName, location) {6220 var newDialect = DIALECTS[newDialectName];6221 if(!newDialect) {6222 throw Errors.NoSuchLanguageException.create(newDialectName, location);6223 }6224 dialectName = newDialectName;6225 dialect = newDialect;6226 }6227 this.reset = function () {6228 if(dialectName != defaultDialectName) changeDialect(defaultDialectName);6229 activeDocStringSeparator = null;6230 indentToRemove = 0;6231 };6232 this.reset();6233 this.match_TagLine = function match_TagLine(token) {6234 if(token.line.startsWith('@')) {6235 setTokenMatched(token, 'TagLine', null, null, null, token.line.getTags());6236 return true;6237 }6238 return false;6239 };6240 this.match_FeatureLine = function match_FeatureLine(token) {6241 return matchTitleLine(token, 'FeatureLine', dialect.feature);6242 };6243 this.match_ScenarioLine = function match_ScenarioLine(token) {6244 return matchTitleLine(token, 'ScenarioLine', dialect.scenario);6245 };6246 this.match_ScenarioOutlineLine = function match_ScenarioOutlineLine(token) {6247 return matchTitleLine(token, 'ScenarioOutlineLine', dialect.scenarioOutline);6248 };6249 this.match_BackgroundLine = function match_BackgroundLine(token) {6250 return matchTitleLine(token, 'BackgroundLine', dialect.background);6251 };6252 this.match_ExamplesLine = function match_ExamplesLine(token) {6253 return matchTitleLine(token, 'ExamplesLine', dialect.examples);6254 };6255 this.match_TableRow = function match_TableRow(token) {6256 if (token.line.startsWith('|')) {6257 // TODO: indent6258 setTokenMatched(token, 'TableRow', null, null, null, token.line.getTableCells());6259 return true;6260 }6261 return false;6262 };6263 this.match_Empty = function match_Empty(token) {6264 if (token.line.isEmpty) {6265 setTokenMatched(token, 'Empty', null, null, 0);6266 return true;6267 }6268 return false;6269 };6270 this.match_Comment = function match_Comment(token) {6271 if(token.line.startsWith('#')) {6272 var text = token.line.getLineText(0); //take the entire line, including leading space6273 setTokenMatched(token, 'Comment', text, null, 0);6274 return true;6275 }6276 return false;6277 };6278 this.match_Language = function match_Language(token) {6279 var match;6280 if(match = token.line.trimmedLineText.match(LANGUAGE_PATTERN)) {6281 var newDialectName = match[1];6282 setTokenMatched(token, 'Language', newDialectName);6283 changeDialect(newDialectName, token.location);6284 return true;6285 }6286 return false;6287 };6288 this.match_DocStringSeparator = function match_DocStringSeparator(token) {6289 return activeDocStringSeparator == null6290 ?6291 // open6292 _match_DocStringSeparator(token, '"""', true) ||6293 _match_DocStringSeparator(token, '```', true)6294 :6295 // close6296 _match_DocStringSeparator(token, activeDocStringSeparator, false);6297 };6298 function _match_DocStringSeparator(token, separator, isOpen) {6299 if (token.line.startsWith(separator)) {6300 var contentType = null;6301 if (isOpen) {6302 contentType = token.line.getRestTrimmed(separator.length);6303 activeDocStringSeparator = separator;6304 indentToRemove = token.line.indent;6305 } else {6306 activeDocStringSeparator = null;6307 indentToRemove = 0;6308 }6309 // TODO: Use the separator as keyword. That's needed for pretty printing.6310 setTokenMatched(token, 'DocStringSeparator', contentType);6311 return true;6312 }6313 return false;6314 }6315 this.match_EOF = function match_EOF(token) {6316 if(token.isEof) {6317 setTokenMatched(token, 'EOF');6318 return true;6319 }6320 return false;6321 };6322 this.match_StepLine = function match_StepLine(token) {6323 var keywords = []6324 .concat(dialect.given)6325 .concat(dialect.when)6326 .concat(dialect.then)6327 .concat(dialect.and)6328 .concat(dialect.but);6329 var length = keywords.length;6330 for(var i = 0, keyword; i < length; i++) {6331 var keyword = keywords[i];6332 if (token.line.startsWith(keyword)) {6333 var title = token.line.getRestTrimmed(keyword.length);6334 setTokenMatched(token, 'StepLine', title, keyword);6335 return true;6336 }6337 }6338 return false;6339 };6340 this.match_Other = function match_Other(token) {6341 var text = token.line.getLineText(indentToRemove); //take the entire line, except removing DocString indents6342 setTokenMatched(token, 'Other', unescapeDocString(text), null, 0);6343 return true;6344 };6345 function matchTitleLine(token, tokenType, keywords) {6346 var length = keywords.length;6347 for(var i = 0, keyword; i < length; i++) {6348 var keyword = keywords[i];6349 if (token.line.startsWithTitleKeyword(keyword)) {6350 var title = token.line.getRestTrimmed(keyword.length + ':'.length);6351 setTokenMatched(token, tokenType, title, keyword);6352 return true;6353 }6354 }6355 return false;6356 }6357 function setTokenMatched(token, matchedType, text, keyword, indent, items) {6358 token.matchedType = matchedType;6359 token.matchedText = text;6360 token.matchedKeyword = keyword;6361 token.matchedIndent = (typeof indent === 'number') ? indent : (token.line == null ? 0 : token.line.indent);6362 token.matchedItems = items || [];6363 token.location.column = token.matchedIndent + 1;6364 token.matchedGherkinDialect = dialectName;6365 }6366 function unescapeDocString(text) {6367 return activeDocStringSeparator != null ? text.replace("\\\"\\\"\\\"", "\"\"\"") : text;6368 }6369};6370},{"./dialects":5,"./errors":6}],14:[function(require,module,exports){6371var Token = require('./token');6372var GherkinLine = require('./gherkin_line');6373/**6374 * The scanner reads a gherkin doc (typically read from a .feature file) and creates a token for each line. 6375 * The tokens are passed to the parser, which outputs an AST (Abstract Syntax Tree).6376 * 6377 * If the scanner sees a `#` language header, it will reconfigure itself dynamically to look for 6378 * Gherkin keywords for the associated language. The keywords are defined in gherkin-languages.json.6379 */6380module.exports = function TokenScanner(source) {6381 var lines = source.split(/\r?\n/);6382 if(lines.length > 0 && lines[lines.length-1].trim() == '') {6383 lines.pop();6384 }6385 var lineNumber = 0;6386 this.read = function () {6387 var line = lines[lineNumber++];6388 var location = {line: lineNumber, column: 0};6389 return line == null ? new Token(null, location) : new Token(new GherkinLine(line, lineNumber), location);6390 }6391};...

Full Screen

Full Screen

parser.js

Source:parser.js Github

copy

Full Screen

1// This file is generated. Do not edit! Edit gherkin-javascript.razor instead.2var Errors = require('./errors');3var AstBuilder = require('./ast_builder');4var TokenScanner = require('./token_scanner');5var TokenMatcher = require('./token_matcher');6var RULE_TYPES = [7 'None',8 '_EOF', // #EOF9 '_Empty', // #Empty10 '_Comment', // #Comment11 '_TagLine', // #TagLine12 '_FeatureLine', // #FeatureLine13 '_BackgroundLine', // #BackgroundLine14 '_ScenarioLine', // #ScenarioLine15 '_ScenarioOutlineLine', // #ScenarioOutlineLine16 '_ExamplesLine', // #ExamplesLine17 '_StepLine', // #StepLine18 '_DocStringSeparator', // #DocStringSeparator19 '_TableRow', // #TableRow20 '_Language', // #Language21 '_Other', // #Other22 'GherkinDocument', // GherkinDocument! := Feature?23 'Feature', // Feature! := Feature_Header Background? Scenario_Definition*24 'Feature_Header', // Feature_Header! := #Language? Tags? #FeatureLine Description_Helper25 'Background', // Background! := #BackgroundLine Description_Helper Step*26 'Scenario_Definition', // Scenario_Definition! := Tags? (Scenario | ScenarioOutline)27 'Scenario', // Scenario! := #ScenarioLine Description_Helper Step*28 'ScenarioOutline', // ScenarioOutline! := #ScenarioOutlineLine Description_Helper Step* Examples_Definition*29 'Examples_Definition', // Examples_Definition! [#Empty|#Comment|#TagLine-&gt;#ExamplesLine] := Tags? Examples30 'Examples', // Examples! := #ExamplesLine Description_Helper Examples_Table?31 'Examples_Table', // Examples_Table! := #TableRow #TableRow*32 'Step', // Step! := #StepLine Step_Arg?33 'Step_Arg', // Step_Arg := (DataTable | DocString)34 'DataTable', // DataTable! := #TableRow+35 'DocString', // DocString! := #DocStringSeparator #Other* #DocStringSeparator36 'Tags', // Tags! := #TagLine+37 'Description_Helper', // Description_Helper := #Empty* Description? #Comment*38 'Description', // Description! := #Other+39];40module.exports = function Parser(builder) {41 builder = builder || new AstBuilder();42 var self = this;43 var context;44 this.parse = function(tokenScanner, tokenMatcher) {45 if(typeof tokenScanner == 'string') {46 tokenScanner = new TokenScanner(tokenScanner);47 }48 tokenMatcher = tokenMatcher || new TokenMatcher();49 builder.reset();50 tokenMatcher.reset();51 context = {52 tokenScanner: tokenScanner,53 tokenMatcher: tokenMatcher,54 tokenQueue: [],55 errors: []56 };57 startRule(context, "GherkinDocument");58 var state = 0;59 var token = null;60 while(true) {61 token = readToken(context);62 state = matchToken(state, token, context);63 if(token.isEof) break;64 }65 endRule(context, "GherkinDocument");66 if(context.errors.length > 0) {67 throw Errors.CompositeParserException.create(context.errors);68 }69 return getResult();70 };71 function addError(context, error) {72 context.errors.push(error);73 if (context.errors.length > 10)74 throw Errors.CompositeParserException.create(context.errors);75 }76 function startRule(context, ruleType) {77 handleAstError(context, function () {78 builder.startRule(ruleType);79 });80 }81 function endRule(context, ruleType) {82 handleAstError(context, function () {83 builder.endRule(ruleType);84 });85 }86 function build(context, token) {87 handleAstError(context, function () {88 builder.build(token);89 });90 }91 function getResult() {92 return builder.getResult();93 }94 function handleAstError(context, action) {95 handleExternalError(context, true, action)96 }97 function handleExternalError(context, defaultValue, action) {98 if(self.stopAtFirstError) return action();99 try {100 return action();101 } catch (e) {102 if(e instanceof Errors.CompositeParserException) {103 e.errors.forEach(function (error) {104 addError(context, error);105 });106 } else if(107 e instanceof Errors.ParserException ||108 e instanceof Errors.AstBuilderException ||109 e instanceof Errors.UnexpectedTokenException ||110 e instanceof Errors.NoSuchLanguageException111 ) {112 addError(context, e);113 } else {114 throw e;115 }116 }117 return defaultValue;118 }119 function readToken(context) {120 return context.tokenQueue.length > 0 ?121 context.tokenQueue.shift() :122 context.tokenScanner.read();123 }124 function matchToken(state, token, context) {125 switch(state) {126 case 0:127 return matchTokenAt_0(token, context);128 case 1:129 return matchTokenAt_1(token, context);130 case 2:131 return matchTokenAt_2(token, context);132 case 3:133 return matchTokenAt_3(token, context);134 case 4:135 return matchTokenAt_4(token, context);136 case 5:137 return matchTokenAt_5(token, context);138 case 6:139 return matchTokenAt_6(token, context);140 case 7:141 return matchTokenAt_7(token, context);142 case 8:143 return matchTokenAt_8(token, context);144 case 9:145 return matchTokenAt_9(token, context);146 case 10:147 return matchTokenAt_10(token, context);148 case 11:149 return matchTokenAt_11(token, context);150 case 12:151 return matchTokenAt_12(token, context);152 case 13:153 return matchTokenAt_13(token, context);154 case 14:155 return matchTokenAt_14(token, context);156 case 15:157 return matchTokenAt_15(token, context);158 case 16:159 return matchTokenAt_16(token, context);160 case 17:161 return matchTokenAt_17(token, context);162 case 18:163 return matchTokenAt_18(token, context);164 case 19:165 return matchTokenAt_19(token, context);166 case 20:167 return matchTokenAt_20(token, context);168 case 21:169 return matchTokenAt_21(token, context);170 case 22:171 return matchTokenAt_22(token, context);172 case 23:173 return matchTokenAt_23(token, context);174 case 24:175 return matchTokenAt_24(token, context);176 case 25:177 return matchTokenAt_25(token, context);178 case 26:179 return matchTokenAt_26(token, context);180 case 28:181 return matchTokenAt_28(token, context);182 case 29:183 return matchTokenAt_29(token, context);184 case 30:185 return matchTokenAt_30(token, context);186 case 31:187 return matchTokenAt_31(token, context);188 case 32:189 return matchTokenAt_32(token, context);190 case 33:191 return matchTokenAt_33(token, context);192 default:193 throw new Error("Unknown state: " + state);194 }195 }196 // Start197 function matchTokenAt_0(token, context) {198 if(match_EOF(context, token)) {199 build(context, token);200 return 27;201 }202 if(match_Language(context, token)) {203 startRule(context, 'Feature');204 startRule(context, 'Feature_Header');205 build(context, token);206 return 1;207 }208 if(match_TagLine(context, token)) {209 startRule(context, 'Feature');210 startRule(context, 'Feature_Header');211 startRule(context, 'Tags');212 build(context, token);213 return 2;214 }215 if(match_FeatureLine(context, token)) {216 startRule(context, 'Feature');217 startRule(context, 'Feature_Header');218 build(context, token);219 return 3;220 }221 if(match_Comment(context, token)) {222 build(context, token);223 return 0;224 }225 if(match_Empty(context, token)) {226 build(context, token);227 return 0;228 }229 230 var stateComment = "State: 0 - Start";231 token.detach();232 var expectedTokens = ["#EOF", "#Language", "#TagLine", "#FeatureLine", "#Comment", "#Empty"];233 var error = token.isEof ?234 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :235 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);236 if (self.stopAtFirstError) throw error;237 addError(context, error);238 return 0;239 }240 // GherkinDocument:0>Feature:0>Feature_Header:0>#Language:0241 function matchTokenAt_1(token, context) {242 if(match_TagLine(context, token)) {243 startRule(context, 'Tags');244 build(context, token);245 return 2;246 }247 if(match_FeatureLine(context, token)) {248 build(context, token);249 return 3;250 }251 if(match_Comment(context, token)) {252 build(context, token);253 return 1;254 }255 if(match_Empty(context, token)) {256 build(context, token);257 return 1;258 }259 260 var stateComment = "State: 1 - GherkinDocument:0>Feature:0>Feature_Header:0>#Language:0";261 token.detach();262 var expectedTokens = ["#TagLine", "#FeatureLine", "#Comment", "#Empty"];263 var error = token.isEof ?264 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :265 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);266 if (self.stopAtFirstError) throw error;267 addError(context, error);268 return 1;269 }270 // GherkinDocument:0>Feature:0>Feature_Header:1>Tags:0>#TagLine:0271 function matchTokenAt_2(token, context) {272 if(match_TagLine(context, token)) {273 build(context, token);274 return 2;275 }276 if(match_FeatureLine(context, token)) {277 endRule(context, 'Tags');278 build(context, token);279 return 3;280 }281 if(match_Comment(context, token)) {282 build(context, token);283 return 2;284 }285 if(match_Empty(context, token)) {286 build(context, token);287 return 2;288 }289 290 var stateComment = "State: 2 - GherkinDocument:0>Feature:0>Feature_Header:1>Tags:0>#TagLine:0";291 token.detach();292 var expectedTokens = ["#TagLine", "#FeatureLine", "#Comment", "#Empty"];293 var error = token.isEof ?294 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :295 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);296 if (self.stopAtFirstError) throw error;297 addError(context, error);298 return 2;299 }300 // GherkinDocument:0>Feature:0>Feature_Header:2>#FeatureLine:0301 function matchTokenAt_3(token, context) {302 if(match_EOF(context, token)) {303 endRule(context, 'Feature_Header');304 endRule(context, 'Feature');305 build(context, token);306 return 27;307 }308 if(match_Empty(context, token)) {309 build(context, token);310 return 3;311 }312 if(match_Comment(context, token)) {313 build(context, token);314 return 5;315 }316 if(match_BackgroundLine(context, token)) {317 endRule(context, 'Feature_Header');318 startRule(context, 'Background');319 build(context, token);320 return 6;321 }322 if(match_TagLine(context, token)) {323 endRule(context, 'Feature_Header');324 startRule(context, 'Scenario_Definition');325 startRule(context, 'Tags');326 build(context, token);327 return 11;328 }329 if(match_ScenarioLine(context, token)) {330 endRule(context, 'Feature_Header');331 startRule(context, 'Scenario_Definition');332 startRule(context, 'Scenario');333 build(context, token);334 return 12;335 }336 if(match_ScenarioOutlineLine(context, token)) {337 endRule(context, 'Feature_Header');338 startRule(context, 'Scenario_Definition');339 startRule(context, 'ScenarioOutline');340 build(context, token);341 return 17;342 }343 if(match_Other(context, token)) {344 startRule(context, 'Description');345 build(context, token);346 return 4;347 }348 349 var stateComment = "State: 3 - GherkinDocument:0>Feature:0>Feature_Header:2>#FeatureLine:0";350 token.detach();351 var expectedTokens = ["#EOF", "#Empty", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];352 var error = token.isEof ?353 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :354 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);355 if (self.stopAtFirstError) throw error;356 addError(context, error);357 return 3;358 }359 // GherkinDocument:0>Feature:0>Feature_Header:3>Description_Helper:1>Description:0>#Other:0360 function matchTokenAt_4(token, context) {361 if(match_EOF(context, token)) {362 endRule(context, 'Description');363 endRule(context, 'Feature_Header');364 endRule(context, 'Feature');365 build(context, token);366 return 27;367 }368 if(match_Comment(context, token)) {369 endRule(context, 'Description');370 build(context, token);371 return 5;372 }373 if(match_BackgroundLine(context, token)) {374 endRule(context, 'Description');375 endRule(context, 'Feature_Header');376 startRule(context, 'Background');377 build(context, token);378 return 6;379 }380 if(match_TagLine(context, token)) {381 endRule(context, 'Description');382 endRule(context, 'Feature_Header');383 startRule(context, 'Scenario_Definition');384 startRule(context, 'Tags');385 build(context, token);386 return 11;387 }388 if(match_ScenarioLine(context, token)) {389 endRule(context, 'Description');390 endRule(context, 'Feature_Header');391 startRule(context, 'Scenario_Definition');392 startRule(context, 'Scenario');393 build(context, token);394 return 12;395 }396 if(match_ScenarioOutlineLine(context, token)) {397 endRule(context, 'Description');398 endRule(context, 'Feature_Header');399 startRule(context, 'Scenario_Definition');400 startRule(context, 'ScenarioOutline');401 build(context, token);402 return 17;403 }404 if(match_Other(context, token)) {405 build(context, token);406 return 4;407 }408 409 var stateComment = "State: 4 - GherkinDocument:0>Feature:0>Feature_Header:3>Description_Helper:1>Description:0>#Other:0";410 token.detach();411 var expectedTokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];412 var error = token.isEof ?413 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :414 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);415 if (self.stopAtFirstError) throw error;416 addError(context, error);417 return 4;418 }419 // GherkinDocument:0>Feature:0>Feature_Header:3>Description_Helper:2>#Comment:0420 function matchTokenAt_5(token, context) {421 if(match_EOF(context, token)) {422 endRule(context, 'Feature_Header');423 endRule(context, 'Feature');424 build(context, token);425 return 27;426 }427 if(match_Comment(context, token)) {428 build(context, token);429 return 5;430 }431 if(match_BackgroundLine(context, token)) {432 endRule(context, 'Feature_Header');433 startRule(context, 'Background');434 build(context, token);435 return 6;436 }437 if(match_TagLine(context, token)) {438 endRule(context, 'Feature_Header');439 startRule(context, 'Scenario_Definition');440 startRule(context, 'Tags');441 build(context, token);442 return 11;443 }444 if(match_ScenarioLine(context, token)) {445 endRule(context, 'Feature_Header');446 startRule(context, 'Scenario_Definition');447 startRule(context, 'Scenario');448 build(context, token);449 return 12;450 }451 if(match_ScenarioOutlineLine(context, token)) {452 endRule(context, 'Feature_Header');453 startRule(context, 'Scenario_Definition');454 startRule(context, 'ScenarioOutline');455 build(context, token);456 return 17;457 }458 if(match_Empty(context, token)) {459 build(context, token);460 return 5;461 }462 463 var stateComment = "State: 5 - GherkinDocument:0>Feature:0>Feature_Header:3>Description_Helper:2>#Comment:0";464 token.detach();465 var expectedTokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"];466 var error = token.isEof ?467 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :468 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);469 if (self.stopAtFirstError) throw error;470 addError(context, error);471 return 5;472 }473 // GherkinDocument:0>Feature:1>Background:0>#BackgroundLine:0474 function matchTokenAt_6(token, context) {475 if(match_EOF(context, token)) {476 endRule(context, 'Background');477 endRule(context, 'Feature');478 build(context, token);479 return 27;480 }481 if(match_Empty(context, token)) {482 build(context, token);483 return 6;484 }485 if(match_Comment(context, token)) {486 build(context, token);487 return 8;488 }489 if(match_StepLine(context, token)) {490 startRule(context, 'Step');491 build(context, token);492 return 9;493 }494 if(match_TagLine(context, token)) {495 endRule(context, 'Background');496 startRule(context, 'Scenario_Definition');497 startRule(context, 'Tags');498 build(context, token);499 return 11;500 }501 if(match_ScenarioLine(context, token)) {502 endRule(context, 'Background');503 startRule(context, 'Scenario_Definition');504 startRule(context, 'Scenario');505 build(context, token);506 return 12;507 }508 if(match_ScenarioOutlineLine(context, token)) {509 endRule(context, 'Background');510 startRule(context, 'Scenario_Definition');511 startRule(context, 'ScenarioOutline');512 build(context, token);513 return 17;514 }515 if(match_Other(context, token)) {516 startRule(context, 'Description');517 build(context, token);518 return 7;519 }520 521 var stateComment = "State: 6 - GherkinDocument:0>Feature:1>Background:0>#BackgroundLine:0";522 token.detach();523 var expectedTokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];524 var error = token.isEof ?525 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :526 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);527 if (self.stopAtFirstError) throw error;528 addError(context, error);529 return 6;530 }531 // GherkinDocument:0>Feature:1>Background:1>Description_Helper:1>Description:0>#Other:0532 function matchTokenAt_7(token, context) {533 if(match_EOF(context, token)) {534 endRule(context, 'Description');535 endRule(context, 'Background');536 endRule(context, 'Feature');537 build(context, token);538 return 27;539 }540 if(match_Comment(context, token)) {541 endRule(context, 'Description');542 build(context, token);543 return 8;544 }545 if(match_StepLine(context, token)) {546 endRule(context, 'Description');547 startRule(context, 'Step');548 build(context, token);549 return 9;550 }551 if(match_TagLine(context, token)) {552 endRule(context, 'Description');553 endRule(context, 'Background');554 startRule(context, 'Scenario_Definition');555 startRule(context, 'Tags');556 build(context, token);557 return 11;558 }559 if(match_ScenarioLine(context, token)) {560 endRule(context, 'Description');561 endRule(context, 'Background');562 startRule(context, 'Scenario_Definition');563 startRule(context, 'Scenario');564 build(context, token);565 return 12;566 }567 if(match_ScenarioOutlineLine(context, token)) {568 endRule(context, 'Description');569 endRule(context, 'Background');570 startRule(context, 'Scenario_Definition');571 startRule(context, 'ScenarioOutline');572 build(context, token);573 return 17;574 }575 if(match_Other(context, token)) {576 build(context, token);577 return 7;578 }579 580 var stateComment = "State: 7 - GherkinDocument:0>Feature:1>Background:1>Description_Helper:1>Description:0>#Other:0";581 token.detach();582 var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];583 var error = token.isEof ?584 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :585 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);586 if (self.stopAtFirstError) throw error;587 addError(context, error);588 return 7;589 }590 // GherkinDocument:0>Feature:1>Background:1>Description_Helper:2>#Comment:0591 function matchTokenAt_8(token, context) {592 if(match_EOF(context, token)) {593 endRule(context, 'Background');594 endRule(context, 'Feature');595 build(context, token);596 return 27;597 }598 if(match_Comment(context, token)) {599 build(context, token);600 return 8;601 }602 if(match_StepLine(context, token)) {603 startRule(context, 'Step');604 build(context, token);605 return 9;606 }607 if(match_TagLine(context, token)) {608 endRule(context, 'Background');609 startRule(context, 'Scenario_Definition');610 startRule(context, 'Tags');611 build(context, token);612 return 11;613 }614 if(match_ScenarioLine(context, token)) {615 endRule(context, 'Background');616 startRule(context, 'Scenario_Definition');617 startRule(context, 'Scenario');618 build(context, token);619 return 12;620 }621 if(match_ScenarioOutlineLine(context, token)) {622 endRule(context, 'Background');623 startRule(context, 'Scenario_Definition');624 startRule(context, 'ScenarioOutline');625 build(context, token);626 return 17;627 }628 if(match_Empty(context, token)) {629 build(context, token);630 return 8;631 }632 633 var stateComment = "State: 8 - GherkinDocument:0>Feature:1>Background:1>Description_Helper:2>#Comment:0";634 token.detach();635 var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"];636 var error = token.isEof ?637 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :638 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);639 if (self.stopAtFirstError) throw error;640 addError(context, error);641 return 8;642 }643 // GherkinDocument:0>Feature:1>Background:2>Step:0>#StepLine:0644 function matchTokenAt_9(token, context) {645 if(match_EOF(context, token)) {646 endRule(context, 'Step');647 endRule(context, 'Background');648 endRule(context, 'Feature');649 build(context, token);650 return 27;651 }652 if(match_TableRow(context, token)) {653 startRule(context, 'DataTable');654 build(context, token);655 return 10;656 }657 if(match_DocStringSeparator(context, token)) {658 startRule(context, 'DocString');659 build(context, token);660 return 32;661 }662 if(match_StepLine(context, token)) {663 endRule(context, 'Step');664 startRule(context, 'Step');665 build(context, token);666 return 9;667 }668 if(match_TagLine(context, token)) {669 endRule(context, 'Step');670 endRule(context, 'Background');671 startRule(context, 'Scenario_Definition');672 startRule(context, 'Tags');673 build(context, token);674 return 11;675 }676 if(match_ScenarioLine(context, token)) {677 endRule(context, 'Step');678 endRule(context, 'Background');679 startRule(context, 'Scenario_Definition');680 startRule(context, 'Scenario');681 build(context, token);682 return 12;683 }684 if(match_ScenarioOutlineLine(context, token)) {685 endRule(context, 'Step');686 endRule(context, 'Background');687 startRule(context, 'Scenario_Definition');688 startRule(context, 'ScenarioOutline');689 build(context, token);690 return 17;691 }692 if(match_Comment(context, token)) {693 build(context, token);694 return 9;695 }696 if(match_Empty(context, token)) {697 build(context, token);698 return 9;699 }700 701 var stateComment = "State: 9 - GherkinDocument:0>Feature:1>Background:2>Step:0>#StepLine:0";702 token.detach();703 var expectedTokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];704 var error = token.isEof ?705 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :706 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);707 if (self.stopAtFirstError) throw error;708 addError(context, error);709 return 9;710 }711 // GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:0712 function matchTokenAt_10(token, context) {713 if(match_EOF(context, token)) {714 endRule(context, 'DataTable');715 endRule(context, 'Step');716 endRule(context, 'Background');717 endRule(context, 'Feature');718 build(context, token);719 return 27;720 }721 if(match_TableRow(context, token)) {722 build(context, token);723 return 10;724 }725 if(match_StepLine(context, token)) {726 endRule(context, 'DataTable');727 endRule(context, 'Step');728 startRule(context, 'Step');729 build(context, token);730 return 9;731 }732 if(match_TagLine(context, token)) {733 endRule(context, 'DataTable');734 endRule(context, 'Step');735 endRule(context, 'Background');736 startRule(context, 'Scenario_Definition');737 startRule(context, 'Tags');738 build(context, token);739 return 11;740 }741 if(match_ScenarioLine(context, token)) {742 endRule(context, 'DataTable');743 endRule(context, 'Step');744 endRule(context, 'Background');745 startRule(context, 'Scenario_Definition');746 startRule(context, 'Scenario');747 build(context, token);748 return 12;749 }750 if(match_ScenarioOutlineLine(context, token)) {751 endRule(context, 'DataTable');752 endRule(context, 'Step');753 endRule(context, 'Background');754 startRule(context, 'Scenario_Definition');755 startRule(context, 'ScenarioOutline');756 build(context, token);757 return 17;758 }759 if(match_Comment(context, token)) {760 build(context, token);761 return 10;762 }763 if(match_Empty(context, token)) {764 build(context, token);765 return 10;766 }767 768 var stateComment = "State: 10 - GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:0";769 token.detach();770 var expectedTokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];771 var error = token.isEof ?772 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :773 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);774 if (self.stopAtFirstError) throw error;775 addError(context, error);776 return 10;777 }778 // GherkinDocument:0>Feature:2>Scenario_Definition:0>Tags:0>#TagLine:0779 function matchTokenAt_11(token, context) {780 if(match_TagLine(context, token)) {781 build(context, token);782 return 11;783 }784 if(match_ScenarioLine(context, token)) {785 endRule(context, 'Tags');786 startRule(context, 'Scenario');787 build(context, token);788 return 12;789 }790 if(match_ScenarioOutlineLine(context, token)) {791 endRule(context, 'Tags');792 startRule(context, 'ScenarioOutline');793 build(context, token);794 return 17;795 }796 if(match_Comment(context, token)) {797 build(context, token);798 return 11;799 }800 if(match_Empty(context, token)) {801 build(context, token);802 return 11;803 }804 805 var stateComment = "State: 11 - GherkinDocument:0>Feature:2>Scenario_Definition:0>Tags:0>#TagLine:0";806 token.detach();807 var expectedTokens = ["#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];808 var error = token.isEof ?809 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :810 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);811 if (self.stopAtFirstError) throw error;812 addError(context, error);813 return 11;814 }815 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:0>#ScenarioLine:0816 function matchTokenAt_12(token, context) {817 if(match_EOF(context, token)) {818 endRule(context, 'Scenario');819 endRule(context, 'Scenario_Definition');820 endRule(context, 'Feature');821 build(context, token);822 return 27;823 }824 if(match_Empty(context, token)) {825 build(context, token);826 return 12;827 }828 if(match_Comment(context, token)) {829 build(context, token);830 return 14;831 }832 if(match_StepLine(context, token)) {833 startRule(context, 'Step');834 build(context, token);835 return 15;836 }837 if(match_TagLine(context, token)) {838 endRule(context, 'Scenario');839 endRule(context, 'Scenario_Definition');840 startRule(context, 'Scenario_Definition');841 startRule(context, 'Tags');842 build(context, token);843 return 11;844 }845 if(match_ScenarioLine(context, token)) {846 endRule(context, 'Scenario');847 endRule(context, 'Scenario_Definition');848 startRule(context, 'Scenario_Definition');849 startRule(context, 'Scenario');850 build(context, token);851 return 12;852 }853 if(match_ScenarioOutlineLine(context, token)) {854 endRule(context, 'Scenario');855 endRule(context, 'Scenario_Definition');856 startRule(context, 'Scenario_Definition');857 startRule(context, 'ScenarioOutline');858 build(context, token);859 return 17;860 }861 if(match_Other(context, token)) {862 startRule(context, 'Description');863 build(context, token);864 return 13;865 }866 867 var stateComment = "State: 12 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:0>#ScenarioLine:0";868 token.detach();869 var expectedTokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];870 var error = token.isEof ?871 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :872 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);873 if (self.stopAtFirstError) throw error;874 addError(context, error);875 return 12;876 }877 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:1>Description_Helper:1>Description:0>#Other:0878 function matchTokenAt_13(token, context) {879 if(match_EOF(context, token)) {880 endRule(context, 'Description');881 endRule(context, 'Scenario');882 endRule(context, 'Scenario_Definition');883 endRule(context, 'Feature');884 build(context, token);885 return 27;886 }887 if(match_Comment(context, token)) {888 endRule(context, 'Description');889 build(context, token);890 return 14;891 }892 if(match_StepLine(context, token)) {893 endRule(context, 'Description');894 startRule(context, 'Step');895 build(context, token);896 return 15;897 }898 if(match_TagLine(context, token)) {899 endRule(context, 'Description');900 endRule(context, 'Scenario');901 endRule(context, 'Scenario_Definition');902 startRule(context, 'Scenario_Definition');903 startRule(context, 'Tags');904 build(context, token);905 return 11;906 }907 if(match_ScenarioLine(context, token)) {908 endRule(context, 'Description');909 endRule(context, 'Scenario');910 endRule(context, 'Scenario_Definition');911 startRule(context, 'Scenario_Definition');912 startRule(context, 'Scenario');913 build(context, token);914 return 12;915 }916 if(match_ScenarioOutlineLine(context, token)) {917 endRule(context, 'Description');918 endRule(context, 'Scenario');919 endRule(context, 'Scenario_Definition');920 startRule(context, 'Scenario_Definition');921 startRule(context, 'ScenarioOutline');922 build(context, token);923 return 17;924 }925 if(match_Other(context, token)) {926 build(context, token);927 return 13;928 }929 930 var stateComment = "State: 13 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:1>Description_Helper:1>Description:0>#Other:0";931 token.detach();932 var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];933 var error = token.isEof ?934 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :935 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);936 if (self.stopAtFirstError) throw error;937 addError(context, error);938 return 13;939 }940 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:1>Description_Helper:2>#Comment:0941 function matchTokenAt_14(token, context) {942 if(match_EOF(context, token)) {943 endRule(context, 'Scenario');944 endRule(context, 'Scenario_Definition');945 endRule(context, 'Feature');946 build(context, token);947 return 27;948 }949 if(match_Comment(context, token)) {950 build(context, token);951 return 14;952 }953 if(match_StepLine(context, token)) {954 startRule(context, 'Step');955 build(context, token);956 return 15;957 }958 if(match_TagLine(context, token)) {959 endRule(context, 'Scenario');960 endRule(context, 'Scenario_Definition');961 startRule(context, 'Scenario_Definition');962 startRule(context, 'Tags');963 build(context, token);964 return 11;965 }966 if(match_ScenarioLine(context, token)) {967 endRule(context, 'Scenario');968 endRule(context, 'Scenario_Definition');969 startRule(context, 'Scenario_Definition');970 startRule(context, 'Scenario');971 build(context, token);972 return 12;973 }974 if(match_ScenarioOutlineLine(context, token)) {975 endRule(context, 'Scenario');976 endRule(context, 'Scenario_Definition');977 startRule(context, 'Scenario_Definition');978 startRule(context, 'ScenarioOutline');979 build(context, token);980 return 17;981 }982 if(match_Empty(context, token)) {983 build(context, token);984 return 14;985 }986 987 var stateComment = "State: 14 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:1>Description_Helper:2>#Comment:0";988 token.detach();989 var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"];990 var error = token.isEof ?991 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :992 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);993 if (self.stopAtFirstError) throw error;994 addError(context, error);995 return 14;996 }997 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:0>#StepLine:0998 function matchTokenAt_15(token, context) {999 if(match_EOF(context, token)) {1000 endRule(context, 'Step');1001 endRule(context, 'Scenario');1002 endRule(context, 'Scenario_Definition');1003 endRule(context, 'Feature');1004 build(context, token);1005 return 27;1006 }1007 if(match_TableRow(context, token)) {1008 startRule(context, 'DataTable');1009 build(context, token);1010 return 16;1011 }1012 if(match_DocStringSeparator(context, token)) {1013 startRule(context, 'DocString');1014 build(context, token);1015 return 30;1016 }1017 if(match_StepLine(context, token)) {1018 endRule(context, 'Step');1019 startRule(context, 'Step');1020 build(context, token);1021 return 15;1022 }1023 if(match_TagLine(context, token)) {1024 endRule(context, 'Step');1025 endRule(context, 'Scenario');1026 endRule(context, 'Scenario_Definition');1027 startRule(context, 'Scenario_Definition');1028 startRule(context, 'Tags');1029 build(context, token);1030 return 11;1031 }1032 if(match_ScenarioLine(context, token)) {1033 endRule(context, 'Step');1034 endRule(context, 'Scenario');1035 endRule(context, 'Scenario_Definition');1036 startRule(context, 'Scenario_Definition');1037 startRule(context, 'Scenario');1038 build(context, token);1039 return 12;1040 }1041 if(match_ScenarioOutlineLine(context, token)) {1042 endRule(context, 'Step');1043 endRule(context, 'Scenario');1044 endRule(context, 'Scenario_Definition');1045 startRule(context, 'Scenario_Definition');1046 startRule(context, 'ScenarioOutline');1047 build(context, token);1048 return 17;1049 }1050 if(match_Comment(context, token)) {1051 build(context, token);1052 return 15;1053 }1054 if(match_Empty(context, token)) {1055 build(context, token);1056 return 15;1057 }1058 1059 var stateComment = "State: 15 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:0>#StepLine:0";1060 token.detach();1061 var expectedTokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];1062 var error = token.isEof ?1063 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1064 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1065 if (self.stopAtFirstError) throw error;1066 addError(context, error);1067 return 15;1068 }1069 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:01070 function matchTokenAt_16(token, context) {1071 if(match_EOF(context, token)) {1072 endRule(context, 'DataTable');1073 endRule(context, 'Step');1074 endRule(context, 'Scenario');1075 endRule(context, 'Scenario_Definition');1076 endRule(context, 'Feature');1077 build(context, token);1078 return 27;1079 }1080 if(match_TableRow(context, token)) {1081 build(context, token);1082 return 16;1083 }1084 if(match_StepLine(context, token)) {1085 endRule(context, 'DataTable');1086 endRule(context, 'Step');1087 startRule(context, 'Step');1088 build(context, token);1089 return 15;1090 }1091 if(match_TagLine(context, token)) {1092 endRule(context, 'DataTable');1093 endRule(context, 'Step');1094 endRule(context, 'Scenario');1095 endRule(context, 'Scenario_Definition');1096 startRule(context, 'Scenario_Definition');1097 startRule(context, 'Tags');1098 build(context, token);1099 return 11;1100 }1101 if(match_ScenarioLine(context, token)) {1102 endRule(context, 'DataTable');1103 endRule(context, 'Step');1104 endRule(context, 'Scenario');1105 endRule(context, 'Scenario_Definition');1106 startRule(context, 'Scenario_Definition');1107 startRule(context, 'Scenario');1108 build(context, token);1109 return 12;1110 }1111 if(match_ScenarioOutlineLine(context, token)) {1112 endRule(context, 'DataTable');1113 endRule(context, 'Step');1114 endRule(context, 'Scenario');1115 endRule(context, 'Scenario_Definition');1116 startRule(context, 'Scenario_Definition');1117 startRule(context, 'ScenarioOutline');1118 build(context, token);1119 return 17;1120 }1121 if(match_Comment(context, token)) {1122 build(context, token);1123 return 16;1124 }1125 if(match_Empty(context, token)) {1126 build(context, token);1127 return 16;1128 }1129 1130 var stateComment = "State: 16 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:0";1131 token.detach();1132 var expectedTokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];1133 var error = token.isEof ?1134 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1135 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1136 if (self.stopAtFirstError) throw error;1137 addError(context, error);1138 return 16;1139 }1140 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:0>#ScenarioOutlineLine:01141 function matchTokenAt_17(token, context) {1142 if(match_EOF(context, token)) {1143 endRule(context, 'ScenarioOutline');1144 endRule(context, 'Scenario_Definition');1145 endRule(context, 'Feature');1146 build(context, token);1147 return 27;1148 }1149 if(match_Empty(context, token)) {1150 build(context, token);1151 return 17;1152 }1153 if(match_Comment(context, token)) {1154 build(context, token);1155 return 19;1156 }1157 if(match_StepLine(context, token)) {1158 startRule(context, 'Step');1159 build(context, token);1160 return 20;1161 }1162 if(match_TagLine(context, token)) {1163 if(lookahead_0(context, token)) {1164 startRule(context, 'Examples_Definition');1165 startRule(context, 'Tags');1166 build(context, token);1167 return 22;1168 }1169 }1170 if(match_TagLine(context, token)) {1171 endRule(context, 'ScenarioOutline');1172 endRule(context, 'Scenario_Definition');1173 startRule(context, 'Scenario_Definition');1174 startRule(context, 'Tags');1175 build(context, token);1176 return 11;1177 }1178 if(match_ExamplesLine(context, token)) {1179 startRule(context, 'Examples_Definition');1180 startRule(context, 'Examples');1181 build(context, token);1182 return 23;1183 }1184 if(match_ScenarioLine(context, token)) {1185 endRule(context, 'ScenarioOutline');1186 endRule(context, 'Scenario_Definition');1187 startRule(context, 'Scenario_Definition');1188 startRule(context, 'Scenario');1189 build(context, token);1190 return 12;1191 }1192 if(match_ScenarioOutlineLine(context, token)) {1193 endRule(context, 'ScenarioOutline');1194 endRule(context, 'Scenario_Definition');1195 startRule(context, 'Scenario_Definition');1196 startRule(context, 'ScenarioOutline');1197 build(context, token);1198 return 17;1199 }1200 if(match_Other(context, token)) {1201 startRule(context, 'Description');1202 build(context, token);1203 return 18;1204 }1205 1206 var stateComment = "State: 17 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:0>#ScenarioOutlineLine:0";1207 token.detach();1208 var expectedTokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];1209 var error = token.isEof ?1210 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1211 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1212 if (self.stopAtFirstError) throw error;1213 addError(context, error);1214 return 17;1215 }1216 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:1>Description_Helper:1>Description:0>#Other:01217 function matchTokenAt_18(token, context) {1218 if(match_EOF(context, token)) {1219 endRule(context, 'Description');1220 endRule(context, 'ScenarioOutline');1221 endRule(context, 'Scenario_Definition');1222 endRule(context, 'Feature');1223 build(context, token);1224 return 27;1225 }1226 if(match_Comment(context, token)) {1227 endRule(context, 'Description');1228 build(context, token);1229 return 19;1230 }1231 if(match_StepLine(context, token)) {1232 endRule(context, 'Description');1233 startRule(context, 'Step');1234 build(context, token);1235 return 20;1236 }1237 if(match_TagLine(context, token)) {1238 if(lookahead_0(context, token)) {1239 endRule(context, 'Description');1240 startRule(context, 'Examples_Definition');1241 startRule(context, 'Tags');1242 build(context, token);1243 return 22;1244 }1245 }1246 if(match_TagLine(context, token)) {1247 endRule(context, 'Description');1248 endRule(context, 'ScenarioOutline');1249 endRule(context, 'Scenario_Definition');1250 startRule(context, 'Scenario_Definition');1251 startRule(context, 'Tags');1252 build(context, token);1253 return 11;1254 }1255 if(match_ExamplesLine(context, token)) {1256 endRule(context, 'Description');1257 startRule(context, 'Examples_Definition');1258 startRule(context, 'Examples');1259 build(context, token);1260 return 23;1261 }1262 if(match_ScenarioLine(context, token)) {1263 endRule(context, 'Description');1264 endRule(context, 'ScenarioOutline');1265 endRule(context, 'Scenario_Definition');1266 startRule(context, 'Scenario_Definition');1267 startRule(context, 'Scenario');1268 build(context, token);1269 return 12;1270 }1271 if(match_ScenarioOutlineLine(context, token)) {1272 endRule(context, 'Description');1273 endRule(context, 'ScenarioOutline');1274 endRule(context, 'Scenario_Definition');1275 startRule(context, 'Scenario_Definition');1276 startRule(context, 'ScenarioOutline');1277 build(context, token);1278 return 17;1279 }1280 if(match_Other(context, token)) {1281 build(context, token);1282 return 18;1283 }1284 1285 var stateComment = "State: 18 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:1>Description_Helper:1>Description:0>#Other:0";1286 token.detach();1287 var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];1288 var error = token.isEof ?1289 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1290 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1291 if (self.stopAtFirstError) throw error;1292 addError(context, error);1293 return 18;1294 }1295 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:1>Description_Helper:2>#Comment:01296 function matchTokenAt_19(token, context) {1297 if(match_EOF(context, token)) {1298 endRule(context, 'ScenarioOutline');1299 endRule(context, 'Scenario_Definition');1300 endRule(context, 'Feature');1301 build(context, token);1302 return 27;1303 }1304 if(match_Comment(context, token)) {1305 build(context, token);1306 return 19;1307 }1308 if(match_StepLine(context, token)) {1309 startRule(context, 'Step');1310 build(context, token);1311 return 20;1312 }1313 if(match_TagLine(context, token)) {1314 if(lookahead_0(context, token)) {1315 startRule(context, 'Examples_Definition');1316 startRule(context, 'Tags');1317 build(context, token);1318 return 22;1319 }1320 }1321 if(match_TagLine(context, token)) {1322 endRule(context, 'ScenarioOutline');1323 endRule(context, 'Scenario_Definition');1324 startRule(context, 'Scenario_Definition');1325 startRule(context, 'Tags');1326 build(context, token);1327 return 11;1328 }1329 if(match_ExamplesLine(context, token)) {1330 startRule(context, 'Examples_Definition');1331 startRule(context, 'Examples');1332 build(context, token);1333 return 23;1334 }1335 if(match_ScenarioLine(context, token)) {1336 endRule(context, 'ScenarioOutline');1337 endRule(context, 'Scenario_Definition');1338 startRule(context, 'Scenario_Definition');1339 startRule(context, 'Scenario');1340 build(context, token);1341 return 12;1342 }1343 if(match_ScenarioOutlineLine(context, token)) {1344 endRule(context, 'ScenarioOutline');1345 endRule(context, 'Scenario_Definition');1346 startRule(context, 'Scenario_Definition');1347 startRule(context, 'ScenarioOutline');1348 build(context, token);1349 return 17;1350 }1351 if(match_Empty(context, token)) {1352 build(context, token);1353 return 19;1354 }1355 1356 var stateComment = "State: 19 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:1>Description_Helper:2>#Comment:0";1357 token.detach();1358 var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"];1359 var error = token.isEof ?1360 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1361 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1362 if (self.stopAtFirstError) throw error;1363 addError(context, error);1364 return 19;1365 }1366 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:0>#StepLine:01367 function matchTokenAt_20(token, context) {1368 if(match_EOF(context, token)) {1369 endRule(context, 'Step');1370 endRule(context, 'ScenarioOutline');1371 endRule(context, 'Scenario_Definition');1372 endRule(context, 'Feature');1373 build(context, token);1374 return 27;1375 }1376 if(match_TableRow(context, token)) {1377 startRule(context, 'DataTable');1378 build(context, token);1379 return 21;1380 }1381 if(match_DocStringSeparator(context, token)) {1382 startRule(context, 'DocString');1383 build(context, token);1384 return 28;1385 }1386 if(match_StepLine(context, token)) {1387 endRule(context, 'Step');1388 startRule(context, 'Step');1389 build(context, token);1390 return 20;1391 }1392 if(match_TagLine(context, token)) {1393 if(lookahead_0(context, token)) {1394 endRule(context, 'Step');1395 startRule(context, 'Examples_Definition');1396 startRule(context, 'Tags');1397 build(context, token);1398 return 22;1399 }1400 }1401 if(match_TagLine(context, token)) {1402 endRule(context, 'Step');1403 endRule(context, 'ScenarioOutline');1404 endRule(context, 'Scenario_Definition');1405 startRule(context, 'Scenario_Definition');1406 startRule(context, 'Tags');1407 build(context, token);1408 return 11;1409 }1410 if(match_ExamplesLine(context, token)) {1411 endRule(context, 'Step');1412 startRule(context, 'Examples_Definition');1413 startRule(context, 'Examples');1414 build(context, token);1415 return 23;1416 }1417 if(match_ScenarioLine(context, token)) {1418 endRule(context, 'Step');1419 endRule(context, 'ScenarioOutline');1420 endRule(context, 'Scenario_Definition');1421 startRule(context, 'Scenario_Definition');1422 startRule(context, 'Scenario');1423 build(context, token);1424 return 12;1425 }1426 if(match_ScenarioOutlineLine(context, token)) {1427 endRule(context, 'Step');1428 endRule(context, 'ScenarioOutline');1429 endRule(context, 'Scenario_Definition');1430 startRule(context, 'Scenario_Definition');1431 startRule(context, 'ScenarioOutline');1432 build(context, token);1433 return 17;1434 }1435 if(match_Comment(context, token)) {1436 build(context, token);1437 return 20;1438 }1439 if(match_Empty(context, token)) {1440 build(context, token);1441 return 20;1442 }1443 1444 var stateComment = "State: 20 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:0>#StepLine:0";1445 token.detach();1446 var expectedTokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];1447 var error = token.isEof ?1448 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1449 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1450 if (self.stopAtFirstError) throw error;1451 addError(context, error);1452 return 20;1453 }1454 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:01455 function matchTokenAt_21(token, context) {1456 if(match_EOF(context, token)) {1457 endRule(context, 'DataTable');1458 endRule(context, 'Step');1459 endRule(context, 'ScenarioOutline');1460 endRule(context, 'Scenario_Definition');1461 endRule(context, 'Feature');1462 build(context, token);1463 return 27;1464 }1465 if(match_TableRow(context, token)) {1466 build(context, token);1467 return 21;1468 }1469 if(match_StepLine(context, token)) {1470 endRule(context, 'DataTable');1471 endRule(context, 'Step');1472 startRule(context, 'Step');1473 build(context, token);1474 return 20;1475 }1476 if(match_TagLine(context, token)) {1477 if(lookahead_0(context, token)) {1478 endRule(context, 'DataTable');1479 endRule(context, 'Step');1480 startRule(context, 'Examples_Definition');1481 startRule(context, 'Tags');1482 build(context, token);1483 return 22;1484 }1485 }1486 if(match_TagLine(context, token)) {1487 endRule(context, 'DataTable');1488 endRule(context, 'Step');1489 endRule(context, 'ScenarioOutline');1490 endRule(context, 'Scenario_Definition');1491 startRule(context, 'Scenario_Definition');1492 startRule(context, 'Tags');1493 build(context, token);1494 return 11;1495 }1496 if(match_ExamplesLine(context, token)) {1497 endRule(context, 'DataTable');1498 endRule(context, 'Step');1499 startRule(context, 'Examples_Definition');1500 startRule(context, 'Examples');1501 build(context, token);1502 return 23;1503 }1504 if(match_ScenarioLine(context, token)) {1505 endRule(context, 'DataTable');1506 endRule(context, 'Step');1507 endRule(context, 'ScenarioOutline');1508 endRule(context, 'Scenario_Definition');1509 startRule(context, 'Scenario_Definition');1510 startRule(context, 'Scenario');1511 build(context, token);1512 return 12;1513 }1514 if(match_ScenarioOutlineLine(context, token)) {1515 endRule(context, 'DataTable');1516 endRule(context, 'Step');1517 endRule(context, 'ScenarioOutline');1518 endRule(context, 'Scenario_Definition');1519 startRule(context, 'Scenario_Definition');1520 startRule(context, 'ScenarioOutline');1521 build(context, token);1522 return 17;1523 }1524 if(match_Comment(context, token)) {1525 build(context, token);1526 return 21;1527 }1528 if(match_Empty(context, token)) {1529 build(context, token);1530 return 21;1531 }1532 1533 var stateComment = "State: 21 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:0";1534 token.detach();1535 var expectedTokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];1536 var error = token.isEof ?1537 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1538 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1539 if (self.stopAtFirstError) throw error;1540 addError(context, error);1541 return 21;1542 }1543 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:0>Tags:0>#TagLine:01544 function matchTokenAt_22(token, context) {1545 if(match_TagLine(context, token)) {1546 build(context, token);1547 return 22;1548 }1549 if(match_ExamplesLine(context, token)) {1550 endRule(context, 'Tags');1551 startRule(context, 'Examples');1552 build(context, token);1553 return 23;1554 }1555 if(match_Comment(context, token)) {1556 build(context, token);1557 return 22;1558 }1559 if(match_Empty(context, token)) {1560 build(context, token);1561 return 22;1562 }1563 1564 var stateComment = "State: 22 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:0>Tags:0>#TagLine:0";1565 token.detach();1566 var expectedTokens = ["#TagLine", "#ExamplesLine", "#Comment", "#Empty"];1567 var error = token.isEof ?1568 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1569 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1570 if (self.stopAtFirstError) throw error;1571 addError(context, error);1572 return 22;1573 }1574 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:0>#ExamplesLine:01575 function matchTokenAt_23(token, context) {1576 if(match_EOF(context, token)) {1577 endRule(context, 'Examples');1578 endRule(context, 'Examples_Definition');1579 endRule(context, 'ScenarioOutline');1580 endRule(context, 'Scenario_Definition');1581 endRule(context, 'Feature');1582 build(context, token);1583 return 27;1584 }1585 if(match_Empty(context, token)) {1586 build(context, token);1587 return 23;1588 }1589 if(match_Comment(context, token)) {1590 build(context, token);1591 return 25;1592 }1593 if(match_TableRow(context, token)) {1594 startRule(context, 'Examples_Table');1595 build(context, token);1596 return 26;1597 }1598 if(match_TagLine(context, token)) {1599 if(lookahead_0(context, token)) {1600 endRule(context, 'Examples');1601 endRule(context, 'Examples_Definition');1602 startRule(context, 'Examples_Definition');1603 startRule(context, 'Tags');1604 build(context, token);1605 return 22;1606 }1607 }1608 if(match_TagLine(context, token)) {1609 endRule(context, 'Examples');1610 endRule(context, 'Examples_Definition');1611 endRule(context, 'ScenarioOutline');1612 endRule(context, 'Scenario_Definition');1613 startRule(context, 'Scenario_Definition');1614 startRule(context, 'Tags');1615 build(context, token);1616 return 11;1617 }1618 if(match_ExamplesLine(context, token)) {1619 endRule(context, 'Examples');1620 endRule(context, 'Examples_Definition');1621 startRule(context, 'Examples_Definition');1622 startRule(context, 'Examples');1623 build(context, token);1624 return 23;1625 }1626 if(match_ScenarioLine(context, token)) {1627 endRule(context, 'Examples');1628 endRule(context, 'Examples_Definition');1629 endRule(context, 'ScenarioOutline');1630 endRule(context, 'Scenario_Definition');1631 startRule(context, 'Scenario_Definition');1632 startRule(context, 'Scenario');1633 build(context, token);1634 return 12;1635 }1636 if(match_ScenarioOutlineLine(context, token)) {1637 endRule(context, 'Examples');1638 endRule(context, 'Examples_Definition');1639 endRule(context, 'ScenarioOutline');1640 endRule(context, 'Scenario_Definition');1641 startRule(context, 'Scenario_Definition');1642 startRule(context, 'ScenarioOutline');1643 build(context, token);1644 return 17;1645 }1646 if(match_Other(context, token)) {1647 startRule(context, 'Description');1648 build(context, token);1649 return 24;1650 }1651 1652 var stateComment = "State: 23 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:0>#ExamplesLine:0";1653 token.detach();1654 var expectedTokens = ["#EOF", "#Empty", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];1655 var error = token.isEof ?1656 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1657 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1658 if (self.stopAtFirstError) throw error;1659 addError(context, error);1660 return 23;1661 }1662 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:1>Description_Helper:1>Description:0>#Other:01663 function matchTokenAt_24(token, context) {1664 if(match_EOF(context, token)) {1665 endRule(context, 'Description');1666 endRule(context, 'Examples');1667 endRule(context, 'Examples_Definition');1668 endRule(context, 'ScenarioOutline');1669 endRule(context, 'Scenario_Definition');1670 endRule(context, 'Feature');1671 build(context, token);1672 return 27;1673 }1674 if(match_Comment(context, token)) {1675 endRule(context, 'Description');1676 build(context, token);1677 return 25;1678 }1679 if(match_TableRow(context, token)) {1680 endRule(context, 'Description');1681 startRule(context, 'Examples_Table');1682 build(context, token);1683 return 26;1684 }1685 if(match_TagLine(context, token)) {1686 if(lookahead_0(context, token)) {1687 endRule(context, 'Description');1688 endRule(context, 'Examples');1689 endRule(context, 'Examples_Definition');1690 startRule(context, 'Examples_Definition');1691 startRule(context, 'Tags');1692 build(context, token);1693 return 22;1694 }1695 }1696 if(match_TagLine(context, token)) {1697 endRule(context, 'Description');1698 endRule(context, 'Examples');1699 endRule(context, 'Examples_Definition');1700 endRule(context, 'ScenarioOutline');1701 endRule(context, 'Scenario_Definition');1702 startRule(context, 'Scenario_Definition');1703 startRule(context, 'Tags');1704 build(context, token);1705 return 11;1706 }1707 if(match_ExamplesLine(context, token)) {1708 endRule(context, 'Description');1709 endRule(context, 'Examples');1710 endRule(context, 'Examples_Definition');1711 startRule(context, 'Examples_Definition');1712 startRule(context, 'Examples');1713 build(context, token);1714 return 23;1715 }1716 if(match_ScenarioLine(context, token)) {1717 endRule(context, 'Description');1718 endRule(context, 'Examples');1719 endRule(context, 'Examples_Definition');1720 endRule(context, 'ScenarioOutline');1721 endRule(context, 'Scenario_Definition');1722 startRule(context, 'Scenario_Definition');1723 startRule(context, 'Scenario');1724 build(context, token);1725 return 12;1726 }1727 if(match_ScenarioOutlineLine(context, token)) {1728 endRule(context, 'Description');1729 endRule(context, 'Examples');1730 endRule(context, 'Examples_Definition');1731 endRule(context, 'ScenarioOutline');1732 endRule(context, 'Scenario_Definition');1733 startRule(context, 'Scenario_Definition');1734 startRule(context, 'ScenarioOutline');1735 build(context, token);1736 return 17;1737 }1738 if(match_Other(context, token)) {1739 build(context, token);1740 return 24;1741 }1742 1743 var stateComment = "State: 24 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:1>Description_Helper:1>Description:0>#Other:0";1744 token.detach();1745 var expectedTokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];1746 var error = token.isEof ?1747 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1748 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1749 if (self.stopAtFirstError) throw error;1750 addError(context, error);1751 return 24;1752 }1753 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:1>Description_Helper:2>#Comment:01754 function matchTokenAt_25(token, context) {1755 if(match_EOF(context, token)) {1756 endRule(context, 'Examples');1757 endRule(context, 'Examples_Definition');1758 endRule(context, 'ScenarioOutline');1759 endRule(context, 'Scenario_Definition');1760 endRule(context, 'Feature');1761 build(context, token);1762 return 27;1763 }1764 if(match_Comment(context, token)) {1765 build(context, token);1766 return 25;1767 }1768 if(match_TableRow(context, token)) {1769 startRule(context, 'Examples_Table');1770 build(context, token);1771 return 26;1772 }1773 if(match_TagLine(context, token)) {1774 if(lookahead_0(context, token)) {1775 endRule(context, 'Examples');1776 endRule(context, 'Examples_Definition');1777 startRule(context, 'Examples_Definition');1778 startRule(context, 'Tags');1779 build(context, token);1780 return 22;1781 }1782 }1783 if(match_TagLine(context, token)) {1784 endRule(context, 'Examples');1785 endRule(context, 'Examples_Definition');1786 endRule(context, 'ScenarioOutline');1787 endRule(context, 'Scenario_Definition');1788 startRule(context, 'Scenario_Definition');1789 startRule(context, 'Tags');1790 build(context, token);1791 return 11;1792 }1793 if(match_ExamplesLine(context, token)) {1794 endRule(context, 'Examples');1795 endRule(context, 'Examples_Definition');1796 startRule(context, 'Examples_Definition');1797 startRule(context, 'Examples');1798 build(context, token);1799 return 23;1800 }1801 if(match_ScenarioLine(context, token)) {1802 endRule(context, 'Examples');1803 endRule(context, 'Examples_Definition');1804 endRule(context, 'ScenarioOutline');1805 endRule(context, 'Scenario_Definition');1806 startRule(context, 'Scenario_Definition');1807 startRule(context, 'Scenario');1808 build(context, token);1809 return 12;1810 }1811 if(match_ScenarioOutlineLine(context, token)) {1812 endRule(context, 'Examples');1813 endRule(context, 'Examples_Definition');1814 endRule(context, 'ScenarioOutline');1815 endRule(context, 'Scenario_Definition');1816 startRule(context, 'Scenario_Definition');1817 startRule(context, 'ScenarioOutline');1818 build(context, token);1819 return 17;1820 }1821 if(match_Empty(context, token)) {1822 build(context, token);1823 return 25;1824 }1825 1826 var stateComment = "State: 25 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:1>Description_Helper:2>#Comment:0";1827 token.detach();1828 var expectedTokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"];1829 var error = token.isEof ?1830 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1831 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1832 if (self.stopAtFirstError) throw error;1833 addError(context, error);1834 return 25;1835 }1836 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:2>Examples_Table:0>#TableRow:01837 function matchTokenAt_26(token, context) {1838 if(match_EOF(context, token)) {1839 endRule(context, 'Examples_Table');1840 endRule(context, 'Examples');1841 endRule(context, 'Examples_Definition');1842 endRule(context, 'ScenarioOutline');1843 endRule(context, 'Scenario_Definition');1844 endRule(context, 'Feature');1845 build(context, token);1846 return 27;1847 }1848 if(match_TableRow(context, token)) {1849 build(context, token);1850 return 26;1851 }1852 if(match_TagLine(context, token)) {1853 if(lookahead_0(context, token)) {1854 endRule(context, 'Examples_Table');1855 endRule(context, 'Examples');1856 endRule(context, 'Examples_Definition');1857 startRule(context, 'Examples_Definition');1858 startRule(context, 'Tags');1859 build(context, token);1860 return 22;1861 }1862 }1863 if(match_TagLine(context, token)) {1864 endRule(context, 'Examples_Table');1865 endRule(context, 'Examples');1866 endRule(context, 'Examples_Definition');1867 endRule(context, 'ScenarioOutline');1868 endRule(context, 'Scenario_Definition');1869 startRule(context, 'Scenario_Definition');1870 startRule(context, 'Tags');1871 build(context, token);1872 return 11;1873 }1874 if(match_ExamplesLine(context, token)) {1875 endRule(context, 'Examples_Table');1876 endRule(context, 'Examples');1877 endRule(context, 'Examples_Definition');1878 startRule(context, 'Examples_Definition');1879 startRule(context, 'Examples');1880 build(context, token);1881 return 23;1882 }1883 if(match_ScenarioLine(context, token)) {1884 endRule(context, 'Examples_Table');1885 endRule(context, 'Examples');1886 endRule(context, 'Examples_Definition');1887 endRule(context, 'ScenarioOutline');1888 endRule(context, 'Scenario_Definition');1889 startRule(context, 'Scenario_Definition');1890 startRule(context, 'Scenario');1891 build(context, token);1892 return 12;1893 }1894 if(match_ScenarioOutlineLine(context, token)) {1895 endRule(context, 'Examples_Table');1896 endRule(context, 'Examples');1897 endRule(context, 'Examples_Definition');1898 endRule(context, 'ScenarioOutline');1899 endRule(context, 'Scenario_Definition');1900 startRule(context, 'Scenario_Definition');1901 startRule(context, 'ScenarioOutline');1902 build(context, token);1903 return 17;1904 }1905 if(match_Comment(context, token)) {1906 build(context, token);1907 return 26;1908 }1909 if(match_Empty(context, token)) {1910 build(context, token);1911 return 26;1912 }1913 1914 var stateComment = "State: 26 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:2>Examples_Table:0>#TableRow:0";1915 token.detach();1916 var expectedTokens = ["#EOF", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];1917 var error = token.isEof ?1918 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1919 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1920 if (self.stopAtFirstError) throw error;1921 addError(context, error);1922 return 26;1923 }1924 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:01925 function matchTokenAt_28(token, context) {1926 if(match_DocStringSeparator(context, token)) {1927 build(context, token);1928 return 29;1929 }1930 if(match_Other(context, token)) {1931 build(context, token);1932 return 28;1933 }1934 1935 var stateComment = "State: 28 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:0";1936 token.detach();1937 var expectedTokens = ["#DocStringSeparator", "#Other"];1938 var error = token.isEof ?1939 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1940 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1941 if (self.stopAtFirstError) throw error;1942 addError(context, error);1943 return 28;1944 }1945 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:01946 function matchTokenAt_29(token, context) {1947 if(match_EOF(context, token)) {1948 endRule(context, 'DocString');1949 endRule(context, 'Step');1950 endRule(context, 'ScenarioOutline');1951 endRule(context, 'Scenario_Definition');1952 endRule(context, 'Feature');1953 build(context, token);1954 return 27;1955 }1956 if(match_StepLine(context, token)) {1957 endRule(context, 'DocString');1958 endRule(context, 'Step');1959 startRule(context, 'Step');1960 build(context, token);1961 return 20;1962 }1963 if(match_TagLine(context, token)) {1964 if(lookahead_0(context, token)) {1965 endRule(context, 'DocString');1966 endRule(context, 'Step');1967 startRule(context, 'Examples_Definition');1968 startRule(context, 'Tags');1969 build(context, token);1970 return 22;1971 }1972 }1973 if(match_TagLine(context, token)) {1974 endRule(context, 'DocString');1975 endRule(context, 'Step');1976 endRule(context, 'ScenarioOutline');1977 endRule(context, 'Scenario_Definition');1978 startRule(context, 'Scenario_Definition');1979 startRule(context, 'Tags');1980 build(context, token);1981 return 11;1982 }1983 if(match_ExamplesLine(context, token)) {1984 endRule(context, 'DocString');1985 endRule(context, 'Step');1986 startRule(context, 'Examples_Definition');1987 startRule(context, 'Examples');1988 build(context, token);1989 return 23;1990 }1991 if(match_ScenarioLine(context, token)) {1992 endRule(context, 'DocString');1993 endRule(context, 'Step');1994 endRule(context, 'ScenarioOutline');1995 endRule(context, 'Scenario_Definition');1996 startRule(context, 'Scenario_Definition');1997 startRule(context, 'Scenario');1998 build(context, token);1999 return 12;2000 }2001 if(match_ScenarioOutlineLine(context, token)) {2002 endRule(context, 'DocString');2003 endRule(context, 'Step');2004 endRule(context, 'ScenarioOutline');2005 endRule(context, 'Scenario_Definition');2006 startRule(context, 'Scenario_Definition');2007 startRule(context, 'ScenarioOutline');2008 build(context, token);2009 return 17;2010 }2011 if(match_Comment(context, token)) {2012 build(context, token);2013 return 29;2014 }2015 if(match_Empty(context, token)) {2016 build(context, token);2017 return 29;2018 }2019 2020 var stateComment = "State: 29 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:0";2021 token.detach();2022 var expectedTokens = ["#EOF", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];2023 var error = token.isEof ?2024 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :2025 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);2026 if (self.stopAtFirstError) throw error;2027 addError(context, error);2028 return 29;2029 }2030 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:02031 function matchTokenAt_30(token, context) {2032 if(match_DocStringSeparator(context, token)) {2033 build(context, token);2034 return 31;2035 }2036 if(match_Other(context, token)) {2037 build(context, token);2038 return 30;2039 }2040 2041 var stateComment = "State: 30 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:0";2042 token.detach();2043 var expectedTokens = ["#DocStringSeparator", "#Other"];2044 var error = token.isEof ?2045 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :2046 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);2047 if (self.stopAtFirstError) throw error;2048 addError(context, error);2049 return 30;2050 }2051 // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:02052 function matchTokenAt_31(token, context) {2053 if(match_EOF(context, token)) {2054 endRule(context, 'DocString');2055 endRule(context, 'Step');2056 endRule(context, 'Scenario');2057 endRule(context, 'Scenario_Definition');2058 endRule(context, 'Feature');2059 build(context, token);2060 return 27;2061 }2062 if(match_StepLine(context, token)) {2063 endRule(context, 'DocString');2064 endRule(context, 'Step');2065 startRule(context, 'Step');2066 build(context, token);2067 return 15;2068 }2069 if(match_TagLine(context, token)) {2070 endRule(context, 'DocString');2071 endRule(context, 'Step');2072 endRule(context, 'Scenario');2073 endRule(context, 'Scenario_Definition');2074 startRule(context, 'Scenario_Definition');2075 startRule(context, 'Tags');2076 build(context, token);2077 return 11;2078 }2079 if(match_ScenarioLine(context, token)) {2080 endRule(context, 'DocString');2081 endRule(context, 'Step');2082 endRule(context, 'Scenario');2083 endRule(context, 'Scenario_Definition');2084 startRule(context, 'Scenario_Definition');2085 startRule(context, 'Scenario');2086 build(context, token);2087 return 12;2088 }2089 if(match_ScenarioOutlineLine(context, token)) {2090 endRule(context, 'DocString');2091 endRule(context, 'Step');2092 endRule(context, 'Scenario');2093 endRule(context, 'Scenario_Definition');2094 startRule(context, 'Scenario_Definition');2095 startRule(context, 'ScenarioOutline');2096 build(context, token);2097 return 17;2098 }2099 if(match_Comment(context, token)) {2100 build(context, token);2101 return 31;2102 }2103 if(match_Empty(context, token)) {2104 build(context, token);2105 return 31;2106 }2107 2108 var stateComment = "State: 31 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:0";2109 token.detach();2110 var expectedTokens = ["#EOF", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];2111 var error = token.isEof ?2112 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :2113 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);2114 if (self.stopAtFirstError) throw error;2115 addError(context, error);2116 return 31;2117 }2118 // GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:02119 function matchTokenAt_32(token, context) {2120 if(match_DocStringSeparator(context, token)) {2121 build(context, token);2122 return 33;2123 }2124 if(match_Other(context, token)) {2125 build(context, token);2126 return 32;2127 }2128 2129 var stateComment = "State: 32 - GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:0";2130 token.detach();2131 var expectedTokens = ["#DocStringSeparator", "#Other"];2132 var error = token.isEof ?2133 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :2134 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);2135 if (self.stopAtFirstError) throw error;2136 addError(context, error);2137 return 32;2138 }2139 // GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:02140 function matchTokenAt_33(token, context) {2141 if(match_EOF(context, token)) {2142 endRule(context, 'DocString');2143 endRule(context, 'Step');2144 endRule(context, 'Background');2145 endRule(context, 'Feature');2146 build(context, token);2147 return 27;2148 }2149 if(match_StepLine(context, token)) {2150 endRule(context, 'DocString');2151 endRule(context, 'Step');2152 startRule(context, 'Step');2153 build(context, token);2154 return 9;2155 }2156 if(match_TagLine(context, token)) {2157 endRule(context, 'DocString');2158 endRule(context, 'Step');2159 endRule(context, 'Background');2160 startRule(context, 'Scenario_Definition');2161 startRule(context, 'Tags');2162 build(context, token);2163 return 11;2164 }2165 if(match_ScenarioLine(context, token)) {2166 endRule(context, 'DocString');2167 endRule(context, 'Step');2168 endRule(context, 'Background');2169 startRule(context, 'Scenario_Definition');2170 startRule(context, 'Scenario');2171 build(context, token);2172 return 12;2173 }2174 if(match_ScenarioOutlineLine(context, token)) {2175 endRule(context, 'DocString');2176 endRule(context, 'Step');2177 endRule(context, 'Background');2178 startRule(context, 'Scenario_Definition');2179 startRule(context, 'ScenarioOutline');2180 build(context, token);2181 return 17;2182 }2183 if(match_Comment(context, token)) {2184 build(context, token);2185 return 33;2186 }2187 if(match_Empty(context, token)) {2188 build(context, token);2189 return 33;2190 }2191 2192 var stateComment = "State: 33 - GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:0";2193 token.detach();2194 var expectedTokens = ["#EOF", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];2195 var error = token.isEof ?2196 Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :2197 Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);2198 if (self.stopAtFirstError) throw error;2199 addError(context, error);2200 return 33;2201 }2202 function match_EOF(context, token) {2203 return handleExternalError(context, false, function () {2204 return context.tokenMatcher.match_EOF(token);2205 });2206 }2207 function match_Empty(context, token) {2208 if(token.isEof) return false;2209 return handleExternalError(context, false, function () {2210 return context.tokenMatcher.match_Empty(token);2211 });2212 }2213 function match_Comment(context, token) {2214 if(token.isEof) return false;2215 return handleExternalError(context, false, function () {2216 return context.tokenMatcher.match_Comment(token);2217 });2218 }2219 function match_TagLine(context, token) {2220 if(token.isEof) return false;2221 return handleExternalError(context, false, function () {2222 return context.tokenMatcher.match_TagLine(token);2223 });2224 }2225 function match_FeatureLine(context, token) {2226 if(token.isEof) return false;2227 return handleExternalError(context, false, function () {2228 return context.tokenMatcher.match_FeatureLine(token);2229 });2230 }2231 function match_BackgroundLine(context, token) {2232 if(token.isEof) return false;2233 return handleExternalError(context, false, function () {2234 return context.tokenMatcher.match_BackgroundLine(token);2235 });2236 }2237 function match_ScenarioLine(context, token) {2238 if(token.isEof) return false;2239 return handleExternalError(context, false, function () {2240 return context.tokenMatcher.match_ScenarioLine(token);2241 });2242 }2243 function match_ScenarioOutlineLine(context, token) {2244 if(token.isEof) return false;2245 return handleExternalError(context, false, function () {2246 return context.tokenMatcher.match_ScenarioOutlineLine(token);2247 });2248 }2249 function match_ExamplesLine(context, token) {2250 if(token.isEof) return false;2251 return handleExternalError(context, false, function () {2252 return context.tokenMatcher.match_ExamplesLine(token);2253 });2254 }2255 function match_StepLine(context, token) {2256 if(token.isEof) return false;2257 return handleExternalError(context, false, function () {2258 return context.tokenMatcher.match_StepLine(token);2259 });2260 }2261 function match_DocStringSeparator(context, token) {2262 if(token.isEof) return false;2263 return handleExternalError(context, false, function () {2264 return context.tokenMatcher.match_DocStringSeparator(token);2265 });2266 }2267 function match_TableRow(context, token) {2268 if(token.isEof) return false;2269 return handleExternalError(context, false, function () {2270 return context.tokenMatcher.match_TableRow(token);2271 });2272 }2273 function match_Language(context, token) {2274 if(token.isEof) return false;2275 return handleExternalError(context, false, function () {2276 return context.tokenMatcher.match_Language(token);2277 });2278 }2279 function match_Other(context, token) {2280 if(token.isEof) return false;2281 return handleExternalError(context, false, function () {2282 return context.tokenMatcher.match_Other(token);2283 });2284 }2285 function lookahead_0(context, currentToken) {2286 currentToken.detach();2287 var token;2288 var queue = [];2289 var match = false;2290 do {2291 token = readToken(context);2292 token.detach();2293 queue.push(token);2294 if (false || match_ExamplesLine(context, token)) {2295 match = true;2296 break;2297 }2298 } while(false || match_Empty(context, token) || match_Comment(context, token) || match_TagLine(context, token));2299 context.tokenQueue = context.tokenQueue.concat(queue);2300 return match;2301 }...

Full Screen

Full Screen

errors.js

Source:errors.js Github

copy

Full Screen

1var Errors = {};2[3 'ParserException',4 'CompositeParserException',5 'UnexpectedTokenException',6 'UnexpectedEOFException',7 'AstBuilderException',8 'NoSuchLanguageException'9].forEach(function (name) {10 function ErrorProto (message) {11 this.message = message || ('Unspecified ' + name);12 if (Error.captureStackTrace) {13 Error.captureStackTrace(this, arguments.callee);14 }15 }16 ErrorProto.prototype = Object.create(Error.prototype);17 ErrorProto.prototype.name = name;18 ErrorProto.prototype.constructor = ErrorProto;19 Errors[name] = ErrorProto;20});21Errors.CompositeParserException.create = function(errors) {22 var message = "Parser errors:\n" + errors.map(function (e) { return e.message; }).join("\n");23 var err = new Errors.CompositeParserException(message);24 err.errors = errors;25 return err;26};27Errors.UnexpectedTokenException.create = function(token, expectedTokenTypes, stateComment) {28 var message = "expected: " + expectedTokenTypes.join(', ') + ", got '" + token.getTokenValue().trim() + "'";29 var location = !token.location.column30 ? {line: token.location.line, column: token.line.indent + 1 }31 : token.location;32 return createError(Errors.UnexpectedEOFException, message, location);33};34Errors.UnexpectedEOFException.create = function(token, expectedTokenTypes, stateComment) {35 var message = "unexpected end of file, expected: " + expectedTokenTypes.join(', ');36 return createError(Errors.UnexpectedTokenException, message, token.location);37};38Errors.AstBuilderException.create = function(message, location) {39 return createError(Errors.AstBuilderException, message, location);40};41Errors.NoSuchLanguageException.create = function(language, location) {42 var message = "Language not supported: " + language;43 return createError(Errors.NoSuchLanguageException, message, location);44};45function createError(Ctor, message, location) {46 var fullMessage = "(" + location.line + ":" + location.column + "): " + message;47 var error = new Ctor(fullMessage);48 error.location = location;49 return error;50}...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1var UnexpectedEOFException = Java.type('io.cucumber.gherkin.UnexpectedEOFException');2var UnexpectedTokenException = Java.type('io.cucumber.gherkin.UnexpectedTokenException');3var UnexpectedEOF = new UnexpectedEOFException();4var UnexpectedToken = new UnexpectedTokenException();5print(UnexpectedEOF.getMessage());6print(UnexpectedToken.getMessage());

Full Screen

Using AI Code Generation

copy

Full Screen

1var gherkin = require('gherkin');2var parser = new gherkin.Parser();3try {4 parser.parse("Feature: test5Given I am testing");6} catch (e) {7 if (e instanceof gherkin.UnexpectedEOFException) {8 console.log("caught UnexpectedEOFException");9 } else {10 throw e;11 }12}

Full Screen

Cucumber Tutorial:

LambdaTest offers a detailed Cucumber testing tutorial, explaining its features, importance, best practices, and more to help you get started with running your automation testing scripts.

Cucumber Tutorial Chapters:

Here are the detailed Cucumber testing chapters to help you get started:

  • Importance of Cucumber - Learn why Cucumber is important in Selenium automation testing during the development phase to identify bugs and errors.
  • Setting Up Cucumber in Eclipse and IntelliJ - Learn how to set up Cucumber in Eclipse and IntelliJ.
  • Running First Cucumber.js Test Script - After successfully setting up your Cucumber in Eclipse or IntelliJ, this chapter will help you get started with Selenium Cucumber testing in no time.
  • Annotations in Cucumber - To handle multiple feature files and the multiple scenarios in each file, you need to use functionality to execute these scenarios. This chapter will help you learn about a handful of Cucumber annotations ranging from tags, Cucumber hooks, and more to ease the maintenance of the framework.
  • Automation Testing With Cucumber And Nightwatch JS - Learn how to build a robust BDD framework setup for performing Selenium automation testing by integrating Cucumber into the Nightwatch.js framework.
  • Automation Testing With Selenium, Cucumber & TestNG - Learn how to perform Selenium automation testing by integrating Cucumber with the TestNG framework.
  • Integrate Cucumber With Jenkins - By using Cucumber with Jenkins integration, you can schedule test case executions remotely and take advantage of the benefits of Jenkins. Learn how to integrate Cucumber with Jenkins with this detailed chapter.
  • Cucumber Best Practices For Selenium Automation - Take a deep dive into the advanced use cases, such as creating a feature file, separating feature files, and more for Cucumber testing.

Run Cucumber-gherkin automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful