gherkin 2.5.4-x86-mswin32 → 2.6.0-x86-mswin32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (112) hide show
  1. data/Gemfile +2 -0
  2. data/Gemfile.lock +9 -7
  3. data/History.md +11 -1
  4. data/README.md +1 -1
  5. data/features/json_formatter.feature +376 -310
  6. data/features/json_parser.feature +245 -228
  7. data/features/step_definitions/json_formatter_steps.rb +7 -4
  8. data/features/step_definitions/json_parser_steps.rb +1 -1
  9. data/features/step_definitions/pretty_formatter_steps.rb +2 -1
  10. data/gherkin.gemspec +4 -3
  11. data/lib/1.8/gherkin_lexer_ar.so +0 -0
  12. data/lib/1.8/gherkin_lexer_bg.so +0 -0
  13. data/lib/1.8/gherkin_lexer_ca.so +0 -0
  14. data/lib/1.8/gherkin_lexer_cs.so +0 -0
  15. data/lib/1.8/gherkin_lexer_cy_gb.so +0 -0
  16. data/lib/1.8/gherkin_lexer_da.so +0 -0
  17. data/lib/1.8/gherkin_lexer_de.so +0 -0
  18. data/lib/1.8/gherkin_lexer_en.so +0 -0
  19. data/lib/1.8/gherkin_lexer_en_au.so +0 -0
  20. data/lib/1.8/gherkin_lexer_en_lol.so +0 -0
  21. data/lib/1.8/gherkin_lexer_en_pirate.so +0 -0
  22. data/lib/1.8/gherkin_lexer_en_scouse.so +0 -0
  23. data/lib/1.8/gherkin_lexer_en_tx.so +0 -0
  24. data/lib/1.8/gherkin_lexer_eo.so +0 -0
  25. data/lib/1.8/gherkin_lexer_es.so +0 -0
  26. data/lib/1.8/gherkin_lexer_et.so +0 -0
  27. data/lib/1.8/gherkin_lexer_fi.so +0 -0
  28. data/lib/1.8/gherkin_lexer_fr.so +0 -0
  29. data/lib/1.8/gherkin_lexer_he.so +0 -0
  30. data/lib/1.8/gherkin_lexer_hr.so +0 -0
  31. data/lib/1.8/gherkin_lexer_hu.so +0 -0
  32. data/lib/1.8/gherkin_lexer_id.so +0 -0
  33. data/lib/1.8/gherkin_lexer_is.so +0 -0
  34. data/lib/1.8/gherkin_lexer_it.so +0 -0
  35. data/lib/1.8/gherkin_lexer_ja.so +0 -0
  36. data/lib/1.8/gherkin_lexer_ko.so +0 -0
  37. data/lib/1.8/gherkin_lexer_lt.so +0 -0
  38. data/lib/1.8/gherkin_lexer_lu.so +0 -0
  39. data/lib/1.8/gherkin_lexer_lv.so +0 -0
  40. data/lib/1.8/gherkin_lexer_nl.so +0 -0
  41. data/lib/1.8/gherkin_lexer_no.so +0 -0
  42. data/lib/1.8/gherkin_lexer_pl.so +0 -0
  43. data/lib/1.8/gherkin_lexer_pt.so +0 -0
  44. data/lib/1.8/gherkin_lexer_ro.so +0 -0
  45. data/lib/1.8/gherkin_lexer_ru.so +0 -0
  46. data/lib/1.8/gherkin_lexer_sk.so +0 -0
  47. data/lib/1.8/gherkin_lexer_sr_cyrl.so +0 -0
  48. data/lib/1.8/gherkin_lexer_sr_latn.so +0 -0
  49. data/lib/1.8/gherkin_lexer_sv.so +0 -0
  50. data/lib/1.8/gherkin_lexer_tr.so +0 -0
  51. data/lib/1.8/gherkin_lexer_uk.so +0 -0
  52. data/lib/1.8/gherkin_lexer_uz.so +0 -0
  53. data/lib/1.8/gherkin_lexer_vi.so +0 -0
  54. data/lib/1.8/gherkin_lexer_zh_cn.so +0 -0
  55. data/lib/1.8/gherkin_lexer_zh_tw.so +0 -0
  56. data/lib/1.9/gherkin_lexer_ar.so +0 -0
  57. data/lib/1.9/gherkin_lexer_bg.so +0 -0
  58. data/lib/1.9/gherkin_lexer_ca.so +0 -0
  59. data/lib/1.9/gherkin_lexer_cs.so +0 -0
  60. data/lib/1.9/gherkin_lexer_cy_gb.so +0 -0
  61. data/lib/1.9/gherkin_lexer_da.so +0 -0
  62. data/lib/1.9/gherkin_lexer_de.so +0 -0
  63. data/lib/1.9/gherkin_lexer_en.so +0 -0
  64. data/lib/1.9/gherkin_lexer_en_au.so +0 -0
  65. data/lib/1.9/gherkin_lexer_en_lol.so +0 -0
  66. data/lib/1.9/gherkin_lexer_en_pirate.so +0 -0
  67. data/lib/1.9/gherkin_lexer_en_scouse.so +0 -0
  68. data/lib/1.9/gherkin_lexer_en_tx.so +0 -0
  69. data/lib/1.9/gherkin_lexer_eo.so +0 -0
  70. data/lib/1.9/gherkin_lexer_es.so +0 -0
  71. data/lib/1.9/gherkin_lexer_et.so +0 -0
  72. data/lib/1.9/gherkin_lexer_fi.so +0 -0
  73. data/lib/1.9/gherkin_lexer_fr.so +0 -0
  74. data/lib/1.9/gherkin_lexer_he.so +0 -0
  75. data/lib/1.9/gherkin_lexer_hr.so +0 -0
  76. data/lib/1.9/gherkin_lexer_hu.so +0 -0
  77. data/lib/1.9/gherkin_lexer_id.so +0 -0
  78. data/lib/1.9/gherkin_lexer_is.so +0 -0
  79. data/lib/1.9/gherkin_lexer_it.so +0 -0
  80. data/lib/1.9/gherkin_lexer_ja.so +0 -0
  81. data/lib/1.9/gherkin_lexer_ko.so +0 -0
  82. data/lib/1.9/gherkin_lexer_lt.so +0 -0
  83. data/lib/1.9/gherkin_lexer_lu.so +0 -0
  84. data/lib/1.9/gherkin_lexer_lv.so +0 -0
  85. data/lib/1.9/gherkin_lexer_nl.so +0 -0
  86. data/lib/1.9/gherkin_lexer_no.so +0 -0
  87. data/lib/1.9/gherkin_lexer_pl.so +0 -0
  88. data/lib/1.9/gherkin_lexer_pt.so +0 -0
  89. data/lib/1.9/gherkin_lexer_ro.so +0 -0
  90. data/lib/1.9/gherkin_lexer_ru.so +0 -0
  91. data/lib/1.9/gherkin_lexer_sk.so +0 -0
  92. data/lib/1.9/gherkin_lexer_sr_cyrl.so +0 -0
  93. data/lib/1.9/gherkin_lexer_sr_latn.so +0 -0
  94. data/lib/1.9/gherkin_lexer_sv.so +0 -0
  95. data/lib/1.9/gherkin_lexer_tr.so +0 -0
  96. data/lib/1.9/gherkin_lexer_uk.so +0 -0
  97. data/lib/1.9/gherkin_lexer_uz.so +0 -0
  98. data/lib/1.9/gherkin_lexer_vi.so +0 -0
  99. data/lib/1.9/gherkin_lexer_zh_cn.so +0 -0
  100. data/lib/1.9/gherkin_lexer_zh_tw.so +0 -0
  101. data/lib/gherkin/formatter/json_formatter.rb +13 -9
  102. data/lib/gherkin/formatter/model.rb +78 -20
  103. data/lib/gherkin/formatter/pretty_formatter.rb +1 -1
  104. data/lib/gherkin/json_parser.rb +32 -24
  105. data/lib/gherkin/listener/formatter_listener.rb +76 -50
  106. data/spec/gherkin/fixtures/complex.json +8 -1
  107. data/spec/gherkin/formatter/json_formatter_spec.rb +49 -43
  108. data/spec/gherkin/formatter/model_spec.rb +2 -2
  109. data/spec/gherkin/formatter/pretty_formatter_spec.rb +10 -10
  110. data/spec/gherkin/json_parser_spec.rb +93 -77
  111. data/spec/gherkin/sexp_recorder.rb +0 -3
  112. metadata +25 -25
