cucumber 4.0.0.rc.1 → 4.0.0.rc.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +97 -4
  3. data/CONTRIBUTING.md +1 -18
  4. data/README.md +4 -5
  5. data/lib/autotest/cucumber_mixin.rb +2 -10
  6. data/lib/cucumber.rb +1 -1
  7. data/lib/cucumber/cli/configuration.rb +1 -1
  8. data/lib/cucumber/cli/main.rb +1 -0
  9. data/lib/cucumber/cli/options.rb +18 -13
  10. data/lib/cucumber/cli/profile_loader.rb +23 -12
  11. data/lib/cucumber/configuration.rb +11 -2
  12. data/lib/cucumber/deprecate.rb +29 -5
  13. data/lib/cucumber/errors.rb +5 -2
  14. data/lib/cucumber/events.rb +12 -7
  15. data/lib/cucumber/events/envelope.rb +9 -0
  16. data/lib/cucumber/events/hook_test_step_created.rb +13 -0
  17. data/lib/cucumber/events/test_case_created.rb +13 -0
  18. data/lib/cucumber/events/test_case_ready.rb +12 -0
  19. data/lib/cucumber/events/test_step_created.rb +13 -0
  20. data/lib/cucumber/filters.rb +1 -0
  21. data/lib/cucumber/filters/broadcast_test_case_ready_event.rb +12 -0
  22. data/lib/cucumber/formatter/ast_lookup.rb +43 -38
  23. data/lib/cucumber/formatter/backtrace_filter.rb +4 -1
  24. data/lib/cucumber/formatter/console.rb +4 -9
  25. data/lib/cucumber/formatter/console_issues.rb +1 -1
  26. data/lib/cucumber/formatter/duration.rb +1 -1
  27. data/lib/cucumber/formatter/duration_extractor.rb +2 -0
  28. data/lib/cucumber/formatter/errors.rb +6 -0
  29. data/lib/cucumber/formatter/html.rb +24 -0
  30. data/lib/cucumber/formatter/http_io.rb +146 -0
  31. data/lib/cucumber/formatter/interceptor.rb +3 -21
  32. data/lib/cucumber/formatter/io.rb +14 -8
  33. data/lib/cucumber/formatter/json.rb +46 -36
  34. data/lib/cucumber/formatter/junit.rb +13 -11
  35. data/lib/cucumber/formatter/message.rb +22 -0
  36. data/lib/cucumber/formatter/message_builder.rb +243 -0
  37. data/lib/cucumber/formatter/pretty.rb +65 -60
  38. data/lib/cucumber/formatter/query/hook_by_test_step.rb +31 -0
  39. data/lib/cucumber/formatter/query/pickle_by_test.rb +26 -0
  40. data/lib/cucumber/formatter/query/pickle_step_by_test_step.rb +26 -0
  41. data/lib/cucumber/formatter/query/step_definitions_by_test_step.rb +40 -0
  42. data/lib/cucumber/formatter/query/test_case_started_by_test_case.rb +40 -0
  43. data/lib/cucumber/formatter/summary.rb +1 -1
  44. data/lib/cucumber/formatter/usage.rb +3 -3
  45. data/lib/cucumber/gherkin/data_table_parser.rb +12 -3
  46. data/lib/cucumber/gherkin/steps_parser.rb +13 -3
  47. data/lib/cucumber/glue/hook.rb +18 -2
  48. data/lib/cucumber/glue/proto_world.rb +30 -18
  49. data/lib/cucumber/glue/registry_and_more.rb +40 -3
  50. data/lib/cucumber/glue/snippet.rb +2 -2
  51. data/lib/cucumber/glue/step_definition.rb +28 -4
  52. data/lib/cucumber/hooks.rb +8 -8
  53. data/lib/cucumber/multiline_argument.rb +1 -1
  54. data/lib/cucumber/multiline_argument/data_table.rb +17 -13
  55. data/lib/cucumber/platform.rb +1 -1
  56. data/lib/cucumber/rake/task.rb +3 -0
  57. data/lib/cucumber/runtime.rb +29 -3
  58. data/lib/cucumber/runtime/after_hooks.rb +6 -2
  59. data/lib/cucumber/runtime/before_hooks.rb +6 -2
  60. data/lib/cucumber/runtime/for_programming_languages.rb +1 -0
  61. data/lib/cucumber/runtime/step_hooks.rb +3 -2
  62. data/lib/cucumber/runtime/support_code.rb +3 -3
  63. data/lib/cucumber/runtime/user_interface.rb +2 -10
  64. data/lib/cucumber/step_definitions.rb +2 -2
  65. data/lib/cucumber/version +1 -1
  66. metadata +227 -73
@@ -7,7 +7,7 @@ require 'cucumber/core/platform'
7
7
 
8
8
  module Cucumber
