gherkin 2.4.21-x86-mingw32 → 2.5.0-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. data/Gemfile.lock +5 -6
  2. data/History.md +71 -0
  3. data/features/json_formatter.feature +134 -80
  4. data/features/json_parser.feature +8 -12
  5. data/gherkin.gemspec +2 -2
  6. data/lib/1.8/gherkin_lexer_ar.so +0 -0
  7. data/lib/1.8/gherkin_lexer_bg.so +0 -0
  8. data/lib/1.8/gherkin_lexer_ca.so +0 -0
  9. data/lib/1.8/gherkin_lexer_cs.so +0 -0
  10. data/lib/1.8/gherkin_lexer_cy_gb.so +0 -0
  11. data/lib/1.8/gherkin_lexer_da.so +0 -0
  12. data/lib/1.8/gherkin_lexer_de.so +0 -0
  13. data/lib/1.8/gherkin_lexer_en.so +0 -0
  14. data/lib/1.8/gherkin_lexer_en_au.so +0 -0
  15. data/lib/1.8/gherkin_lexer_en_lol.so +0 -0
  16. data/lib/1.8/gherkin_lexer_en_pirate.so +0 -0
  17. data/lib/1.8/gherkin_lexer_en_scouse.so +0 -0
  18. data/lib/1.8/gherkin_lexer_en_tx.so +0 -0
  19. data/lib/1.8/gherkin_lexer_eo.so +0 -0
  20. data/lib/1.8/gherkin_lexer_es.so +0 -0
  21. data/lib/1.8/gherkin_lexer_et.so +0 -0
  22. data/lib/1.8/gherkin_lexer_fi.so +0 -0
  23. data/lib/1.8/gherkin_lexer_fr.so +0 -0
  24. data/lib/1.8/gherkin_lexer_he.so +0 -0
  25. data/lib/1.8/gherkin_lexer_hr.so +0 -0
  26. data/lib/1.8/gherkin_lexer_hu.so +0 -0
  27. data/lib/1.8/gherkin_lexer_id.so +0 -0
  28. data/lib/1.8/gherkin_lexer_is.so +0 -0
  29. data/lib/1.8/gherkin_lexer_it.so +0 -0
  30. data/lib/1.8/gherkin_lexer_ja.so +0 -0
  31. data/lib/1.8/gherkin_lexer_ko.so +0 -0
  32. data/lib/1.8/gherkin_lexer_lt.so +0 -0
  33. data/lib/1.8/gherkin_lexer_lu.so +0 -0
  34. data/lib/1.8/gherkin_lexer_lv.so +0 -0
  35. data/lib/1.8/gherkin_lexer_nl.so +0 -0
  36. data/lib/1.8/gherkin_lexer_no.so +0 -0
  37. data/lib/1.8/gherkin_lexer_pl.so +0 -0
  38. data/lib/1.8/gherkin_lexer_pt.so +0 -0
  39. data/lib/1.8/gherkin_lexer_ro.so +0 -0
  40. data/lib/1.8/gherkin_lexer_ru.so +0 -0
  41. data/lib/1.8/gherkin_lexer_sk.so +0 -0
  42. data/lib/1.8/gherkin_lexer_sr_cyrl.so +0 -0
  43. data/lib/1.8/gherkin_lexer_sr_latn.so +0 -0
  44. data/lib/1.8/gherkin_lexer_sv.so +0 -0
  45. data/lib/1.8/gherkin_lexer_tr.so +0 -0
  46. data/lib/1.8/gherkin_lexer_uk.so +0 -0
  47. data/lib/1.8/gherkin_lexer_uz.so +0 -0
  48. data/lib/1.8/gherkin_lexer_vi.so +0 -0
  49. data/lib/1.8/gherkin_lexer_zh_cn.so +0 -0
  50. data/lib/1.8/gherkin_lexer_zh_tw.so +0 -0
  51. data/lib/1.9/gherkin_lexer_ar.so +0 -0
  52. data/lib/1.9/gherkin_lexer_bg.so +0 -0
  53. data/lib/1.9/gherkin_lexer_ca.so +0 -0
  54. data/lib/1.9/gherkin_lexer_cs.so +0 -0
  55. data/lib/1.9/gherkin_lexer_cy_gb.so +0 -0
  56. data/lib/1.9/gherkin_lexer_da.so +0 -0
  57. data/lib/1.9/gherkin_lexer_de.so +0 -0
  58. data/lib/1.9/gherkin_lexer_en.so +0 -0
  59. data/lib/1.9/gherkin_lexer_en_au.so +0 -0
  60. data/lib/1.9/gherkin_lexer_en_lol.so +0 -0
  61. data/lib/1.9/gherkin_lexer_en_pirate.so +0 -0
  62. data/lib/1.9/gherkin_lexer_en_scouse.so +0 -0
  63. data/lib/1.9/gherkin_lexer_en_tx.so +0 -0
  64. data/lib/1.9/gherkin_lexer_eo.so +0 -0
  65. data/lib/1.9/gherkin_lexer_es.so +0 -0
  66. data/lib/1.9/gherkin_lexer_et.so +0 -0
  67. data/lib/1.9/gherkin_lexer_fi.so +0 -0
  68. data/lib/1.9/gherkin_lexer_fr.so +0 -0
  69. data/lib/1.9/gherkin_lexer_he.so +0 -0
  70. data/lib/1.9/gherkin_lexer_hr.so +0 -0
  71. data/lib/1.9/gherkin_lexer_hu.so +0 -0
  72. data/lib/1.9/gherkin_lexer_id.so +0 -0
  73. data/lib/1.9/gherkin_lexer_is.so +0 -0
  74. data/lib/1.9/gherkin_lexer_it.so +0 -0
  75. data/lib/1.9/gherkin_lexer_ja.so +0 -0
  76. data/lib/1.9/gherkin_lexer_ko.so +0 -0
  77. data/lib/1.9/gherkin_lexer_lt.so +0 -0
  78. data/lib/1.9/gherkin_lexer_lu.so +0 -0
  79. data/lib/1.9/gherkin_lexer_lv.so +0 -0
  80. data/lib/1.9/gherkin_lexer_nl.so +0 -0
  81. data/lib/1.9/gherkin_lexer_no.so +0 -0
  82. data/lib/1.9/gherkin_lexer_pl.so +0 -0
  83. data/lib/1.9/gherkin_lexer_pt.so +0 -0
  84. data/lib/1.9/gherkin_lexer_ro.so +0 -0
  85. data/lib/1.9/gherkin_lexer_ru.so +0 -0
  86. data/lib/1.9/gherkin_lexer_sk.so +0 -0
  87. data/lib/1.9/gherkin_lexer_sr_cyrl.so +0 -0
  88. data/lib/1.9/gherkin_lexer_sr_latn.so +0 -0
  89. data/lib/1.9/gherkin_lexer_sv.so +0 -0
  90. data/lib/1.9/gherkin_lexer_tr.so +0 -0
  91. data/lib/1.9/gherkin_lexer_uk.so +0 -0
  92. data/lib/1.9/gherkin_lexer_uz.so +0 -0
  93. data/lib/1.9/gherkin_lexer_vi.so +0 -0
  94. data/lib/1.9/gherkin_lexer_zh_cn.so +0 -0
  95. data/lib/1.9/gherkin_lexer_zh_tw.so +0 -0
  96. data/lib/gherkin/formatter/json_formatter.rb +10 -6
  97. data/lib/gherkin/formatter/model.rb +6 -20
  98. data/lib/gherkin/formatter/pretty_formatter.rb +3 -6
  99. data/lib/gherkin/json_parser.rb +5 -6
  100. data/lib/gherkin/listener/formatter_listener.rb +5 -1
  101. data/spec/gherkin/fixtures/complex.json +30 -42
  102. data/spec/gherkin/formatter/json_formatter_spec.rb +74 -0
  103. data/spec/gherkin/json_parser_spec.rb +5 -8
  104. data/tasks/cucumber.rake +1 -0
  105. metadata +26 -24
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -29,14 +29,17 @@ module Gherkin
29
29
 