@@ -36,11 +36,11 @@ module Gherkin
36
36
 
37
37
  it "should print comments when scenario is longer" do
38
38
  @f.uri("features/foo.feature")
39
- @f.feature(Model::Feature.new([], [], "Feature", "Hello", "World", 1))
39
+ @f.feature(Model::Feature.new([], [], "Feature", "Hello", "World", 1, "hello"))
40
40
 
41
- @f.scenario(Model::Scenario.new([], [], "Scenario", "The scenario", "", 4))
42
- @f.step(Model::Step.new([], "Given ", "some stuff", 5))
43
- @f.step(Model::Step.new([], "When ", "foo", 6))
41
+ @f.scenario(Model::Scenario.new([], [], "Scenario", "The scenario", "", 4, "the-scenario"))
42
+ @f.step(Model::Step.new([], "Given ", "some stuff", 5, nil, nil))
43
+ @f.step(Model::Step.new([], "When ", "foo", 6, nil, nil))
44
44
 
45
45
  @f.match(Model::Match.new([], "features/step_definitions/bar.rb:56"))
46
46
  @f.result(Model::Result.new('passed', 22, nil))
@@ -61,12 +61,12 @@ module Gherkin
61
61
 
62
62
  it "should print comments when step is longer" do
63
63
  @f.uri("features/foo.feature")