9
9
  unless defined?(Cucumber::VERSION)
10
- VERSION = File.read(File.expand_path('version', __dir__))
10
+ VERSION = File.read(File.expand_path('version', __dir__)).strip
11
11
  BINARY = File.expand_path(File.dirname(__FILE__) + '/../../bin/cucumber')
12
12
  LIBDIR = File.expand_path(File.dirname(__FILE__) + '/../../lib')
13
13
  RAILS = defined?(Rails)
@@ -132,6 +132,9 @@ module Cucumber
132
132
  # Note that this attribute has no effect if you don't run in forked mode.
133
133
  attr_accessor :bundler
134
134
 
135
+ # Name of the running task
136
+ attr_reader :task_name
137
+
135
138
  # Define Cucumber Rake task
136
139
  def initialize(task_name = 'cucumber', desc = 'Run Cucumber features')
137
140
  @task_name = task_name
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'fileutils'
4
- require 'multi_json'
5
4
  require 'cucumber/configuration'
6
5
  require 'cucumber/load_path'
7
6
  require 'cucumber/formatter/duration'
@@ -10,6 +9,8 @@ require 'cucumber/filters'
10
9
  require 'cucumber/formatter/fanout'
11
10
  require 'cucumber/gherkin/i18n'
12
11
  require 'cucumber/step_match_search'
12
+ require 'cucumber/messages'
13
+ require 'sys/uname'
13
14
 
14
15
  module Cucumber
15
16
  module FixRuby21Bug9285
@@ -63,6 +64,10 @@ module Cucumber
63
64
 
64
65
  require 'cucumber/wire/plugin'
65
66
  def run!
67
+ @configuration.notify :envelope, Cucumber::Messages::Envelope.new(
68
+ meta: make_meta
69
+ )
70
+
66
71
  load_step_definitions
67
72
  install_wire_plugin
68
73
  fire_after_configuration_hook
@@ -97,8 +102,28 @@ module Cucumber
97
102
  # Returns Ast::DocString for +string_without_triple_quotes+.
98
103
  #
99
104
  def doc_string(string_without_triple_quotes, content_type = '', _line_offset = 0)
100
- location = Core::Test::Location.of_caller
101
- Core::Test::DocString.new(string_without_triple_quotes, content_type, location)
105
+ Core::Test::DocString.new(string_without_triple_quotes, content_type)
106
+ end
107
+
108
+ def make_meta
109
+ Cucumber::Messages::Meta.new(
110
+ protocol_version: Cucumber::Messages::VERSION,
111
+ implementation: Cucumber::Messages::Meta::Product.new(
112
+ name: 'cucumber-ruby',
113
+ version: Cucumber::VERSION
114
+ ),
115
+ runtime: Cucumber::Messages::Meta::Product.new(
116
+ name: RUBY_ENGINE,
117
+ version: RUBY_VERSION
118
+ ),
119
+ os: Cucumber::Messages::Meta::Product.new(
120
+ name: RbConfig::CONFIG['target_os'],
121
+ version: Sys::Uname.uname.version
122
+ ),
123
+ cpu: Cucumber::Messages::Meta::Product.new(
124
+ name: RbConfig::CONFIG['target_cpu']
125
+ )
126
+ )
102
127
  end
103
128
 
104
129
  private
@@ -228,6 +253,7 @@ module Cucumber
228
253
  filters << Filters::ApplyBeforeHooks.new(@support_code)
229
254
  filters << Filters::ApplyAfterHooks.new(@support_code)
230
255
  filters << Filters::ApplyAroundHooks.new(@support_code)
256
+ filters << Filters::BroadcastTestCaseReadyEvent.new(@configuration)
231
257
  filters << Filters::BroadcastTestRunStartedEvent.new(@configuration)
232
258
  filters << Filters::Quit.new
233
259
  filters << Filters::Retry.new(@configuration)
@@ -3,9 +3,11 @@
3
3
  module Cucumber
4
4
  class Runtime
5
5
  class AfterHooks
6
- def initialize(hooks, scenario)
6
+ def initialize(id_generator, hooks, scenario, event_bus)
7
7
  @hooks = hooks
8
8
  @scenario = scenario
9
+ @id_generator = id_generator
10
+ @event_bus = event_bus
9
11
  end
10
12
 
11
13
  def apply_to(test_case)
@@ -19,7 +21,9 @@ module Cucumber
19
21
  def after_hooks
20
22
  @hooks.map do |hook|
21
23
  action = ->(result) { hook.invoke('After', @scenario.with_result(result)) }
22
- Hooks.after_hook(hook.location, &action)
24
+ hook_step = Hooks.after_hook(@id_generator.new_id, hook.location, &action)
25
+ @event_bus.hook_test_step_created(hook_step, hook)
26
+ hook_step
23
27
  end
