gherkin 4.1.3 → 5.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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)
|