gherkin 4.1.3 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rsync +2 -1
- data/.travis.yml +9 -12
- data/Makefile +2 -5
- data/gherkin.berp +6 -15
- data/gherkin.gemspec +1 -1
- data/lib/gherkin/gherkin-languages.json +3 -1
- data/lib/gherkin/parser.rb +49 -56
- data/lib/gherkin/pickles/compiler.rb +2 -6
- data/lib/gherkin/stream/gherkin_events.rb +7 -5
- data/lib/gherkin/stream/source_events.rb +6 -6
- data/spec/gherkin/stream/gherkin_events_spec.rb +27 -0
- data/spec/gherkin/stream/test_fr.feature +3 -0
- data/testdata/bad/inconsistent_cell_count.feature.errors.ndjson +2 -2
- data/testdata/bad/invalid_language.feature.errors.ndjson +1 -1
- data/testdata/bad/multiple_parser_errors.feature.errors.ndjson +2 -2
- data/testdata/bad/not_gherkin.feature.errors.ndjson +1 -1
- data/testdata/bad/single_parser_error.feature.errors.ndjson +1 -1
- data/testdata/bad/unexpected_eof.feature.errors.ndjson +1 -1
- data/testdata/good/background.feature.source.ndjson +1 -1
- data/testdata/good/datatables.feature.source.ndjson +1 -1
- data/testdata/good/descriptions.feature.source.ndjson +1 -1
- data/testdata/good/docstrings.feature.source.ndjson +1 -1
- data/testdata/good/empty.feature.source.ndjson +1 -1
- data/testdata/good/escaped_pipes.feature.source.ndjson +1 -1
- data/testdata/good/example_token_multiple.feature.source.ndjson +1 -1
- data/testdata/good/example_tokens_everywhere.feature.source.ndjson +1 -1
- data/testdata/good/i18n_emoji.feature.source.ndjson +1 -1
- data/testdata/good/i18n_fr.feature.source.ndjson +1 -1
- data/testdata/good/i18n_no.feature.source.ndjson +1 -1
- data/testdata/good/incomplete_background_1.feature.source.ndjson +1 -1
- data/testdata/good/incomplete_background_2.feature.source.ndjson +1 -1
- data/testdata/good/incomplete_feature_1.feature.source.ndjson +1 -1
- data/testdata/good/incomplete_feature_2.feature.source.ndjson +1 -1
- data/testdata/good/incomplete_feature_3.feature.source.ndjson +1 -1
- data/testdata/good/incomplete_scenario.feature.pickles.ndjson +1 -0
- data/testdata/good/incomplete_scenario.feature.source.ndjson +1 -1
- data/testdata/good/incomplete_scenario_outline.feature.pickles.ndjson +1 -0
- data/testdata/good/incomplete_scenario_outline.feature.source.ndjson +1 -1
- data/testdata/good/language.feature.source.ndjson +1 -1
- data/testdata/good/minimal.feature.source.ndjson +1 -1
- data/testdata/good/readme_example.feature.source.ndjson +1 -1
- data/testdata/good/scenario_outline.feature.source.ndjson +1 -1
- data/testdata/good/scenario_outline_no_newline.feature.source.ndjson +1 -1
- data/testdata/good/scenario_outlines_with_tags.feature.source.ndjson +1 -1
- data/testdata/good/several_examples.feature.pickles.ndjson +1 -0
- data/testdata/good/several_examples.feature.source.ndjson +1 -1
- data/testdata/good/spaces_in_language.feature.source.ndjson +1 -1
- data/testdata/good/tagged_feature_with_scenario_outline.feature +10 -0
- data/testdata/good/tagged_feature_with_scenario_outline.feature.ast.ndjson +1 -0
- data/testdata/good/tagged_feature_with_scenario_outline.feature.pickles.ndjson +2 -0
- data/testdata/good/tagged_feature_with_scenario_outline.feature.source.ndjson +1 -0
- data/testdata/good/tagged_feature_with_scenario_outline.feature.tokens +11 -0
- data/testdata/good/tags.feature.source.ndjson +1 -1
- metadata +12 -4
- data/gherkin-languages.json +0 -3191
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a8afa00b8acd5e07b352eb20e7be53de4f6114c1
|
4
|
+
data.tar.gz: 2056d72c5cc8504f6e828b8d1e0ad6de392c1201
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0f914f541d857fc11ebd770230df0715029e48c45534d8a41cda91ca49c46709f5c54c8fc6a656675fdcbdd49e610e8cf892305d57d9a0b18d9914d7dcaf5449
|
7
|
+
data.tar.gz: e691952be46bd50b2d3f391bf74357f706ebcff78bcb387b6dec256ec044e7bcfa7655fb84d5ca0f64ede54418e226baf49f904200ffcae7d65230f7eb6cc8f0
|
data/.rsync
CHANGED
data/.travis.yml
CHANGED
@@ -1,18 +1,15 @@
|
|
1
|
+
# Please update /.travis/ruby/.travis.yml in the cucumber/cucumber monorepo
|
2
|
+
# and sync:
|
3
|
+
#
|
4
|
+
# source scripts/functions.sh && rsync_files
|
5
|
+
#
|
1
6
|
language: ruby
|
2
7
|
|
3
8
|
rvm:
|
4
|
-
-
|
5
|
-
- 2.
|
6
|
-
- 2.
|
7
|
-
-
|
8
|
-
- jruby-9.1.7.0
|
9
|
-
|
10
|
-
matrix:
|
11
|
-
allow_failures:
|
12
|
-
- rvm: ruby-head
|
13
|
-
fast_finish: true
|
14
|
-
|
15
|
-
script: make
|
9
|
+
- 2.4.2
|
10
|
+
- 2.3.5
|
11
|
+
- 2.2.8
|
12
|
+
- jruby-9.1.13.0
|
16
13
|
|
17
14
|
notifications:
|
18
15
|
webhooks:
|
data/Makefile
CHANGED
@@ -10,6 +10,8 @@ ERRORS = $(patsubst testdata/%.feature,acceptance/testdata/%.feature.errors.nd
|
|
10
10
|
|
11
11
|
RUBY_FILES = $(shell find . -name "*.rb")
|
12
12
|
|
13
|
+
.DELETE_ON_ERROR:
|
14
|
+
|
13
15
|
default: .compared
|
14
16
|
bundle exec rake install
|
15
17
|
.PHONY: default
|
@@ -25,31 +27,26 @@ acceptance/testdata/%.feature.tokens: testdata/%.feature testdata/%.feature.toke
|
|
25
27
|
mkdir -p `dirname $@`
|
26
28
|
bin/gherkin-generate-tokens $< > $@
|
27
29
|
diff --unified $<.tokens $@
|
28
|
-
.DELETE_ON_ERROR: acceptance/testdata/%.feature.tokens
|
29
30
|
|
30
31
|
acceptance/testdata/%.feature.ast.ndjson: testdata/%.feature testdata/%.feature.ast.ndjson .built
|
31
32
|
mkdir -p `dirname $@`
|
32
33
|
bin/gherkin --no-source --no-pickles $< | jq --sort-keys --compact-output "." > $@
|
33
34
|
diff --unified <(jq "." $<.ast.ndjson) <(jq "." $@)
|
34
|
-
.DELETE_ON_ERROR: acceptance/testdata/%.feature.ast.ndjson
|
35
35
|
|
36
36
|
acceptance/testdata/%.feature.pickles.ndjson: testdata/%.feature testdata/%.feature.pickles.ndjson .built
|
37
37
|
mkdir -p `dirname $@`
|
38
38
|
bin/gherkin --no-source --no-ast $< | jq --sort-keys --compact-output "." > $@
|
39
39
|
diff --unified <(jq "." $<.pickles.ndjson) <(jq "." $@)
|
40
|
-
.DELETE_ON_ERROR: acceptance/testdata/%.feature.pickles.ndjson
|
41
40
|
|
42
41
|
acceptance/testdata/%.feature.source.ndjson: testdata/%.feature testdata/%.feature.source.ndjson .built
|
43
42
|
mkdir -p `dirname $@`
|
44
43
|
bin/gherkin --no-ast --no-pickles $< | jq --sort-keys --compact-output "." > $@
|
45
44
|
diff --unified <(jq "." $<.source.ndjson) <(jq "." $@)
|
46
|
-
.DELETE_ON_ERROR: acceptance/testdata/%.feature.source.ndjson
|
47
45
|
|
48
46
|
acceptance/testdata/%.feature.errors.ndjson: testdata/%.feature testdata/%.feature.errors.ndjson .built
|
49
47
|
mkdir -p `dirname $@`
|
50
48
|
bin/gherkin $< | jq --sort-keys --compact-output "." > $@
|
51
49
|
diff --unified <(jq "." $<.errors.ndjson) <(jq "." $@)
|
52
|
-
.DELETE_ON_ERROR: acceptance/testdata/%.feature.errors.ndjson
|
53
50
|
|
54
51
|
clean:
|
55
52
|
rm -rf .compared .built acceptance lib/gherkin/parser.rb coverage
|
data/gherkin.berp
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
[
|
2
2
|
Tokens -> #Empty,#Comment,#TagLine,#FeatureLine,#BackgroundLine,#ScenarioLine,#ScenarioOutlineLine,#ExamplesLine,#StepLine,#DocStringSeparator,#TableRow,#Language
|
3
3
|
IgnoredTokens -> #Comment,#Empty
|
4
4
|
ClassName -> Parser
|
@@ -7,25 +7,22 @@
|
|
7
7
|
|
8
8
|
GherkinDocument! := Feature?
|
9
9
|
Feature! := Feature_Header Background? Scenario_Definition*
|
10
|
-
Feature_Header! := #Language? Tags? #FeatureLine
|
10
|
+
Feature_Header! := #Language? Tags? #FeatureLine Description_Helper
|
11
11
|
|
12
|
-
Background! := #BackgroundLine
|
12
|
+
Background! := #BackgroundLine Description_Helper Step*
|
13
13
|
|
14
14
|
// we could avoid defining Scenario_Definition, but that would require regular look-aheads, so worse performance
|
15
15
|
Scenario_Definition! := Tags? (Scenario | ScenarioOutline)
|
16
16
|
|
17
|
-
Scenario! := #ScenarioLine
|
17
|
+
Scenario! := #ScenarioLine Description_Helper Step*
|
18
18
|
|
19
|
-
ScenarioOutline! := #ScenarioOutlineLine
|
19
|
+
ScenarioOutline! := #ScenarioOutlineLine Description_Helper Step* Examples_Definition*
|
20
20
|
// after the first "Examples" block, interpreting a tag line is ambiguous (tagline of next examples or of next scenario)
|
21
21
|
// because of this, we need a lookahead hint, that connects the tag line to the next examples, if there is an examples block ahead
|
22
22
|
Examples_Definition! [#Empty|#Comment|#TagLine->#ExamplesLine]:= Tags? Examples
|
23
|
-
Examples! := #ExamplesLine
|
23
|
+
Examples! := #ExamplesLine Description_Helper Examples_Table?
|
24
24
|
Examples_Table! := #TableRow #TableRow*
|
25
25
|
|
26
|
-
Scenario_Step := Step
|
27
|
-
ScenarioOutline_Step := Step
|
28
|
-
|
29
26
|
Step! := #StepLine Step_Arg?
|
30
27
|
Step_Arg := (DataTable | DocString)
|
31
28
|
|
@@ -34,12 +31,6 @@ DocString! := #DocStringSeparator #Other* #DocStringSeparator
|
|
34
31
|
|
35
32
|
Tags! := #TagLine+
|
36
33
|
|
37
|
-
Feature_Description := Description_Helper
|
38
|
-
Background_Description := Description_Helper
|
39
|
-
Scenario_Description := Description_Helper
|
40
|
-
ScenarioOutline_Description := Description_Helper
|
41
|
-
Examples_Description := Description_Helper
|
42
|
-
|
43
34
|
// we need to explicitly mention comment, to avoid merging it into the description line's #Other token
|
44
35
|
// we also eat the leading empty lines, the tailing lines are not removed by the parser to avoid lookahead, this has to be done by the AST builder
|
45
36
|
Description_Helper := #Empty* Description? #Comment*
|
data/gherkin.gemspec
CHANGED
@@ -574,7 +574,8 @@
|
|
574
574
|
"Σενάριο"
|
575
575
|
],
|
576
576
|
"scenarioOutline": [
|
577
|
-
"Περιγραφή Σεναρίου"
|
577
|
+
"Περιγραφή Σεναρίου",
|
578
|
+
"Περίγραμμα Σεναρίου"
|
578
579
|
],
|
579
580
|
"then": [
|
580
581
|
"* ",
|
@@ -2346,6 +2347,7 @@
|
|
2346
2347
|
"* ",
|
2347
2348
|
"Date fiind ",
|
2348
2349
|
"Dat fiind ",
|
2350
|
+
"Dată fiind",
|
2349
2351
|
"Dati fiind ",
|
2350
2352
|
"Dați fiind ",
|
2351
2353
|
"Daţi fiind "
|
data/lib/gherkin/parser.rb
CHANGED
@@ -24,26 +24,19 @@ module Gherkin
|
|
24
24
|
:_Other, # #Other
|
25
25
|
:GherkinDocument, # GherkinDocument! := Feature?
|
26
26
|
:Feature, # Feature! := Feature_Header Background? Scenario_Definition*
|
27
|
-
:Feature_Header, # Feature_Header! := #Language? Tags? #FeatureLine
|
28
|
-
:Background, # Background! := #BackgroundLine
|
27
|
+
:Feature_Header, # Feature_Header! := #Language? Tags? #FeatureLine Description_Helper
|
28
|
+
:Background, # Background! := #BackgroundLine Description_Helper Step*
|
29
29
|
:Scenario_Definition, # Scenario_Definition! := Tags? (Scenario | ScenarioOutline)
|
30
|
-
:Scenario, # Scenario! := #ScenarioLine
|
31
|
-
:ScenarioOutline, # ScenarioOutline! := #ScenarioOutlineLine
|
30
|
+
:Scenario, # Scenario! := #ScenarioLine Description_Helper Step*
|
31
|
+
:ScenarioOutline, # ScenarioOutline! := #ScenarioOutlineLine Description_Helper Step* Examples_Definition*
|
32
32
|
:Examples_Definition, # Examples_Definition! [#Empty|#Comment|#TagLine->#ExamplesLine] := Tags? Examples
|
33
|
-
:Examples, # Examples! := #ExamplesLine
|
33
|
+
:Examples, # Examples! := #ExamplesLine Description_Helper Examples_Table?
|
34
34
|
:Examples_Table, # Examples_Table! := #TableRow #TableRow*
|
35
|
-
:Scenario_Step, # Scenario_Step := Step
|
36
|
-
:ScenarioOutline_Step, # ScenarioOutline_Step := Step
|
37
35
|
:Step, # Step! := #StepLine Step_Arg?
|
38
36
|
:Step_Arg, # Step_Arg := (DataTable | DocString)
|
39
37
|
:DataTable, # DataTable! := #TableRow+
|
40
38
|
:DocString, # DocString! := #DocStringSeparator #Other* #DocStringSeparator
|
41
39
|
:Tags, # Tags! := #TagLine+
|
42
|
-
:Feature_Description, # Feature_Description := Description_Helper
|
43
|
-
:Background_Description, # Background_Description := Description_Helper
|
44
|
-
:Scenario_Description, # Scenario_Description := Description_Helper
|
45
|
-
:ScenarioOutline_Description, # ScenarioOutline_Description := Description_Helper
|
46
|
-
:Examples_Description, # Examples_Description := Description_Helper
|
47
40
|
:Description_Helper, # Description_Helper := #Empty* Description? #Comment*
|
48
41
|
:Description, # Description! := #Other+
|
49
42
|
]
|
@@ -455,7 +448,7 @@ module Gherkin
|
|
455
448
|
return 3
|
456
449
|
end
|
457
450
|
|
458
|
-
# GherkinDocument:0>Feature:0>Feature_Header:3>
|
451
|
+
# GherkinDocument:0>Feature:0>Feature_Header:3>Description_Helper:1>Description:0>#Other:0
|
459
452
|
def match_token_at_4(token, context)
|
460
453
|
if match_EOF(context, token)
|
461
454
|
end_rule(context, :Description);
|
@@ -505,7 +498,7 @@ module Gherkin
|
|
505
498
|
return 4
|
506
499
|
end
|
507
500
|
|
508
|
-
state_comment = "State: 4 - GherkinDocument:0>Feature:0>Feature_Header:3>
|
501
|
+
state_comment = "State: 4 - GherkinDocument:0>Feature:0>Feature_Header:3>Description_Helper:1>Description:0>#Other:0"
|
509
502
|
token.detach
|
510
503
|
expected_tokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"]
|
511
504
|
error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
|
@@ -514,7 +507,7 @@ module Gherkin
|
|
514
507
|
return 4
|
515
508
|
end
|
516
509
|
|
517
|
-
# GherkinDocument:0>Feature:0>Feature_Header:3>
|
510
|
+
# GherkinDocument:0>Feature:0>Feature_Header:3>Description_Helper:2>#Comment:0
|
518
511
|
def match_token_at_5(token, context)
|
519
512
|
if match_EOF(context, token)
|
520
513
|
end_rule(context, :Feature_Header);
|
@@ -558,7 +551,7 @@ module Gherkin
|
|
558
551
|
return 5
|
559
552
|
end
|
560
553
|
|
561
|
-
state_comment = "State: 5 - GherkinDocument:0>Feature:0>Feature_Header:3>
|
554
|
+
state_comment = "State: 5 - GherkinDocument:0>Feature:0>Feature_Header:3>Description_Helper:2>#Comment:0"
|
562
555
|
token.detach
|
563
556
|
expected_tokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"]
|
564
557
|
error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
|
@@ -624,7 +617,7 @@ module Gherkin
|
|
624
617
|
return 6
|
625
618
|
end
|
626
619
|
|
627
|
-
# GherkinDocument:0>Feature:1>Background:1>
|
620
|
+
# GherkinDocument:0>Feature:1>Background:1>Description_Helper:1>Description:0>#Other:0
|
628
621
|
def match_token_at_7(token, context)
|
629
622
|
if match_EOF(context, token)
|
630
623
|
end_rule(context, :Description);
|
@@ -673,7 +666,7 @@ module Gherkin
|
|
673
666
|
return 7
|
674
667
|
end
|
675
668
|
|
676
|
-
state_comment = "State: 7 - GherkinDocument:0>Feature:1>Background:1>
|
669
|
+
state_comment = "State: 7 - GherkinDocument:0>Feature:1>Background:1>Description_Helper:1>Description:0>#Other:0"
|
677
670
|
token.detach
|
678
671
|
expected_tokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"]
|
679
672
|
error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
|
@@ -682,7 +675,7 @@ module Gherkin
|
|
682
675
|
return 7
|
683
676
|
end
|
684
677
|
|
685
|
-
# GherkinDocument:0>Feature:1>Background:1>
|
678
|
+
# GherkinDocument:0>Feature:1>Background:1>Description_Helper:2>#Comment:0
|
686
679
|
def match_token_at_8(token, context)
|
687
680
|
if match_EOF(context, token)
|
688
681
|
end_rule(context, :Background);
|
@@ -725,7 +718,7 @@ module Gherkin
|
|
725
718
|
return 8
|
726
719
|
end
|
727
720
|
|
728
|
-
state_comment = "State: 8 - GherkinDocument:0>Feature:1>Background:1>
|
721
|
+
state_comment = "State: 8 - GherkinDocument:0>Feature:1>Background:1>Description_Helper:2>#Comment:0"
|
729
722
|
token.detach
|
730
723
|
expected_tokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"]
|
731
724
|
error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
|
@@ -734,7 +727,7 @@ module Gherkin
|
|
734
727
|
return 8
|
735
728
|
end
|
736
729
|
|
737
|
-
# GherkinDocument:0>Feature:1>Background:2>
|
730
|
+
# GherkinDocument:0>Feature:1>Background:2>Step:0>#StepLine:0
|
738
731
|
def match_token_at_9(token, context)
|
739
732
|
if match_EOF(context, token)
|
740
733
|
end_rule(context, :Step);
|
@@ -792,7 +785,7 @@ module Gherkin
|
|
792
785
|
return 9
|
793
786
|
end
|
794
787
|
|
795
|
-
state_comment = "State: 9 - GherkinDocument:0>Feature:1>Background:2>
|
788
|
+
state_comment = "State: 9 - GherkinDocument:0>Feature:1>Background:2>Step:0>#StepLine:0"
|
796
789
|
token.detach
|
797
790
|
expected_tokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"]
|
798
791
|
error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
|
@@ -801,7 +794,7 @@ module Gherkin
|
|
801
794
|
return 9
|
802
795
|
end
|
803
796
|
|
804
|
-
# GherkinDocument:0>Feature:1>Background:2>
|
797
|
+
# GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:0
|
805
798
|
def match_token_at_10(token, context)
|
806
799
|
if match_EOF(context, token)
|
807
800
|
end_rule(context, :DataTable);
|
@@ -858,7 +851,7 @@ module Gherkin
|
|
858
851
|
return 10
|
859
852
|
end
|
860
853
|
|
861
|
-
state_comment = "State: 10 - GherkinDocument:0>Feature:1>Background:2>
|
854
|
+
state_comment = "State: 10 - GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:0"
|
862
855
|
token.detach
|
863
856
|
expected_tokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"]
|
864
857
|
error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
|
@@ -964,7 +957,7 @@ module Gherkin
|
|
964
957
|
return 12
|
965
958
|
end
|
966
959
|
|
967
|
-
# GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:1>
|
960
|
+
# GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:1>Description_Helper:1>Description:0>#Other:0
|
968
961
|
def match_token_at_13(token, context)
|
969
962
|
if match_EOF(context, token)
|
970
963
|
end_rule(context, :Description);
|
@@ -1017,7 +1010,7 @@ module Gherkin
|
|
1017
1010
|
return 13
|
1018
1011
|
end
|
1019
1012
|
|
1020
|
-
state_comment = "State: 13 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:1>
|
1013
|
+
state_comment = "State: 13 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:1>Description_Helper:1>Description:0>#Other:0"
|
1021
1014
|
token.detach
|
1022
1015
|
expected_tokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"]
|
1023
1016
|
error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
|
@@ -1026,7 +1019,7 @@ module Gherkin
|
|
1026
1019
|
return 13
|
1027
1020
|
end
|
1028
1021
|
|
1029
|
-
# GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:1>
|
1022
|
+
# GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:1>Description_Helper:2>#Comment:0
|
1030
1023
|
def match_token_at_14(token, context)
|
1031
1024
|
if match_EOF(context, token)
|
1032
1025
|
end_rule(context, :Scenario);
|
@@ -1073,7 +1066,7 @@ module Gherkin
|
|
1073
1066
|
return 14
|
1074
1067
|
end
|
1075
1068
|
|
1076
|
-
state_comment = "State: 14 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:1>
|
1069
|
+
state_comment = "State: 14 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:1>Description_Helper:2>#Comment:0"
|
1077
1070
|
token.detach
|
1078
1071
|
expected_tokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"]
|
1079
1072
|
error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
|
@@ -1082,7 +1075,7 @@ module Gherkin
|
|
1082
1075
|
return 14
|
1083
1076
|
end
|
1084
1077
|
|
1085
|
-
# GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>
|
1078
|
+
# GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:0>#StepLine:0
|
1086
1079
|
def match_token_at_15(token, context)
|
1087
1080
|
if match_EOF(context, token)
|
1088
1081
|
end_rule(context, :Step);
|
@@ -1144,7 +1137,7 @@ module Gherkin
|
|
1144
1137
|
return 15
|
1145
1138
|
end
|
1146
1139
|
|
1147
|
-
state_comment = "State: 15 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>
|
1140
|
+
state_comment = "State: 15 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:0>#StepLine:0"
|
1148
1141
|
token.detach
|
1149
1142
|
expected_tokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"]
|
1150
1143
|
error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
|
@@ -1153,7 +1146,7 @@ module Gherkin
|
|
1153
1146
|
return 15
|
1154
1147
|
end
|
1155
1148
|
|
1156
|
-
# GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>
|
1149
|
+
# GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:0
|
1157
1150
|
def match_token_at_16(token, context)
|
1158
1151
|
if match_EOF(context, token)
|
1159
1152
|
end_rule(context, :DataTable);
|
@@ -1214,7 +1207,7 @@ module Gherkin
|
|
1214
1207
|
return 16
|
1215
1208
|
end
|
1216
1209
|
|
1217
|
-
state_comment = "State: 16 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>
|
1210
|
+
state_comment = "State: 16 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:0"
|
1218
1211
|
token.detach
|
1219
1212
|
expected_tokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"]
|
1220
1213
|
error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
|
@@ -1298,7 +1291,7 @@ module Gherkin
|
|
1298
1291
|
return 17
|
1299
1292
|
end
|
1300
1293
|
|
1301
|
-
# GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:1>
|
1294
|
+
# GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:1>Description_Helper:1>Description:0>#Other:0
|
1302
1295
|
def match_token_at_18(token, context)
|
1303
1296
|
if match_EOF(context, token)
|
1304
1297
|
end_rule(context, :Description);
|
@@ -1367,7 +1360,7 @@ module Gherkin
|
|
1367
1360
|
return 18
|
1368
1361
|
end
|
1369
1362
|
|
1370
|
-
state_comment = "State: 18 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:1>
|
1363
|
+
state_comment = "State: 18 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:1>Description_Helper:1>Description:0>#Other:0"
|
1371
1364
|
token.detach
|
1372
1365
|
expected_tokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"]
|
1373
1366
|
error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
|
@@ -1376,7 +1369,7 @@ module Gherkin
|
|
1376
1369
|
return 18
|
1377
1370
|
end
|
1378
1371
|
|
1379
|
-
# GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:1>
|
1372
|
+
# GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:1>Description_Helper:2>#Comment:0
|
1380
1373
|
def match_token_at_19(token, context)
|
1381
1374
|
if match_EOF(context, token)
|
1382
1375
|
end_rule(context, :ScenarioOutline);
|
@@ -1437,7 +1430,7 @@ module Gherkin
|
|
1437
1430
|
return 19
|
1438
1431
|
end
|
1439
1432
|
|
1440
|
-
state_comment = "State: 19 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:1>
|
1433
|
+
state_comment = "State: 19 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:1>Description_Helper:2>#Comment:0"
|
1441
1434
|
token.detach
|
1442
1435
|
expected_tokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"]
|
1443
1436
|
error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
|
@@ -1446,7 +1439,7 @@ module Gherkin
|
|
1446
1439
|
return 19
|
1447
1440
|
end
|
1448
1441
|
|
1449
|
-
# GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>
|
1442
|
+
# GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:0>#StepLine:0
|
1450
1443
|
def match_token_at_20(token, context)
|
1451
1444
|
if match_EOF(context, token)
|
1452
1445
|
end_rule(context, :Step);
|
@@ -1524,7 +1517,7 @@ module Gherkin
|
|
1524
1517
|
return 20
|
1525
1518
|
end
|
1526
1519
|
|
1527
|
-
state_comment = "State: 20 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>
|
1520
|
+
state_comment = "State: 20 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:0>#StepLine:0"
|
1528
1521
|
token.detach
|
1529
1522
|
expected_tokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"]
|
1530
1523
|
error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
|
@@ -1533,7 +1526,7 @@ module Gherkin
|
|
1533
1526
|
return 20
|
1534
1527
|
end
|
1535
1528
|
|
1536
|
-
# GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>
|
1529
|
+
# GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:0
|
1537
1530
|
def match_token_at_21(token, context)
|
1538
1531
|
if match_EOF(context, token)
|
1539
1532
|
end_rule(context, :DataTable);
|
@@ -1612,7 +1605,7 @@ module Gherkin
|
|
1612
1605
|
return 21
|
1613
1606
|
end
|
1614
1607
|
|
1615
|
-
state_comment = "State: 21 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>
|
1608
|
+
state_comment = "State: 21 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:0"
|
1616
1609
|
token.detach
|
1617
1610
|
expected_tokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"]
|
1618
1611
|
error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
|
@@ -1738,7 +1731,7 @@ module Gherkin
|
|
1738
1731
|
return 23
|
1739
1732
|
end
|
1740
1733
|
|
1741
|
-
# GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:1>
|
1734
|
+
# GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:1>Description_Helper:1>Description:0>#Other:0
|
1742
1735
|
def match_token_at_24(token, context)
|
1743
1736
|
if match_EOF(context, token)
|
1744
1737
|
end_rule(context, :Description);
|
@@ -1819,7 +1812,7 @@ module Gherkin
|
|
1819
1812
|
return 24
|
1820
1813
|
end
|
1821
1814
|
|
1822
|
-
state_comment = "State: 24 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:1>
|
1815
|
+
state_comment = "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"
|
1823
1816
|
token.detach
|
1824
1817
|
expected_tokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"]
|
1825
1818
|
error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
|
@@ -1828,7 +1821,7 @@ module Gherkin
|
|
1828
1821
|
return 24
|
1829
1822
|
end
|
1830
1823
|
|
1831
|
-
# GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:1>
|
1824
|
+
# GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:1>Description_Helper:2>#Comment:0
|
1832
1825
|
def match_token_at_25(token, context)
|
1833
1826
|
if match_EOF(context, token)
|
1834
1827
|
end_rule(context, :Examples);
|
@@ -1901,7 +1894,7 @@ module Gherkin
|
|
1901
1894
|
return 25
|
1902
1895
|
end
|
1903
1896
|
|
1904
|
-
state_comment = "State: 25 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:1>
|
1897
|
+
state_comment = "State: 25 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:1>Description_Helper:2>#Comment:0"
|
1905
1898
|
token.detach
|
1906
1899
|
expected_tokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"]
|
1907
1900
|
error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
|
@@ -1997,7 +1990,7 @@ module Gherkin
|
|
1997
1990
|
return 26
|
1998
1991
|
end
|
1999
1992
|
|
2000
|
-
# GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>
|
1993
|
+
# GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:0
|
2001
1994
|
def match_token_at_28(token, context)
|
2002
1995
|
if match_DocStringSeparator(context, token)
|
2003
1996
|
build(context, token);
|
@@ -2008,7 +2001,7 @@ module Gherkin
|
|
2008
2001
|
return 28
|
2009
2002
|
end
|
2010
2003
|
|
2011
|
-
state_comment = "State: 28 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>
|
2004
|
+
state_comment = "State: 28 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:0"
|
2012
2005
|
token.detach
|
2013
2006
|
expected_tokens = ["#DocStringSeparator", "#Other"]
|
2014
2007
|
error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
|
@@ -2017,7 +2010,7 @@ module Gherkin
|
|
2017
2010
|
return 28
|
2018
2011
|
end
|
2019
2012
|
|
2020
|
-
# GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>
|
2013
|
+
# GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:0
|
2021
2014
|
def match_token_at_29(token, context)
|
2022
2015
|
if match_EOF(context, token)
|
2023
2016
|
end_rule(context, :DocString);
|
@@ -2092,7 +2085,7 @@ module Gherkin
|
|
2092
2085
|
return 29
|
2093
2086
|
end
|
2094
2087
|
|
2095
|
-
state_comment = "State: 29 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>
|
2088
|
+
state_comment = "State: 29 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:0"
|
2096
2089
|
token.detach
|
2097
2090
|
expected_tokens = ["#EOF", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"]
|
2098
2091
|
error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
|
@@ -2101,7 +2094,7 @@ module Gherkin
|
|
2101
2094
|
return 29
|
2102
2095
|
end
|
2103
2096
|
|
2104
|
-
# GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>
|
2097
|
+
# GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:0
|
2105
2098
|
def match_token_at_30(token, context)
|
2106
2099
|
if match_DocStringSeparator(context, token)
|
2107
2100
|
build(context, token);
|
@@ -2112,7 +2105,7 @@ module Gherkin
|
|
2112
2105
|
return 30
|
2113
2106
|
end
|
2114
2107
|
|
2115
|
-
state_comment = "State: 30 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>
|
2108
|
+
state_comment = "State: 30 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:0"
|
2116
2109
|
token.detach
|
2117
2110
|
expected_tokens = ["#DocStringSeparator", "#Other"]
|
2118
2111
|
error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
|
@@ -2121,7 +2114,7 @@ module Gherkin
|
|
2121
2114
|
return 30
|
2122
2115
|
end
|
2123
2116
|
|
2124
|
-
# GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>
|
2117
|
+
# GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:0
|
2125
2118
|
def match_token_at_31(token, context)
|
2126
2119
|
if match_EOF(context, token)
|
2127
2120
|
end_rule(context, :DocString);
|
@@ -2178,7 +2171,7 @@ module Gherkin
|
|
2178
2171
|
return 31
|
2179
2172
|
end
|
2180
2173
|
|
2181
|
-
state_comment = "State: 31 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>
|
2174
|
+
state_comment = "State: 31 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:0"
|
2182
2175
|
token.detach
|
2183
2176
|
expected_tokens = ["#EOF", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"]
|
2184
2177
|
error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
|
@@ -2187,7 +2180,7 @@ module Gherkin
|
|
2187
2180
|
return 31
|
2188
2181
|
end
|
2189
2182
|
|
2190
|
-
# GherkinDocument:0>Feature:1>Background:2>
|
2183
|
+
# GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:0
|
2191
2184
|
def match_token_at_32(token, context)
|
2192
2185
|
if match_DocStringSeparator(context, token)
|
2193
2186
|
build(context, token);
|
@@ -2198,7 +2191,7 @@ module Gherkin
|
|
2198
2191
|
return 32
|
2199
2192
|
end
|
2200
2193
|
|
2201
|
-
state_comment = "State: 32 - GherkinDocument:0>Feature:1>Background:2>
|
2194
|
+
state_comment = "State: 32 - GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:0"
|
2202
2195
|
token.detach
|
2203
2196
|
expected_tokens = ["#DocStringSeparator", "#Other"]
|
2204
2197
|
error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
|
@@ -2207,7 +2200,7 @@ module Gherkin
|
|
2207
2200
|
return 32
|
2208
2201
|
end
|
2209
2202
|
|
2210
|
-
# GherkinDocument:0>Feature:1>Background:2>
|
2203
|
+
# GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:0
|
2211
2204
|
def match_token_at_33(token, context)
|
2212
2205
|
if match_EOF(context, token)
|
2213
2206
|
end_rule(context, :DocString);
|
@@ -2260,7 +2253,7 @@ module Gherkin
|
|
2260
2253
|
return 33
|
2261
2254
|
end
|
2262
2255
|
|
2263
|
-
state_comment = "State: 33 - GherkinDocument:0>Feature:1>Background:2>
|
2256
|
+
state_comment = "State: 33 - GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:0"
|
2264
2257
|
token.detach
|
2265
2258
|
expected_tokens = ["#EOF", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"]
|
2266
2259
|
error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
|