24
28
  end
25
29
  end
@@ -5,9 +5,11 @@ require 'cucumber/hooks'
5
5
  module Cucumber
6
6
  class Runtime
7
7
  class BeforeHooks
8
- def initialize(hooks, scenario)
8
+ def initialize(id_generator, hooks, scenario, event_bus)
9
9
  @hooks = hooks
10
10
  @scenario = scenario
11
+ @id_generator = id_generator
12
+ @event_bus = event_bus
11
13
  end
12
14
 
13
15
  def apply_to(test_case)
@@ -21,7 +23,9 @@ module Cucumber
21
23
  def before_hooks
22
24
  @hooks.map do |hook|
23
25
  action_block = ->(result) { hook.invoke('Before', @scenario.with_result(result)) }
24
- Hooks.before_hook(hook.location, &action_block)
26
+ hook_step = Hooks.before_hook(@id_generator.new_id, hook.location, &action_block)
27
+ @event_bus.hook_test_step_created(hook_step, hook)
28
+ hook_step
25
29
  end
26
30
  end
27
31
  end
@@ -21,6 +21,7 @@ module Cucumber
21
21
 
22
22
  def_delegators :@user_interface,
23
23
  :embed,
24
+ :attach,
24
25
  :ask,
25
26
  :puts,
26
27
  :features_paths,
@@ -3,8 +3,9 @@
3
3
  module Cucumber
4
4
  class Runtime
5
5
  class StepHooks
6
- def initialize(hooks)
6
+ def initialize(id_generator, hooks)
7
7
  @hooks = hooks
8
+ @id_generator = id_generator
8
9
  end
9
10
 
10
11
  def apply(test_steps)
@@ -18,7 +19,7 @@ module Cucumber
18
19
  def after_step_hooks(test_step)
19
20
  @hooks.map do |hook|
20
21
  action = ->(*args) { hook.invoke('AfterStep', [args, test_step]) }
21
- Hooks.after_step_hook(test_step, hook.location, &action)
22
+ Hooks.after_step_hook(@id_generator.new_id, test_step, hook.location, &action)
22
23
  end
23
24
  end
24
25
  end
@@ -104,21 +104,21 @@ module Cucumber
104
104
  def find_after_step_hooks(test_case)
105
105
  scenario = RunningTestCase.new(test_case)
106
106
  hooks = registry.hooks_for(:after_step, scenario)
107
- StepHooks.new hooks
107
+ StepHooks.new(@configuration.id_generator, hooks)
108
108
  end
109
109
 
110
110
  def apply_before_hooks(test_case)
111
111
  return test_case if test_case.test_steps.empty?
112
112
  scenario = RunningTestCase.new(test_case)
113
113
  hooks = registry.hooks_for(:before, scenario)
114
- BeforeHooks.new(hooks, scenario).apply_to(test_case)
114
+ BeforeHooks.new(@configuration.id_generator, hooks, scenario, @configuration.event_bus).apply_to(test_case)
115
115
  end
116
116
 
117
117
  def apply_after_hooks(test_case)
118
118
  return test_case if test_case.test_steps.empty?
119
119
  scenario = RunningTestCase.new(test_case)
120
120
  hooks = registry.hooks_for(:after, scenario)
121
- AfterHooks.new(hooks, scenario).apply_to(test_case)
121
+ AfterHooks.new(@configuration.id_generator, hooks, scenario, @configuration.event_bus).apply_to(test_case)
122
122
  end
123
123
 
124
124
  def find_around_hooks(test_case)
@@ -7,14 +7,6 @@ module Cucumber
7
7
  module UserInterface
8
8
  attr_writer :visitor
9
9
 
10
- # Output +messages+ alongside the formatted output.
11
- # This is an alternative to using Kernel#puts - it will display
12
- # nicer, and in all outputs (in case you use several formatters)
13
- #
14
- def puts(*messages)
15
- @visitor.puts(*messages)
16
- end
17
-
18
10
  # Suspends execution and prompts +question+ to the console (STDOUT).
19
11
  # An operator (manual tester) can then enter a line of text and hit
20
12
  # <ENTER>. The entered text is returned, and both +question+ and
@@ -48,8 +40,8 @@ module Cucumber
48
40
  # be a path to a file, or if it's an image it may also be a Base64 encoded image.
49
41
  # The embedded data may or may not be ignored, depending on what kind of formatter(s) are active.
50
42
  #
51
- def embed(src, mime_type, label)
52
- @visitor.embed(src, mime_type, label)
43
+ def attach(src, media_type)
44
+ @visitor.attach(src, media_type)
53
45
  end
54
46
 
55
47
  private
@@ -8,8 +8,8 @@ module Cucumber
8
8
  @support_code.load_files_from_paths(configuration.autoload_code_paths)