64
- @f.feature(Model::Feature.new([], [], "Feature", "Hello", "World", 1))
65
- step = Model::Step.new([], "Given ", "some stuff that is longer", 5)
64
+ @f.feature(Model::Feature.new([], [], "Feature", "Hello", "World", 1, "hello"))
65
+ step = Model::Step.new([], "Given ", "some stuff that is longer", 5, nil, nil)
66
66
  match = Model::Match.new([], "features/step_definitions/bar.rb:56")
67
67
  result = Model::Result.new('passed', 0, nil)
68
68
 
69
- @f.scenario(Model::Scenario.new([], [], "Scenario", "The scenario", "", 4))
69
+ @f.scenario(Model::Scenario.new([], [], "Scenario", "The scenario", "", 4, "the-scenario"))
70
70
  @f.step(step)
71
71
  @f.match(match)
72
72
  @f.result(result)
@@ -82,8 +82,8 @@ module Gherkin
82
82
 
83
83
  it "should highlight arguments for regular steps" do
84
84
  @f.uri("foo.feature")
85
- @f.scenario(Model::Scenario.new([], [], "Scenario", "Lots of cukes", "", 3))
86
- @f.step(Model::Step.new([], "Given ", "I have 999 cukes in my belly", 3))
85
+ @f.scenario(Model::Scenario.new([], [], "Scenario", "Lots of cukes", "", 3, "lots-of-cukes"))
86
+ @f.step(Model::Step.new([], "Given ", "I have 999 cukes in my belly", 3, nil, nil))
87
87
  @f.match(Model::Match.new([Gherkin::Formatter::Argument.new(7, '999')], nil))
88
88
  @f.result(Model::Result.new('passed', 6, nil))
89
89
 
@@ -150,7 +150,7 @@ Feature: Feature Description
150
150
  it "should escape backslashes and pipes" do
151
151
  io = StringIO.new
152
152
  f = Gherkin::Formatter::PrettyFormatter.new(io, true, false)
153
- f.__send__(:table, [Gherkin::Formatter::Model::Row.new([], ['|', '\\'], 1)])
153
+ f.__send__(:table, [Gherkin::Formatter::Model::DataTableRow.new([], ['|', '\\'], 1)])
154
154
  io.string.should == ' | \\| | \\\\ |' + "\n"
155
155
  end
156
156
  end
@@ -1,4 +1,5 @@
1
1
  #encoding: utf-8
2
+ require 'stringio'
2
3
  require 'spec_helper'
3
4
  require 'gherkin/json_parser'
4
5
  require 'gherkin/formatter/json_formatter'