30
30
  def background(background)
31
31
  feature_elements << background.to_hash
32
+ @step_index = 0
32
33
  end
33
34
 
34
35
  def scenario(scenario)
35
36
  feature_elements << scenario.to_hash
37
+ @step_index = 0
36
38
  end
37
39
 
38
40
  def scenario_outline(scenario_outline)
39
41
  feature_elements << scenario_outline.to_hash
42
+ @step_index = 0
40
43
  end
41
44
 
42
45
  def examples(examples)
@@ -48,11 +51,16 @@ module Gherkin
48
51
  end
49
52
 
50
53
  def match(match)
51
- last_step['match'] = match.to_hash
54
+ current_steps[@step_index]['match'] = match.to_hash
52
55
  end
53
56
 
54
57
  def result(result)
55
- last_step['result'] = result.to_hash
58
+ current_steps[@step_index]['result'] = result.to_hash
59
+ @step_index += 1
60
+ end
61
+
62
+ def last_step
63
+ current_steps[-1]
56
64
  end
57
65
 
58
66
  def embedding(mime_type, data)
@@ -81,10 +89,6 @@ module Gherkin
81
89
  feature_element['steps'] ||= []
82
90
  end
83
91
 
84
- def last_step
85
- current_steps[-1]
86
- end
87
-
88
92
  def embeddings