9
9
  end
10
10
 
11
- def to_json
12
- @support_code.step_definitions.map(&:to_hash).to_json
11
+ def to_json(obj = nil)
12
+ @support_code.step_definitions.map(&:to_hash).to_json(obj)
13
13
  end
14
14
  end
15
15
  end
@@ -1 +1 @@
1
- 4.0.0.rc.1
1
+ 4.0.0.rc.6
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0.rc.1
4
+ version: 4.0.0.rc.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aslak Hellesøy
@@ -10,136 +10,175 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2018-09-29 00:00:00.000000000 Z
13
+ date: 2020-04-24 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: builder
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
+ - - "~>"
20
+ - !ruby/object:Gem::Version
21
+ version: '3.2'
19
22
  - - ">="
20
23
  - !ruby/object:Gem::Version
21
- version: 2.1.2
24
+ version: 3.2.3
22
25
  type: :runtime
23
26
  prerelease: false
24
27
  version_requirements: !ruby/object:Gem::Requirement
25
28
  requirements:
29
+ - - "~>"
30
+ - !ruby/object:Gem::Version
31
+ version: '3.2'
26
32
  - - ">="
27
33
  - !ruby/object:Gem::Version
28
- version: 2.1.2
34
+ version: 3.2.3
29
35
  - !ruby/object:Gem::Dependency
30
36
  name: cucumber-core
31
37
  requirement: !ruby/object:Gem::Requirement
32
38
  requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: 7.0.0
33
42
  - - "~>"
34
43
  - !ruby/object:Gem::Version
35
- version: '4.0'
44
+ version: '7.0'
36
45
  type: :runtime
37
46
  prerelease: false
38
47
  version_requirements: !ruby/object:Gem::Requirement
39
48
  requirements:
49
+ - - ">="
50
+ - !ruby/object:Gem::Version
51
+ version: 7.0.0
40
52
  - - "~>"
41
53
  - !ruby/object:Gem::Version
42
- version: '4.0'
54
+ version: '7.0'
43
55
  - !ruby/object:Gem::Dependency
44
- name: cucumber-expressions
56
+ name: cucumber-cucumber-expressions
45
57
  requirement: !ruby/object:Gem::Requirement
46
58
  requirements:
47
- - - "~>"
48
- - !ruby/object:Gem::Version
49
- version: '6.0'
50
59
  - - ">="
51
60
  - !ruby/object:Gem::Version
52
- version: 6.0.1
61
+ version: 10.1.0
62
+ - - "~>"
63
+ - !ruby/object:Gem::Version
64
+ version: '10.1'
53
65
  type: :runtime
54
66
  prerelease: false
55
67
  version_requirements: !ruby/object:Gem::Requirement
56
68
  requirements:
57
- - - "~>"
58
- - !ruby/object:Gem::Version
59
- version: '6.0'
60
69
  - - ">="
61
70
  - !ruby/object:Gem::Version
62
- version: 6.0.1
71
+ version: 10.1.0
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '10.1'
63
75
  - !ruby/object:Gem::Dependency
64
- name: cucumber-formatter-dots
76
+ name: cucumber-gherkin
65
77
  requirement: !ruby/object:Gem::Requirement
66
78
  requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: 13.0.0
67
82
  - - "~>"
68
83
  - !ruby/object:Gem::Version
69
- version: '1.0'
84
+ version: '13.0'
70
85
  type: :runtime
71
86
  prerelease: false
72
87
  version_requirements: !ruby/object:Gem::Requirement
73
88
  requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ version: 13.0.0
74
92
  - - "~>"
75
93
  - !ruby/object:Gem::Version
76
- version: '1.0'
94
+ version: '13.0'
77
95
  - !ruby/object:Gem::Dependency
78
- name: cucumber-wire
96
+ name: cucumber-html-formatter
79
97
  requirement: !ruby/object:Gem::Requirement
80
98
  requirements:
81
99
  - - "~>"
82
100
  - !ruby/object:Gem::Version
83
- version: '1.0'
101
+ version: '6.0'
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: 6.0.1
84
105
  type: :runtime
85
106
  prerelease: false
86
107
  version_requirements: !ruby/object:Gem::Requirement
87
108
  requirements:
88
109
  - - "~>"
89
110
  - !ruby/object:Gem::Version
90
- version: '1.0'
111
+ version: '6.0'
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ version: 6.0.1
91
115
  - !ruby/object:Gem::Dependency
92
- name: diff-lcs
116
+ name: cucumber-messages
93
117
  requirement: !ruby/object:Gem::Requirement
94
118
  requirements:
95
119
  - - "~>"
96
120
  - !ruby/object:Gem::Version
97
- version: '1.3'
121
+ version: '12.1'
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: 12.1.1
98
125
  type: :runtime