@@ -10,100 +11,115 @@ module Gherkin
10
11
  io = StringIO.new
11
12
  f = Formatter::JSONFormatter.new(io)
12
13
  p = JSONParser.new(f, f)
13
- p.parse(json, 'unknown.json', 0)
14
+ p.parse(json)
15
+ f.close
14
16
  expected = JSON.parse(json)
15
17
  actual = JSON.parse(io.string)
16
18
  actual.should == expected
17
19
  end
18
20
 
19
21
  it "should parse a barely empty feature" do
20
- check_json(%{{
21
- "keyword": "Feature",
22
- "name": "One",
23
- "description": "",
24
- "line" : 3
25
- }})
22
+ check_json(%{[
23
+ {
24
+ "id": "one",
25
+ "uri": "test.feature",
26
+ "keyword": "Feature",
27
+ "name": "One",
28
+ "description": "",
29
+ "line" : 3
30
+ }
31
+ ]})
26
32
  end
27
33
 
28
34
  it "should parse feature with tags and one scenario" do
29
- check_json(%{{
30
- "tags": [
31
- {
32
- "name": "@foo",
33
- "line": 22
34
- }
35
- ],
36
- "keyword": "Feature",
37
- "name": "One",
38
- "description": "",
39
- "line": 3,
40
- "elements": [
41
- {
42
- "type": "scenario",
43
- "steps": [
44
- {
45
- "name": "Hello",
46
- "rows": [
47
- {
48
- "cells": ["foo", "bar"]
49
- }
50
- ]
51
- }
52
- ]
53
- }
54
- ]
55
- }})
35
+ check_json(%{[
36
+ {
37
+ "id": "one",
38
+ "uri": "test.feature",
39
+ "tags": [
40
+ {
41
+ "name": "@foo",
42
+ "line": 22
43
+ }
44
+ ],
45
+ "keyword": "Feature",
46
+ "name": "One",
47
+ "description": "",
48
+ "line": 3,
49
+ "elements": [
50
+ {
51
+ "id": "one/two",
52
+ "type": "scenario",
53
+ "steps": [
54
+ {
55
+ "name": "Hello",
56
+ "rows": [
57
+ {
58
+ "cells": ["foo", "bar"]
59
+ }
60
+ ]
61
+ }
62
+ ]
63
+ }
64
+ ]
65
+ }
66
+ ]})
56
67
  end
57
68
 
58
69
  it "should parse feature with match, result and embedding" do
59
- check_json(%{{
60
- "tags": [
61
- {
62
- "name": "@foo",
63
- "line": 22
64
- }
65
- ],
66
- "keyword": "Feature",
67
- "name": "One",
68
- "description": "",
69
- "line": 3,
70
- "elements": [
71
- {
72
- "type": "scenario",
73
- "steps": [
74
- {
75
- "keyword": "Given ",
76
- "name": "a passing step",
77
- "line": 6,
78
- "match": {
79
- "arguments": [
70
+ check_json(%{[
71
+ {
72
+ "id": "one",
73
+ "uri": "test.feature",
74
+ "tags": [
75
+ {
76
+ "name": "@foo",
77
+ "line": 22
78
+ }
79
+ ],
80
+ "keyword": "Feature",
81
+ "name": "One",
82
+ "description": "",
83
+ "line": 3,
84
+ "elements": [
85
+ {
86
+ "id": "one/a-scenario",
87
+ "type": "scenario",
88
+ "steps": [
89
+ {
90
+ "keyword": "Given ",
91
+ "name": "a passing step",
92
+ "line": 6,
93
+ "match": {
94
+ "arguments": [
95
+ {
96
+ "offset": 22,
97
+ "val": "cukes"
98
+ }
99
+ ],
100
+ "location": "features/step_definitions/steps.rb:1"
101
+ },
102
+ "result": {
103
+ "status": "failed",
104
+ "error_message": "You suck",
105
+ "duration": -1
106
+ },
107
+ "embeddings": [
80
108
  {
81
- "offset": 22,
82
- "val": "cukes"
109
+ "mime_type": "text/plain",
110
+ "data": "Tm8sIEknbSBub3QgaW50ZXJlc3RlZCBpbiBkZXZlbG9waW5nIGEgcG93ZXJmdWwgYnJhaW4uIEFsbCBJJ20gYWZ0ZXIgaXMganVzdCBhIG1lZGlvY3JlIGJyYWluLCBzb21ldGhpbmcgbGlrZSB0aGUgUHJlc2lkZW50IG9mIHRoZSBBbWVyaWNhbiBUZWxlcGhvbmUgYW5kIFRlbGVncmFwaCBDb21wYW55Lg=="
83
111
  }
84
- ],
85
- "location": "features/step_definitions/steps.rb:1"
86
- },
87
- "result": {
88
- "status": "failed",
89
- "error_message": "You suck",
90
- "duration": -1
91
- },
92
- "embeddings": [
93
- {
94
- "mime_type": "text/plain",
95
- "data": "Tm8sIEknbSBub3QgaW50ZXJlc3RlZCBpbiBkZXZlbG9waW5nIGEgcG93ZXJmdWwgYnJhaW4uIEFsbCBJJ20gYWZ0ZXIgaXMganVzdCBhIG1lZGlvY3JlIGJyYWluLCBzb21ldGhpbmcgbGlrZSB0aGUgUHJlc2lkZW50IG9mIHRoZSBBbWVyaWNhbiBUZWxlcGhvbmUgYW5kIFRlbGVncmFwaCBDb21wYW55Lg=="
96
- }
97
- ]
98
- }
99
- ]
100
- }
101
- ]
102
- }})
112
+ ]
113
+ }
114
+ ]
115
+ }
116
+ ]
117
+ }
118
+ ]})
103
119
  end