89
93
  last_step['embeddings'] ||= []
90
94
  end
@@ -112,15 +112,15 @@ module Gherkin
112
112
  class Step < BasicStatement
113
113
  native_impl('gherkin')
114
114
 
115
- attr_accessor :multiline_arg
115
+ attr_accessor :rows
116
+ attr_accessor :doc_string
116
117
 
117
118
  def line_range
118
119
  range = super
119
- case multiline_arg
120
- when Array
121
- range = range.first..multiline_arg[-1].line
122
- when Model::DocString
123
- range = range.first..multiline_arg.line_range.last
120
+ if(rows)
121
+ range = range.first..rows[-1].line
122
+ elsif(doc_string)
123
+ range = range.first..doc_string.line_range.last
124
124
  end
125
125
  range
126
126
  end
@@ -136,20 +136,6 @@ module Gherkin
136
136
  Argument.new(offset, val)
137
137
  end
138
138
  end
139
-
140
- def to_hash
141
- hash = super
142
- if Array === @multiline_arg
143
- hash['multiline_arg'] = {
144
- 'type' => 'table',
145
- 'value' => hash['multiline_arg']
146
- }
147
- elsif DocString === @multiline_arg
148
- hash['multiline_arg']['type'] = 'doc_string'
149
- hash['multiline_arg']['content_type'] = @multiline_arg.content_type
150
- end
151
- hash
152
- end
153
139
  end
154
140
 
155
141
  class Comment < Hashable
@@ -110,12 +110,9 @@ module Gherkin
110
110
  @io.write(text_format.text(step.keyword))
111
111
  @step_printer.write_step(@io, text_format, arg_format, step.name, arguments)
112
112
  @io.puts(indented_location(location, proceed))
113
- case step.multiline_arg
114
- when Model::DocString
115
- doc_string(step.multiline_arg)
116
- when Array
117
- table(step.multiline_arg)
118
- end
113
+
114
+ doc_string(step.doc_string) if step.doc_string
115
+ table(step.rows) if step.rows
119
116
  end
120
117
 
121
118
  class MonochromeFormat
@@ -53,12 +53,11 @@ module Gherkin
53
53
  def step(o)
54
54
  step = Formatter::Model::Step.new(comments(o), keyword(o), name(o), line(o))
55
55
 