99
126
  prerelease: false
100
127
  version_requirements: !ruby/object:Gem::Requirement
101
128
  requirements:
102
129
  - - "~>"
103
130
  - !ruby/object:Gem::Version
104
- version: '1.3'
131
+ version: '12.1'
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ version: 12.1.1
105
135
  - !ruby/object:Gem::Dependency
106
- name: gherkin
136
+ name: cucumber-wire
107
137
  requirement: !ruby/object:Gem::Requirement
108
138
  requirements:
139
+ - - ">="
140
+ - !ruby/object:Gem::Version
141
+ version: 3.0.0
109
142
  - - "~>"
110
143
  - !ruby/object:Gem::Version
111
- version: '6.0'
144
+ version: '3.0'
112
145
  type: :runtime
113
146
  prerelease: false
114
147
  version_requirements: !ruby/object:Gem::Requirement
115
148
  requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: 3.0.0
116
152
  - - "~>"
117
153
  - !ruby/object:Gem::Version
118
- version: '6.0'
154
+ version: '3.0'
119
155
  - !ruby/object:Gem::Dependency
120
- name: multi_json
156
+ name: diff-lcs
121
157
  requirement: !ruby/object:Gem::Requirement
122
158
  requirements:
123
159
  - - ">="
124
160
  - !ruby/object:Gem::Version
125
- version: 1.7.5
126
- - - "<"
161
+ version: '1.3'
162
+ - - "~>"
127
163
  - !ruby/object:Gem::Version
128
- version: '2.0'
164
+ version: '1.3'
129
165
  type: :runtime
130
166
  prerelease: false
131
167
  version_requirements: !ruby/object:Gem::Requirement
132
168
  requirements:
133
169
  - - ">="
134
170
  - !ruby/object:Gem::Version
135
- version: 1.7.5
136
- - - "<"
171
+ version: '1.3'
172
+ - - "~>"
137
173
  - !ruby/object:Gem::Version
138
- version: '2.0'
174
+ version: '1.3'
139
175
  - !ruby/object:Gem::Dependency
140
176
  name: multi_test
141
177
  requirement: !ruby/object:Gem::Requirement
142
178
  requirements:
179
+ - - "~>"
180
+ - !ruby/object:Gem::Version
181
+ version: '0.1'
143
182
  - - ">="
144
183
  - !ruby/object:Gem::Version
145
184
  version: 0.1.2
@@ -147,191 +186,286 @@ dependencies:
147
186
  prerelease: false
148
187
  version_requirements: !ruby/object:Gem::Requirement
149
188
  requirements:
189
+ - - "~>"
190
+ - !ruby/object:Gem::Version
191
+ version: '0.1'
150
192
  - - ">="
151
193
  - !ruby/object:Gem::Version
152
194
  version: 0.1.2
153
195
  - !ruby/object:Gem::Dependency
154
- name: aruba
196
+ name: sys-uname
155
197
  requirement: !ruby/object:Gem::Requirement
156
198
  requirements:
157
199
  - - "~>"
158
200
  - !ruby/object:Gem::Version
159
- version: 0.6.1
160
- type: :development
201
+ version: '1.0'
202
+ - - ">="
203
+ - !ruby/object:Gem::Version
204
+ version: 1.0.2
205
+ type: :runtime
161
206
  prerelease: false
162
207
  version_requirements: !ruby/object:Gem::Requirement
163
208
  requirements:
164
209
  - - "~>"
165
210
  - !ruby/object:Gem::Version
166
- version: 0.6.1
211
+ version: '1.0'
212
+ - - ">="
213
+ - !ruby/object:Gem::Version
214
+ version: 1.0.2
167
215
  - !ruby/object:Gem::Dependency
168
- name: json
216
+ name: aruba
169
217
  requirement: !ruby/object:Gem::Requirement
170
218
  requirements:
219
+ - - ">="
220
+ - !ruby/object:Gem::Version
221
+ version: 1.0.0
171
222
  - - "~>"
172
223
  - !ruby/object:Gem::Version
173
- version: 1.8.6
224
+ version: '1.0'
174
225
  type: :development
175
226
  prerelease: false
176
227
  version_requirements: !ruby/object:Gem::Requirement
177
228
  requirements:
229
+ - - ">="
230
+ - !ruby/object:Gem::Version
231
+ version: 1.0.0
178
232
  - - "~>"
179
233
  - !ruby/object:Gem::Version
180
- version: 1.8.6
234
+ version: '1.0'
181
235
  - !ruby/object:Gem::Dependency
182
236
  name: nokogiri
183
237
  requirement: !ruby/object:Gem::Requirement
184
238
  requirements:
185
239
  - - "~>"
186
240
  - !ruby/object:Gem::Version