104
120
 
105
121
  it "shoud parse a complex feature" do
106
- check_json(fixture("complex.json"))
122
+ check_json('[' + fixture("complex.json") + ']')
107
123
  end
108
124
  end
109
125
  end
@@ -12,9 +12,6 @@ module Gherkin
12
12
  # We can't use method_missing - therubyracer isn't able to invoke methods like that.
13
13
  [:comment, :tag, :feature, :background, :scenario, :scenario_outline, :examples, :step, :doc_string, :row, :eof, :uri, :syntax_error].each do |event|
14
14
  define_method(event) do |*args|
15
- event = :scenario_outline if event == :scenarioOutline # Special Java Lexer handling
16
- event = :doc_string if event == :docString # Special Java Lexer handling
17
- event = :syntax_error if event == :syntaxError # Special Java Lexer handling
18
15
  args = rubify(args)
19
16
  args = sexpify(args)
20
17
  @sexps << [event] + args
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gherkin
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.4
4
+ version: 2.6.0
5
5
  prerelease:
6
6
  platform: x86-mswin32
7
7
  authors:
@@ -11,11 +11,11 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2011-10-20 00:00:00.000000000Z
14
+ date: 2011-10-30 00:00:00.000000000Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: json
18
- requirement: &2153299640 !ruby/object:Gem::Requirement
18
+ requirement: &2156121220 !ruby/object:Gem::Requirement
19
19
  none: false
20
20
  requirements:
21
21
  - - ! '>='
@@ -23,21 +23,21 @@ dependencies:
23
23
  version: 1.4.6
24
24
  type: :runtime
25
25
  prerelease: false
26
- version_requirements: *2153299640
26
+ version_requirements: *2156121220
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: cucumber
29
- requirement: &2153299100 !ruby/object:Gem::Requirement
29
+ requirement: &2156106120 !ruby/object:Gem::Requirement
30
30
  none: false
31
31
  requirements:
32
32
  - - ! '>='
33
33
  - !ruby/object:Gem::Version
34
- version: 1.1.0
34
+ version: 1.1.1
35
35
  type: :development
36
36
  prerelease: false
37
- version_requirements: *2153299100
37
+ version_requirements: *2156106120
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: rake
40
- requirement: &2153298360 !ruby/object:Gem::Requirement
40
+ requirement: &2156083380 !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
43
  - - ! '>='
@@ -45,10 +45,10 @@ dependencies:
45
45
  version: 0.9.2
46
46
  type: :development
47
47
  prerelease: false