56
- if(ma = o['multiline_arg'])
57
- if(ma['type'] == 'table')
58
- step.multiline_arg = rows(ma['value'])
59
- else
60
- step.multiline_arg = Formatter::Model::DocString.new(ma['content_type'].to_s, ma['value'], ma['line'])
61
- end
56
+ if(o['rows'])
57
+ step.rows = rows(o['rows'])
58
+ elsif(o['doc_string'])
59
+ ds = o['doc_string']
60
+ step.doc_string = Formatter::Model::DocString.new(ds['content_type'].to_s, ds['value'], ds['line'])
62
61
  end
63
62
 
64
63
  step
@@ -98,7 +98,11 @@ module Gherkin
98
98
 
99
99
  def replay_step_or_examples
100
100
  if(@step_statement)
101
- @step_statement.multiline_arg = grab_doc_string! || grab_rows!
101
+ if(doc_string = grab_doc_string!)
102
+ @step_statement.doc_string = doc_string
103
+ elsif(rows = grab_rows!)
104
+ @step_statement.rows = rows
105
+ end
102
106
  @formatter.step(@step_statement)
103
107
  @step_statement = nil
104
108
  end
@@ -29,14 +29,9 @@
29
29
  "steps": [
30
30
  { "name": "A step with a table",
31
31
  "keyword": "Given ",
32
- "multiline_arg": {
33
- "type": "table",
34
- "value" : [
35
- {"cells":
36
- [ "a","row","for","a","step" ]
37
- }
38
- ]
39
- }
32
+ "rows" : [
33
+ {"cells": [ "a","row","for","a","step" ]}
34
+ ]
40
35
  }
41
36
  ],