187
- version: 1.8.1
241
+ version: '1.10'
242
+ - - ">="
243
+ - !ruby/object:Gem::Version
244
+ version: 1.10.4
188
245
  type: :development
189
246
  prerelease: false
190
247
  version_requirements: !ruby/object:Gem::Requirement
191
248
  requirements:
192
249
  - - "~>"
193
250
  - !ruby/object:Gem::Version
194
- version: 1.8.1
251
+ version: '1.10'
252
+ - - ">="
253
+ - !ruby/object:Gem::Version
254
+ version: 1.10.4
195
255
  - !ruby/object:Gem::Dependency
196
256
  name: pry
197
257
  requirement: !ruby/object:Gem::Requirement
198
258
  requirements:
259
+ - - "~>"
260
+ - !ruby/object:Gem::Version
261
+ version: '0.12'
199
262
  - - ">="
200
263
  - !ruby/object:Gem::Version
201
- version: '0'
264
+ version: 0.12.2
202
265
  type: :development
203
266
  prerelease: false
204
267
  version_requirements: !ruby/object:Gem::Requirement
205
268
  requirements:
269
+ - - "~>"
270
+ - !ruby/object:Gem::Version
271
+ version: '0.12'
206
272
  - - ">="
207
273
  - !ruby/object:Gem::Version
208
- version: '0'
274
+ version: 0.12.2
209
275
  - !ruby/object:Gem::Dependency
210
276
  name: rake
211
277
  requirement: !ruby/object:Gem::Requirement
212
278
  requirements:
279
+ - - "~>"
280
+ - !ruby/object:Gem::Version
281
+ version: '12.3'
213
282
  - - ">="
214
283
  - !ruby/object:Gem::Version
215
- version: 0.9.2
284
+ version: 12.3.3
216
285
  type: :development
217
286
  prerelease: false
218
287
  version_requirements: !ruby/object:Gem::Requirement
219
288
  requirements:
289
+ - - "~>"
290
+ - !ruby/object:Gem::Version
291
+ version: '12.3'
220
292
  - - ">="
221
293
  - !ruby/object:Gem::Version
222
- version: 0.9.2
294
+ version: 12.3.3
223
295
  - !ruby/object:Gem::Dependency
224
296
  name: rspec
225
297
  requirement: !ruby/object:Gem::Requirement
226
298
  requirements:
227
299
  - - ">="
228
300
  - !ruby/object:Gem::Version
229
- version: '3.6'
301
+ version: 3.8.0
302
+ - - "~>"
303
+ - !ruby/object:Gem::Version
304
+ version: '3.8'
230
305
  type: :development
231
306
  prerelease: false
232
307
  version_requirements: !ruby/object:Gem::Requirement
233
308
  requirements:
234
309
  - - ">="
235
310
  - !ruby/object:Gem::Version
236
- version: '3.6'
311
+ version: 3.8.0
312
+ - - "~>"
313
+ - !ruby/object:Gem::Version
314
+ version: '3.8'
237
315
  - !ruby/object:Gem::Dependency
238
- name: rubocop
316
+ name: simplecov
239
317
  requirement: !ruby/object:Gem::Requirement
240
318
  requirements:
319
+ - - ">="
320
+ - !ruby/object:Gem::Version
321
+ version: 0.17.0
241
322
  - - "~>"
242
323
  - !ruby/object:Gem::Version
243
- version: 0.58.2
324
+ version: '0.17'
244
325
  type: :development
245
326
  prerelease: false
246
327
  version_requirements: !ruby/object:Gem::Requirement
247
328
  requirements:
329
+ - - ">="
330
+ - !ruby/object:Gem::Version
331
+ version: 0.17.0
248
332
  - - "~>"
249
333
  - !ruby/object:Gem::Version
250
- version: 0.58.2
334
+ version: '0.17'
251
335
  - !ruby/object:Gem::Dependency
252
- name: simplecov
336
+ name: syntax
253
337
  requirement: !ruby/object:Gem::Requirement
254
338
  requirements:
339
+ - - "~>"
340
+ - !ruby/object:Gem::Version
341
+ version: '1.2'
255
342
  - - ">="
256
343
  - !ruby/object:Gem::Version
257
- version: 0.6.2
344
+ version: 1.2.2
258
345
  type: :development
259
346
  prerelease: false
260
347
  version_requirements: !ruby/object:Gem::Requirement
261
348
  requirements:
349
+ - - "~>"
350
+ - !ruby/object:Gem::Version
351
+ version: '1.2'
262
352
  - - ">="
263
353
  - !ruby/object:Gem::Version
264
- version: 0.6.2
354
+ version: 1.2.2
265
355
  - !ruby/object:Gem::Dependency
266
- name: syntax
356
+ name: test-unit
267
357
  requirement: !ruby/object:Gem::Requirement
268
358
  requirements:
359
+ - - "~>"
360
+ - !ruby/object:Gem::Version
361
+ version: '1.2'
269
362
  - - ">="
270
363
  - !ruby/object:Gem::Version
271
- version: 1.0.0
364
+ version: 1.2.3
272
365
  type: :development
273
366
  prerelease: false
274
367
  version_requirements: !ruby/object:Gem::Requirement
275
368
  requirements:
369
+ - - "~>"
370
+ - !ruby/object:Gem::Version
371
+ version: '1.2'
276
372
  - - ">="
277
373
  - !ruby/object:Gem::Version
278
- version: 1.0.0
374
+ version: 1.2.3
279
375
  - !ruby/object:Gem::Dependency
280
- name: octokit
376
+ name: webrick
281
377
  requirement: !ruby/object:Gem::Requirement
282
378
  requirements:
283
379
  - - ">="
284
380
  - !ruby/object:Gem::Version
285
- version: '0'
381
+ version: 1.6.0
382
+ - - "~>"
383
+ - !ruby/object:Gem::Version
384
+ version: '1.6'
286
385
  type: :development
287
386
  prerelease: false
288
387
  version_requirements: !ruby/object:Gem::Requirement
289
388
  requirements:
290
389
  - - ">="
291
390
  - !ruby/object:Gem::Version
292
- version: '0'
391
+ version: 1.6.0
392
+ - - "~>"
393
+ - !ruby/object:Gem::Version
394
+ version: '1.6'
293
395
  - !ruby/object:Gem::Dependency
294
- name: capybara
396
+ name: octokit
295
397
  requirement: !ruby/object:Gem::Requirement
296
398
  requirements:
297
399
  - - ">="
298
400
  - !ruby/object:Gem::Version
299
- version: '2.1'
401
+ version: 4.14.0
402
+ - - "~>"
403
+ - !ruby/object:Gem::Version
404
+ version: '4.14'
300
405
  type: :development
301
406
  prerelease: false
302
407
  version_requirements: !ruby/object:Gem::Requirement
303
408
  requirements:
304
409
  - - ">="
305
410
  - !ruby/object:Gem::Version
306
- version: '2.1'
411
+ version: 4.14.0
412
+ - - "~>"
413
+ - !ruby/object:Gem::Version
414
+ version: '4.14'
307
415
  - !ruby/object:Gem::Dependency
308
416
  name: rack-test
309
417
  requirement: !ruby/object:Gem::Requirement
310
418
  requirements:
311
419
  - - ">="
312
420
  - !ruby/object:Gem::Version
313
- version: 0.6.1
421
+ version: 1.1.0
422
+ - - "~>"
423
+ - !ruby/object:Gem::Version
424
+ version: '1.1'
314
425
  type: :development
315
426
  prerelease: false
316
427
  version_requirements: !ruby/object:Gem::Requirement
317
428
  requirements:
318
429
  - - ">="
319
430
  - !ruby/object:Gem::Version
320
- version: 0.6.1
431
+ version: 1.1.0
432
+ - - "~>"
433
+ - !ruby/object:Gem::Version
434
+ version: '1.1'
321
435
  - !ruby/object:Gem::Dependency
322
436
  name: sinatra
323
437
  requirement: !ruby/object:Gem::Requirement
324
438
  requirements:
439
+ - - "~>"
440
+ - !ruby/object:Gem::Version
441
+ version: '2.0'
325
442
  - - ">="
326
443
  - !ruby/object:Gem::Version
327
- version: 1.3.2
444
+ version: 2.0.5
328
445
  type: :development
329
446
  prerelease: false
330
447
  version_requirements: !ruby/object:Gem::Requirement
331
448
  requirements:
449
+ - - "~>"
450
+ - !ruby/object:Gem::Version
451
+ version: '2.0'
332
452
  - - ">="
333
453
  - !ruby/object:Gem::Version
334
- version: 1.3.2
454
+ version: 2.0.5
455
+ - !ruby/object:Gem::Dependency
456
+ name: capybara
457
+ requirement: !ruby/object:Gem::Requirement
458
+ requirements:
459
+ - - '='
460
+ - !ruby/object:Gem::Version
461
+ version: 3.15.0
462
+ type: :development
463
+ prerelease: false
464
+ version_requirements: !ruby/object:Gem::Requirement
465
+ requirements:
466
+ - - '='
467
+ - !ruby/object:Gem::Version
468
+ version: 3.15.0
335
469
  description: Behaviour Driven Development with elegance and joy
336
470
  email: cukes@googlegroups.com
337
471
  executables:
@@ -365,14 +499,19 @@ files:
365
499
  - lib/cucumber/encoding.rb
366
500
  - lib/cucumber/errors.rb
367
501
  - lib/cucumber/events.rb