48
- version_requirements: *2153298360
48
+ version_requirements: *2156083380
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: bundler
51
- requirement: &2153297360 !ruby/object:Gem::Requirement
51
+ requirement: &2156044640 !ruby/object:Gem::Requirement
52
52
  none: false
53
53
  requirements:
54
54
  - - ! '>='
@@ -56,21 +56,21 @@ dependencies:
56
56
  version: 1.0.21
57
57
  type: :development
58
58
  prerelease: false
59
- version_requirements: *2153297360
59
+ version_requirements: *2156044640
60
60
  - !ruby/object:Gem::Dependency
61
61
  name: rspec
62
- requirement: &2153296280 !ruby/object:Gem::Requirement
62
+ requirement: &2156026560 !ruby/object:Gem::Requirement
63
63
  none: false
64
64
  requirements:
65
65
  - - ! '>='
66
66
  - !ruby/object:Gem::Version
67
- version: 2.6.0
67
+ version: 2.7.0
68
68
  type: :development
69
69
  prerelease: false
70
- version_requirements: *2153296280
70
+ version_requirements: *2156026560
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: therubyracer
73
- requirement: &2153295440 !ruby/object:Gem::Requirement
73
+ requirement: &2156022440 !ruby/object:Gem::Requirement
74
74
  none: false
75
75
  requirements:
76
76
  - - ! '>='
@@ -78,10 +78,10 @@ dependencies:
78
78
  version: 0.9.8
79
79
  type: :development
80
80
  prerelease: false
81
- version_requirements: *2153295440
81
+ version_requirements: *2156022440
82
82
  - !ruby/object:Gem::Dependency
83
83
  name: yard
84
- requirement: &2153293660 !ruby/object:Gem::Requirement
84
+ requirement: &2156000840 !ruby/object:Gem::Requirement
85
85
  none: false
86
86
  requirements:
87
87
  - - ! '>='
@@ -89,10 +89,10 @@ dependencies:
89
89
  version: 0.7.2
90
90
  type: :development
91
91
  prerelease: false
92
- version_requirements: *2153293660
92
+ version_requirements: *2156000840
93
93
  - !ruby/object:Gem::Dependency
94
94
  name: rdiscount
95
- requirement: &2153231120 !ruby/object:Gem::Requirement
95
+ requirement: &2155995480 !ruby/object:Gem::Requirement
96
96
  none: false
97
97
  requirements:
98
98
  - - ! '>='
@@ -100,10 +100,10 @@ dependencies:
100
100
  version: 1.6.8
101
101
  type: :development
102
102
  prerelease: false
103
- version_requirements: *2153231120
103
+ version_requirements: *2155995480
104
104
  - !ruby/object:Gem::Dependency
105
105
  name: term-ansicolor
106
- requirement: &2153229840 !ruby/object:Gem::Requirement
106
+ requirement: &2155987580 !ruby/object:Gem::Requirement
107
107
  none: false
108
108
  requirements:
109
109
  - - ! '>='
@@ -111,10 +111,10 @@ dependencies:
111
111
  version: 1.0.6
112
112
  type: :development
113
113
  prerelease: false
114
- version_requirements: *2153229840
114
+ version_requirements: *2155987580
115
115
  - !ruby/object:Gem::Dependency
116
116
  name: builder
117
- requirement: &2153229360 !ruby/object:Gem::Requirement
117
+ requirement: &2155980820 !ruby/object:Gem::Requirement
118
118
  none: false
119
119
  requirements:
120
120
  - - ! '>='
@@ -122,7 +122,7 @@ dependencies:
122
122
  version: 2.1.2
123
123
  type: :development
124
124
  prerelease: false
125
- version_requirements: *2153229360
125
+ version_requirements: *2155980820
126
126
  description: A fast Gherkin lexer/parser based on the Ragel State Machine Compiler.
127
127
  email: cukes@googlegroups.com
128
128
  executables: []
@@ -377,7 +377,7 @@ rubyforge_project:
377
377
  rubygems_version: 1.8.10
378
378
  signing_key:
379
379
  specification_version: 3
380
- summary: gherkin-2.5.4
380
+ summary: gherkin-2.6.0
381
381
  test_files:
382
382
  - features/escaped_pipes.feature
383
383
  - features/feature_parser.feature