42
37
  "examples": [
@@ -79,41 +74,35 @@
79
74
  "steps" : [
80
75
  { "name" : "a third step with a table",
81
76
  "keyword": "Given ",
82
- "multiline_arg": {
83
- "type": "table",
84
- "value": [
85
- {
86
- "cells" : [ "a","b" ],
87
- "line" : 987
88
- },
89
- { "cells" :
90
- [ "c","d" ]
91
- },
92
- { "cells" :
93
- [ "e", "f" ]
94
- }
95
- ]
96
- }
77
+ "rows": [
78
+ {
79
+ "cells" : [ "a","b" ],
80
+ "line" : 987
81
+ },
82
+ { "cells" :
83
+ [ "c","d" ]
84
+ },
85
+ { "cells" :
86
+ [ "e", "f" ]
87
+ }
88
+ ]
97
89
  },
98
90
  { "name" : "I am still testing things",
99
91
  "keyword": "Given ",
100
- "multiline_arg": {
101
- "type": "table",
102
- "value": [
103
- { "cells" :
104
- [ "g","h" ]
105
- },
106
- { "cells" :
107
- [ "e","r" ]
108
- },
109
- { "cells" :
110
- [ "k", "i" ]
111
- },
112
- { "cells" :
113
- [ "n", "" ]
114
- }
115
- ]
116
- }
92
+ "rows": [
93
+ { "cells" :
94
+ [ "g","h" ]
95
+ },
96
+ { "cells" :
97
+ [ "e","r" ]
98
+ },
99
+ { "cells" :
100
+ [ "k", "i" ]
101
+ },
102
+ { "cells" :
103
+ [ "n", "" ]
104
+ }
105
+ ]
117
106
  },
118
107
  { "name" : "I am done testing these tables",
119
108
  "keyword": "Given " },
@@ -128,8 +117,7 @@
128
117
  "steps" : [
129
118
  { "name" : "All work and no play",
130
119
  "keyword": "Given ",
131
- "multiline_arg": {
132
- "type": "doc_string",
120
+ "doc_string": {
133
121
  "content_type": "text",
134
122
  "value": "Makes Homer something something\nAnd something else",
135
123
  "line": 777
@@ -0,0 +1,74 @@
1
+ require 'spec_helper'
2
+ require 'stringio'
3
+ require 'gherkin/formatter/json_formatter'
4
+ require 'gherkin/formatter/model'
5
+
6
+ module Gherkin
7
+ module Formatter
8
+ describe JSONFormatter do
9
+ it "renders results" do
10
+ io = StringIO.new
11
+ f = JSONFormatter.new(io)
12
+ f.uri("f.feature")
13
+ f.feature(Model::Feature.new([], [], "Feature", "f", "", 1))
14
+ f.scenario(Model::Scenario.new([], [], "Feature", "f", "", 2))
15
+ f.step(Model::Step.new([], "Given ", "g", 3))
16
+ f.step(Model::Step.new([], "When ", "w", 4))
17
+
18
+ f.match(Model::Match.new([], "def.rb:33"))
19
+ f.result(Model::Result.new(:passed, 1, nil))
20
+
21
+ f.match(Model::Match.new([], "def.rb:44"))
22
+ f.result(Model::Result.new(:passed, 1, nil))
23
+
24
+ f.eof
25
+
26
+ expected = %{
27
+ {
28
+ "keyword": "Feature",
29
+ "name": "f",
30
+ "line": 1,
31
+ "description": "",
32
+ "elements": [
33
+ {
34
+ "keyword": "Feature",
35
+ "name": "f",
36
+ "line": 2,
37
+ "description": "",
38
+ "type": "scenario",
39
+ "steps": [
40
+ {
41
+ "keyword": "Given ",
42
+ "name": "g",
43
+ "line": 3,
44
+ "match": {
45
+ "location": "def.rb:33"
46
+ },
47
+ "result": {
48
+ "status": "passed",
49
+ "duration": 1
50
+ }
51
+ },
52
+ {
53
+ "keyword": "When ",
54
+ "name": "w",
55
+ "line": 4,
56
+ "match": {
57
+ "location": "def.rb:44"
58
+ },
59
+ "result": {
60
+ "status": "passed",
61
+ "duration": 1
62
+ }
63
+ }
64
+ ]
65
+ }
66
+ ]
67
+ }
68
+ }
69
+
70
+ JSON.parse(expected).should == JSON.parse(io.string)
71
+ end
72
+ end
73
+ end
74
+ end
@@ -43,14 +43,11 @@ module Gherkin
43
43
  "steps": [
44
44
  {
45
45
  "name": "Hello",
46
- "multiline_arg": {
47
- "type": "table",
48
- "value": [
49
- {
50
- "cells": ["foo", "bar"]
51
- }
52
- ]
53
- }
46
+ "rows": [
47
+ {
48
+ "cells": ["foo", "bar"]
49
+ }
50
+ ]
54
51
  }
55
52
  ]
56
53
  }
data/tasks/cucumber.rake CHANGED
@@ -1,3 +1,4 @@
1
+
1
2
  unless ENV['RUBY_CC_VERSION']
2
3
  require 'cucumber/rake/task'
3
4
 
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.4.21
4
+ version: 2.5.0
5
5
  prerelease:
6
6
  platform: x86-mingw32
7
7
  authors:
@@ -11,11 +11,11 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2011-09-16 00:00:00.000000000Z
14
+ date: 2011-09-22 00:00:00.000000000Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: json
18
- requirement: &2156443340 !ruby/object:Gem::Requirement
18
+ requirement: &2165020940 !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: *2156443340
26
+ version_requirements: *2165020940
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: cucumber
29
- requirement: &2156442580 !ruby/object:Gem::Requirement
29
+ requirement: &2165020300 !ruby/object:Gem::Requirement
30
30
  none: false
31
31
  requirements:
32
32
  - - ! '>='
33
33
  - !ruby/object:Gem::Version
34
- version: 1.0.6
34
+ version: 1.1.0
35
35
  type: :development
36
36
  prerelease: false
37
- version_requirements: *2156442580
37
+ version_requirements: *2165020300
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: rake
40
- requirement: &2156441960 !ruby/object:Gem::Requirement
40
+ requirement: &2165019760 !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: *2156441960
48
+ version_requirements: *2165019760
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: bundler
51
- requirement: &2156441240 !ruby/object:Gem::Requirement
51
+ requirement: &2165016900 !ruby/object:Gem::Requirement
52
52
  none: false
53
53
  requirements:
54
54
  - - ! '>='
@@ -56,10 +56,10 @@ dependencies:
56
56
  version: 1.0.18
57
57
  type: :development
58
58
  prerelease: false
59
- version_requirements: *2156441240
59
+ version_requirements: *2165016900
60
60
  - !ruby/object:Gem::Dependency
61
61
  name: rspec
62
- requirement: &2156440380 !ruby/object:Gem::Requirement
62
+ requirement: &2165016280 !ruby/object:Gem::Requirement
63
63
  none: false
64
64
  requirements:
65
65
  - - ! '>='
@@ -67,10 +67,10 @@ dependencies:
67
67
  version: 2.6.0
68
68
  type: :development
69
69
  prerelease: false
70
- version_requirements: *2156440380
70
+ version_requirements: *2165016280
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: therubyracer
73
- requirement: &2156438480 !ruby/object:Gem::Requirement
73
+ requirement: &2165015560 !ruby/object:Gem::Requirement
74
74
  none: false
75
75
  requirements:
76
76
  - - ! '>='
@@ -78,10 +78,10 @@ dependencies:
78
78
  version: 0.9.4
79
79
  type: :development
80
80
  prerelease: false
81
- version_requirements: *2156438480
81
+ version_requirements: *2165015560
82
82
  - !ruby/object:Gem::Dependency
83
83
  name: yard
84
- requirement: &2156437660 !ruby/object:Gem::Requirement
84
+ requirement: &2165014920 !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: *2156437660
92
+ version_requirements: *2165014920
93
93
  - !ruby/object:Gem::Dependency
94
94
  name: rdiscount
95
- requirement: &2156436360 !ruby/object:Gem::Requirement
95
+ requirement: &2165013960 !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: *2156436360
103
+ version_requirements: *2165013960
104
104
  - !ruby/object:Gem::Dependency
105
105
  name: term-ansicolor
106
- requirement: &2156435760 !ruby/object:Gem::Requirement
106
+ requirement: &2165013440 !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: *2156435760
114
+ version_requirements: *2165013440
115
115
  - !ruby/object:Gem::Dependency
116
116
  name: builder
117
- requirement: &2156435120 !ruby/object:Gem::Requirement
117
+ requirement: &2165012920 !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: *2156435120
125
+ version_requirements: *2165012920
126
126
  description: A fast Gherkin lexer/parser based on the Ragel State Machine Compiler.
127
127
  email: cukes@googlegroups.com
128
128
  executables: []
@@ -220,6 +220,7 @@ files:
220
220
  - spec/gherkin/fixtures/with_bom.feature
221
221
  - spec/gherkin/formatter/ansi_escapes_spec.rb
222
222
  - spec/gherkin/formatter/filter_formatter_spec.rb
223
+ - spec/gherkin/formatter/json_formatter_spec.rb
223
224
  - spec/gherkin/formatter/model_spec.rb
224
225
  - spec/gherkin/formatter/pretty_formatter_spec.rb
225
226
  - spec/gherkin/formatter/spaces.feature
@@ -375,7 +376,7 @@ rubyforge_project:
375
376
  rubygems_version: 1.8.10
376
377
  signing_key:
377
378
  specification_version: 3
378
- summary: gherkin-2.4.21
379
+ summary: gherkin-2.5.0
379
380
  test_files:
380
381
  - features/escaped_pipes.feature
381
382
  - features/feature_parser.feature
@@ -411,6 +412,7 @@ test_files:
411
412
  - spec/gherkin/fixtures/with_bom.feature
412
413
  - spec/gherkin/formatter/ansi_escapes_spec.rb
413
414
  - spec/gherkin/formatter/filter_formatter_spec.rb
415
+ - spec/gherkin/formatter/json_formatter_spec.rb
414
416
  - spec/gherkin/formatter/model_spec.rb
415
417
  - spec/gherkin/formatter/pretty_formatter_spec.rb
416
418
  - spec/gherkin/formatter/spaces.feature