502
+ - lib/cucumber/events/envelope.rb
368
503
  - lib/cucumber/events/gherkin_source_parsed.rb
369
504
  - lib/cucumber/events/gherkin_source_read.rb
505
+ - lib/cucumber/events/hook_test_step_created.rb
370
506
  - lib/cucumber/events/step_activated.rb
371
507
  - lib/cucumber/events/step_definition_registered.rb
508
+ - lib/cucumber/events/test_case_created.rb
372
509
  - lib/cucumber/events/test_case_finished.rb
510
+ - lib/cucumber/events/test_case_ready.rb
373
511
  - lib/cucumber/events/test_case_started.rb
374
512
  - lib/cucumber/events/test_run_finished.rb
375
513
  - lib/cucumber/events/test_run_started.rb
514
+ - lib/cucumber/events/test_step_created.rb
376
515
  - lib/cucumber/events/test_step_finished.rb
377
516
  - lib/cucumber/events/test_step_started.rb
378
517
  - lib/cucumber/file_specs.rb
@@ -382,6 +521,7 @@ files:
382
521
  - lib/cucumber/filters/apply_after_step_hooks.rb
383
522
  - lib/cucumber/filters/apply_around_hooks.rb
384
523
  - lib/cucumber/filters/apply_before_hooks.rb
524
+ - lib/cucumber/filters/broadcast_test_case_ready_event.rb
385
525
  - lib/cucumber/filters/broadcast_test_run_started_event.rb
386
526
  - lib/cucumber/filters/gated_receiver.rb
387
527
  - lib/cucumber/filters/prepare_world.rb
@@ -399,15 +539,25 @@ files:
399
539
  - lib/cucumber/formatter/console_issues.rb
400
540
  - lib/cucumber/formatter/duration.rb
401
541
  - lib/cucumber/formatter/duration_extractor.rb
542
+ - lib/cucumber/formatter/errors.rb
402
543
  - lib/cucumber/formatter/fail_fast.rb
403
544
  - lib/cucumber/formatter/fanout.rb
545
+ - lib/cucumber/formatter/html.rb
546
+ - lib/cucumber/formatter/http_io.rb
404
547
  - lib/cucumber/formatter/ignore_missing_messages.rb
405
548
  - lib/cucumber/formatter/interceptor.rb
406
549
  - lib/cucumber/formatter/io.rb
407
550
  - lib/cucumber/formatter/json.rb
408
551
  - lib/cucumber/formatter/junit.rb
552
+ - lib/cucumber/formatter/message.rb
553
+ - lib/cucumber/formatter/message_builder.rb
409
554
  - lib/cucumber/formatter/pretty.rb
410
555
  - lib/cucumber/formatter/progress.rb
556
+ - lib/cucumber/formatter/query/hook_by_test_step.rb
557
+ - lib/cucumber/formatter/query/pickle_by_test.rb
558
+ - lib/cucumber/formatter/query/pickle_step_by_test_step.rb
559
+ - lib/cucumber/formatter/query/step_definitions_by_test_step.rb
560
+ - lib/cucumber/formatter/query/test_case_started_by_test_case.rb
411
561
  - lib/cucumber/formatter/rerun.rb
412
562
  - lib/cucumber/formatter/stepdefs.rb
413
563
  - lib/cucumber/formatter/steps.rb
@@ -457,7 +607,12 @@ files:
457
607
  homepage: https://cucumber.io/
458
608
  licenses:
459
609
  - MIT
460
- metadata: {}
610
+ metadata:
611
+ bug_tracker_uri: https://github.com/cucumber/cucumber-ruby/issues
612
+ changelog_uri: https://github.com/cucumber/cucumber-ruby/blob/master/CHANGELOG.md
613
+ documentation_uri: https://www.rubydoc.info/github/cucumber/cucumber-ruby/
614
+ mailing_list_uri: https://groups.google.com/forum/#!forum/cukes
615
+ source_code_uri: https://github.com/cucumber/cucumber-ruby
461
616
  post_install_message:
462
617
  rdoc_options:
463
618
  - "--charset=UTF-8"
@@ -467,16 +622,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
467
622
  requirements:
468
623
  - - ">="
469
624
  - !ruby/object:Gem::Version
470
- version: '2.2'
625
+ version: '2.3'
471
626
  required_rubygems_version: !ruby/object:Gem::Requirement
472
627
  requirements:
473
628
  - - ">"
474
629
  - !ruby/object:Gem::Version
475
630
  version: 1.3.1
476
631
  requirements: []
477
- rubyforge_project:
478
- rubygems_version: 2.4.5.5
632
+ rubygems_version: 3.0.6
479
633
  signing_key:
480
634
  specification_version: 4
481
- summary: cucumber-4.0.0.rc.1
635
+ summary: cucumber-4.0.0.rc.6
482
636
  test_files: []