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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: []