cucumber 4.0.0.rc.3 → 4.0.1
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +73 -2
- data/README.md +2 -2
- data/lib/cucumber/cli/options.rb +10 -4
- data/lib/cucumber/configuration.rb +5 -0
- data/lib/cucumber/deprecate.rb +29 -5
- data/lib/cucumber/events.rb +13 -7
- data/lib/cucumber/events/envelope.rb +9 -0
- data/lib/cucumber/events/hook_test_step_created.rb +13 -0
- data/lib/cucumber/events/test_case_created.rb +13 -0
- data/lib/cucumber/events/test_case_ready.rb +12 -0
- data/lib/cucumber/events/test_step_created.rb +13 -0
- data/lib/cucumber/events/undefined_parameter_type.rb +10 -0
- data/lib/cucumber/filters.rb +1 -0
- data/lib/cucumber/filters/broadcast_test_case_ready_event.rb +12 -0
- data/lib/cucumber/formatter/console.rb +33 -10
- data/lib/cucumber/formatter/duration_extractor.rb +1 -1
- data/lib/cucumber/formatter/errors.rb +6 -0
- data/lib/cucumber/formatter/html.rb +24 -0
- data/lib/cucumber/formatter/http_io.rb +146 -0
- data/lib/cucumber/formatter/interceptor.rb +3 -8
- data/lib/cucumber/formatter/io.rb +14 -8
- data/lib/cucumber/formatter/json.rb +17 -8
- data/lib/cucumber/formatter/junit.rb +1 -1
- data/lib/cucumber/formatter/message.rb +22 -0
- data/lib/cucumber/formatter/message_builder.rb +255 -0
- data/lib/cucumber/formatter/pretty.rb +10 -4
- data/lib/cucumber/formatter/progress.rb +2 -0
- data/lib/cucumber/formatter/query/hook_by_test_step.rb +31 -0
- data/lib/cucumber/formatter/query/pickle_by_test.rb +26 -0
- data/lib/cucumber/formatter/query/pickle_step_by_test_step.rb +26 -0
- data/lib/cucumber/formatter/query/step_definitions_by_test_step.rb +40 -0
- data/lib/cucumber/formatter/query/test_case_started_by_test_case.rb +40 -0
- data/lib/cucumber/gherkin/data_table_parser.rb +1 -1
- data/lib/cucumber/gherkin/steps_parser.rb +1 -1
- data/lib/cucumber/glue/hook.rb +18 -2
- data/lib/cucumber/glue/proto_world.rb +29 -18
- data/lib/cucumber/glue/registry_and_more.rb +27 -2
- data/lib/cucumber/glue/snippet.rb +1 -1
- data/lib/cucumber/glue/step_definition.rb +28 -4
- data/lib/cucumber/hooks.rb +8 -8
- data/lib/cucumber/multiline_argument.rb +1 -1
- data/lib/cucumber/multiline_argument/data_table.rb +17 -13
- data/lib/cucumber/platform.rb +1 -1
- data/lib/cucumber/rake/task.rb +1 -1
- data/lib/cucumber/runtime.rb +29 -3
- data/lib/cucumber/runtime/after_hooks.rb +6 -2
- data/lib/cucumber/runtime/before_hooks.rb +6 -2
- data/lib/cucumber/runtime/for_programming_languages.rb +1 -0
- data/lib/cucumber/runtime/step_hooks.rb +3 -2
- data/lib/cucumber/runtime/support_code.rb +3 -3
- data/lib/cucumber/runtime/user_interface.rb +2 -10
- data/lib/cucumber/version +1 -1
- metadata +116 -93
data/lib/cucumber/hooks.rb
CHANGED
@@ -9,17 +9,17 @@ module Cucumber
|
|
9
9
|
# source for test steps
|
10
10
|
module Hooks
|
11
11
|
class << self
|
12
|
-
def before_hook(location, &block)
|
13
|
-
build_hook_step(location, block, BeforeHook, Core::Test::UnskippableAction)
|
12
|
+
def before_hook(id, location, &block)
|
13
|
+
build_hook_step(id, location, block, BeforeHook, Core::Test::UnskippableAction)
|
14
14
|
end
|
15
15
|
|
16
|
-
def after_hook(location, &block)
|
17
|
-
build_hook_step(location, block, AfterHook, Core::Test::UnskippableAction)
|
16
|
+
def after_hook(id, location, &block)
|
17
|
+
build_hook_step(id, location, block, AfterHook, Core::Test::UnskippableAction)
|
18
18
|
end
|
19
19
|
|
20
|
-
def after_step_hook(test_step, location, &block)
|
20
|
+
def after_step_hook(id, test_step, location, &block)
|
21
21
|
raise ArgumentError if test_step.hook?
|
22
|
-
build_hook_step(location, block, AfterStepHook, Core::Test::Action)
|
22
|
+
build_hook_step(id, location, block, AfterStepHook, Core::Test::Action)
|
23
23
|
end
|
24
24
|
|
25
25
|
def around_hook(&block)
|
@@ -28,10 +28,10 @@ module Cucumber
|
|
28
28
|
|
29
29
|
private
|
30
30
|
|
31
|
-
def build_hook_step(location, block, hook_type, action_type)
|
31
|
+
def build_hook_step(id, location, block, hook_type, action_type)
|
32
32
|
action = action_type.new(location, &block)
|
33
33
|
hook = hook_type.new(action.location)
|
34
|
-
Core::Test::HookStep.new(hook.text, location, action)
|
34
|
+
Core::Test::HookStep.new(id, hook.text, location, action)
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
@@ -15,7 +15,7 @@ module Cucumber
|
|
15
15
|
location ||= Core::Test::Location.of_caller
|
16
16
|
case argument
|
17
17
|
when String
|
18
|
-
builder.doc_string(Core::Test::DocString.new(argument, content_type
|
18
|
+
builder.doc_string(Core::Test::DocString.new(argument, content_type))
|
19
19
|
when Array
|
20
20
|
location = location.on_line(argument.first.line..argument.last.line)
|
21
21
|
builder.data_table(argument.map(&:cells), location)
|
@@ -36,12 +36,12 @@ module Cucumber
|
|
36
36
|
end
|
37
37
|
|
38
38
|
class << self
|
39
|
-
def from(data
|
39
|
+
def from(data)
|
40
40
|
case data
|
41
41
|
when Array
|
42
|
-
from_array(data
|
42
|
+
from_array(data)
|
43
43
|
when String
|
44
|
-
parse(data
|
44
|
+
parse(data)
|
45
45
|
else
|
46
46
|
raise ArgumentError, 'expected data to be a String or an Array.'
|
47
47
|
end
|
@@ -49,15 +49,15 @@ module Cucumber
|
|
49
49
|
|
50
50
|
private
|
51
51
|
|
52
|
-
def parse(text
|
52
|
+
def parse(text)
|
53
53
|
builder = Builder.new
|
54
54
|
parser = Cucumber::Gherkin::DataTableParser.new(builder)
|
55
55
|
parser.parse(text)
|
56
|
-
from_array(builder.rows
|
56
|
+
from_array(builder.rows)
|
57
57
|
end
|
58
58
|
|
59
|
-
def from_array(data
|
60
|
-
new Core::Test::DataTable.new(data
|
59
|
+
def from_array(data)
|
60
|
+
new Core::Test::DataTable.new(data)
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
@@ -111,7 +111,7 @@ module Cucumber
|
|
111
111
|
# registered with #map_column! and #map_headers!.
|
112
112
|
#
|
113
113
|
def dup
|
114
|
-
self.class.new(Core::Test::DataTable.new(raw
|
114
|
+
self.class.new(Core::Test::DataTable.new(raw), @conversion_procs.dup, @header_mappings.dup, @header_conversion_proc)
|
115
115
|
end
|
116
116
|
|
117
117
|
# Returns a new, transposed table. Example:
|
@@ -126,7 +126,7 @@ module Cucumber
|
|
126
126
|
# | 4 | 2 |
|
127
127
|
#
|
128
128
|
def transpose
|
129
|
-
self.class.new(Core::Test::DataTable.new(raw.transpose
|
129
|
+
self.class.new(Core::Test::DataTable.new(raw.transpose), @conversion_procs.dup, @header_mappings.dup, @header_conversion_proc)
|
130
130
|
end
|
131
131
|
|
132
132
|
# Converts this table into an Array of Hash where the keys of each
|
@@ -269,7 +269,7 @@ module Cucumber
|
|
269
269
|
|
270
270
|
# Returns a new Table where the headers are redefined. See #map_headers!
|
271
271
|
def map_headers(mappings = {}, &block)
|
272
|
-
self.class.new(Core::Test::DataTable.new(raw
|
272
|
+
self.class.new(Core::Test::DataTable.new(raw), @conversion_procs.dup, mappings, block)
|
273
273
|
end
|
274
274
|
|
275
275
|
# Change how #hashes converts column values. The +column_name+ argument identifies the column
|
@@ -294,7 +294,7 @@ module Cucumber
|
|
294
294
|
def map_column(column_name, strict = true, &conversion_proc)
|
295
295
|
conversion_procs = @conversion_procs.dup
|
296
296
|
conversion_procs[column_name.to_s] = { strict: strict, proc: conversion_proc }
|
297
|
-
self.class.new(Core::Test::DataTable.new(raw
|
297
|
+
self.class.new(Core::Test::DataTable.new(raw), conversion_procs, @header_mappings.dup, @header_conversion_proc)
|
298
298
|
end
|
299
299
|
|
300
300
|
# Compares +other_table+ to self. If +other_table+ contains columns
|
@@ -352,7 +352,11 @@ module Cucumber
|
|
352
352
|
end
|
353
353
|
end
|
354
354
|
|
355
|
-
def to_hash
|
355
|
+
def to_hash
|
356
|
+
cells_rows.map { |cells| cells.map(&:value) }
|
357
|
+
end
|
358
|
+
|
359
|
+
def cells_to_hash(cells) #:nodoc:
|
356
360
|
hash = Hash.new do |hash_inner, key|
|
357
361
|
hash_inner[key.to_s] if key.is_a?(Symbol)
|
358
362
|
end
|
@@ -551,7 +555,7 @@ module Cucumber
|
|
551
555
|
end
|
552
556
|
|
553
557
|
def to_hash #:nodoc:
|
554
|
-
@to_hash ||= @table.
|
558
|
+
@to_hash ||= @table.cells_to_hash(self)
|
555
559
|
end
|
556
560
|
|
557
561
|
def value(n) #:nodoc:
|
data/lib/cucumber/platform.rb
CHANGED
@@ -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)
|
data/lib/cucumber/rake/task.rb
CHANGED
@@ -156,7 +156,7 @@ module Cucumber
|
|
156
156
|
|
157
157
|
def runner(_task_args = nil) #:nodoc:
|
158
158
|
cucumber_opts = [(ENV['CUCUMBER_OPTS'] ? ENV['CUCUMBER_OPTS'].split(/\s+/) : nil) || cucumber_opts_with_profile]
|
159
|
-
return ForkedCucumberRunner.new(libs, binary, cucumber_opts, bundler, feature_files) if
|
159
|
+
return ForkedCucumberRunner.new(libs, binary, cucumber_opts, bundler, feature_files) if fork
|
160
160
|
InProcessCucumberRunner.new(libs, cucumber_opts, feature_files)
|
161
161
|
end
|
162
162
|
|
data/lib/cucumber/runtime.rb
CHANGED
@@ -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
|
-
|
101
|
-
|
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
|
@@ -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
|
52
|
-
@visitor.
|
43
|
+
def attach(src, media_type)
|
44
|
+
@visitor.attach(src, media_type)
|
53
45
|
end
|
54
46
|
|
55
47
|
private
|
data/lib/cucumber/version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
4.0.
|
1
|
+
4.0.1
|
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cucumber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.
|
4
|
+
version: 4.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aslak Hellesøy
|
8
8
|
- Matt Wynne
|
9
9
|
- Steve Tooke
|
10
|
-
autorequire:
|
10
|
+
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2020-06-23 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: builder
|
@@ -38,180 +38,186 @@ dependencies:
|
|
38
38
|
requirements:
|
39
39
|
- - ">="
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version:
|
41
|
+
version: 7.0.0
|
42
42
|
- - "~>"
|
43
43
|
- !ruby/object:Gem::Version
|
44
|
-
version: '
|
44
|
+
version: '7.0'
|
45
45
|
type: :runtime
|
46
46
|
prerelease: false
|
47
47
|
version_requirements: !ruby/object:Gem::Requirement
|
48
48
|
requirements:
|
49
49
|
- - ">="
|
50
50
|
- !ruby/object:Gem::Version
|
51
|
-
version:
|
51
|
+
version: 7.0.0
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '7.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name: cucumber-expressions
|
56
|
+
name: cucumber-cucumber-expressions
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '8.0'
|
62
59
|
- - ">="
|
63
60
|
- !ruby/object:Gem::Version
|
64
|
-
version:
|
61
|
+
version: 10.1.0
|
62
|
+
- - "~>"
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: '10.1'
|
65
65
|
type: :runtime
|
66
66
|
prerelease: false
|
67
67
|
version_requirements: !ruby/object:Gem::Requirement
|
68
68
|
requirements:
|
69
|
-
- - "~>"
|
70
|
-
- !ruby/object:Gem::Version
|
71
|
-
version: '8.0'
|
72
69
|
- - ">="
|
73
70
|
- !ruby/object:Gem::Version
|
74
|
-
version:
|
71
|
+
version: 10.1.0
|
72
|
+
- - "~>"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '10.1'
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
|
-
name: cucumber-
|
76
|
+
name: cucumber-gherkin
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
78
78
|
requirements:
|
79
79
|
- - ">="
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version:
|
81
|
+
version: 13.0.0
|
82
82
|
- - "~>"
|
83
83
|
- !ruby/object:Gem::Version
|
84
|
-
version: '
|
84
|
+
version: '13.0'
|
85
85
|
type: :runtime
|
86
86
|
prerelease: false
|
87
87
|
version_requirements: !ruby/object:Gem::Requirement
|
88
88
|
requirements:
|
89
89
|
- - ">="
|
90
90
|
- !ruby/object:Gem::Version
|
91
|
-
version:
|
91
|
+
version: 13.0.0
|
92
92
|
- - "~>"
|
93
93
|
- !ruby/object:Gem::Version
|
94
|
-
version: '
|
94
|
+
version: '13.0'
|
95
95
|
- !ruby/object:Gem::Dependency
|
96
|
-
name:
|
96
|
+
name: cucumber-html-formatter
|
97
97
|
requirement: !ruby/object:Gem::Requirement
|
98
98
|
requirements:
|
99
|
-
- - ">="
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
version: '1.3'
|
102
99
|
- - "~>"
|
103
100
|
- !ruby/object:Gem::Version
|
104
|
-
version: '
|
101
|
+
version: '6.0'
|
102
|
+
- - ">="
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: 6.0.1
|
105
105
|
type: :runtime
|
106
106
|
prerelease: false
|
107
107
|
version_requirements: !ruby/object:Gem::Requirement
|
108
108
|
requirements:
|
109
|
-
- - ">="
|
110
|
-
- !ruby/object:Gem::Version
|
111
|
-
version: '1.3'
|
112
109
|
- - "~>"
|
113
110
|
- !ruby/object:Gem::Version
|
114
|
-
version: '
|
111
|
+
version: '6.0'
|
112
|
+
- - ">="
|
113
|
+
- !ruby/object:Gem::Version
|
114
|
+
version: 6.0.1
|
115
115
|
- !ruby/object:Gem::Dependency
|
116
|
-
name:
|
116
|
+
name: cucumber-messages
|
117
117
|
requirement: !ruby/object:Gem::Requirement
|
118
118
|
requirements:
|
119
119
|
- - "~>"
|
120
120
|
- !ruby/object:Gem::Version
|
121
|
-
version: '
|
121
|
+
version: '12.1'
|
122
122
|
- - ">="
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
124
|
+
version: 12.1.1
|
125
125
|
type: :runtime
|
126
126
|
prerelease: false
|
127
127
|
version_requirements: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
129
|
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
131
|
+
version: '12.1'
|
132
132
|
- - ">="
|
133
133
|
- !ruby/object:Gem::Version
|
134
|
-
version:
|
134
|
+
version: 12.1.1
|
135
135
|
- !ruby/object:Gem::Dependency
|
136
|
-
name:
|
136
|
+
name: cucumber-wire
|
137
137
|
requirement: !ruby/object:Gem::Requirement
|
138
138
|
requirements:
|
139
|
-
- - "~>"
|
140
|
-
- !ruby/object:Gem::Version
|
141
|
-
version: '1.13'
|
142
139
|
- - ">="
|
143
140
|
- !ruby/object:Gem::Version
|
144
|
-
version:
|
141
|
+
version: 3.0.0
|
142
|
+
- - "~>"
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: '3.0'
|
145
145
|
type: :runtime
|
146
146
|
prerelease: false
|
147
147
|
version_requirements: !ruby/object:Gem::Requirement
|
148
148
|
requirements:
|
149
|
-
- - "~>"
|
150
|
-
- !ruby/object:Gem::Version
|
151
|
-
version: '1.13'
|
152
149
|
- - ">="
|
153
150
|
- !ruby/object:Gem::Version
|
154
|
-
version:
|
151
|
+
version: 3.0.0
|
152
|
+
- - "~>"
|
153
|
+
- !ruby/object:Gem::Version
|
154
|
+
version: '3.0'
|
155
155
|
- !ruby/object:Gem::Dependency
|
156
|
-
name:
|
156
|
+
name: diff-lcs
|
157
157
|
requirement: !ruby/object:Gem::Requirement
|
158
158
|
requirements:
|
159
|
+
- - ">="
|
160
|
+
- !ruby/object:Gem::Version
|
161
|
+
version: '1.3'
|
159
162
|
- - "~>"
|
160
163
|
- !ruby/object:Gem::Version
|
161
|
-
version: '
|
162
|
-
- - "
|
164
|
+
version: '1.3'
|
165
|
+
- - "<"
|
163
166
|
- !ruby/object:Gem::Version
|
164
|
-
version:
|
167
|
+
version: '1.4'
|
165
168
|
type: :runtime
|
166
169
|
prerelease: false
|
167
170
|
version_requirements: !ruby/object:Gem::Requirement
|
168
171
|
requirements:
|
172
|
+
- - ">="
|
173
|
+
- !ruby/object:Gem::Version
|
174
|
+
version: '1.3'
|
169
175
|
- - "~>"
|
170
176
|
- !ruby/object:Gem::Version
|
171
|
-
version: '
|
172
|
-
- - "
|
177
|
+
version: '1.3'
|
178
|
+
- - "<"
|
173
179
|
- !ruby/object:Gem::Version
|
174
|
-
version:
|
180
|
+
version: '1.4'
|
175
181
|
- !ruby/object:Gem::Dependency
|
176
|
-
name:
|
182
|
+
name: multi_test
|
177
183
|
requirement: !ruby/object:Gem::Requirement
|
178
184
|
requirements:
|
179
185
|
- - "~>"
|
180
186
|
- !ruby/object:Gem::Version
|
181
|
-
version: '0.
|
187
|
+
version: '0.1'
|
182
188
|
- - ">="
|
183
189
|
- !ruby/object:Gem::Version
|
184
|
-
version: 0.
|
185
|
-
type: :
|
190
|
+
version: 0.1.2
|
191
|
+
type: :runtime
|
186
192
|
prerelease: false
|
187
193
|
version_requirements: !ruby/object:Gem::Requirement
|
188
194
|
requirements:
|
189
195
|
- - "~>"
|
190
196
|
- !ruby/object:Gem::Version
|
191
|
-
version: '0.
|
197
|
+
version: '0.1'
|
192
198
|
- - ">="
|
193
199
|
- !ruby/object:Gem::Version
|
194
|
-
version: 0.
|
200
|
+
version: 0.1.2
|
195
201
|
- !ruby/object:Gem::Dependency
|
196
|
-
name:
|
202
|
+
name: sys-uname
|
197
203
|
requirement: !ruby/object:Gem::Requirement
|
198
204
|
requirements:
|
199
|
-
- - ">="
|
200
|
-
- !ruby/object:Gem::Version
|
201
|
-
version: 2.2.0
|
202
205
|
- - "~>"
|
203
206
|
- !ruby/object:Gem::Version
|
204
|
-
version: '
|
205
|
-
|
207
|
+
version: '1.0'
|
208
|
+
- - ">="
|
209
|
+
- !ruby/object:Gem::Version
|
210
|
+
version: 1.0.2
|
211
|
+
type: :runtime
|
206
212
|
prerelease: false
|
207
213
|
version_requirements: !ruby/object:Gem::Requirement
|
208
214
|
requirements:
|
209
|
-
- - ">="
|
210
|
-
- !ruby/object:Gem::Version
|
211
|
-
version: 2.2.0
|
212
215
|
- - "~>"
|
213
216
|
- !ruby/object:Gem::Version
|
214
|
-
version: '
|
217
|
+
version: '1.0'
|
218
|
+
- - ">="
|
219
|
+
- !ruby/object:Gem::Version
|
220
|
+
version: 1.0.2
|
215
221
|
- !ruby/object:Gem::Dependency
|
216
222
|
name: nokogiri
|
217
223
|
requirement: !ruby/object:Gem::Requirement
|
@@ -292,26 +298,6 @@ dependencies:
|
|
292
298
|
- - "~>"
|
293
299
|
- !ruby/object:Gem::Version
|
294
300
|
version: '3.8'
|
295
|
-
- !ruby/object:Gem::Dependency
|
296
|
-
name: rubocop
|
297
|
-
requirement: !ruby/object:Gem::Requirement
|
298
|
-
requirements:
|
299
|
-
- - "~>"
|
300
|
-
- !ruby/object:Gem::Version
|
301
|
-
version: '0.75'
|
302
|
-
- - '='
|
303
|
-
- !ruby/object:Gem::Version
|
304
|
-
version: 0.75.1
|
305
|
-
type: :development
|
306
|
-
prerelease: false
|
307
|
-
version_requirements: !ruby/object:Gem::Requirement
|
308
|
-
requirements:
|
309
|
-
- - "~>"
|
310
|
-
- !ruby/object:Gem::Version
|
311
|
-
version: '0.75'
|
312
|
-
- - '='
|
313
|
-
- !ruby/object:Gem::Version
|
314
|
-
version: 0.75.1
|
315
301
|
- !ruby/object:Gem::Dependency
|
316
302
|
name: simplecov
|
317
303
|
requirement: !ruby/object:Gem::Requirement
|
@@ -372,6 +358,26 @@ dependencies:
|
|
372
358
|
- - ">="
|
373
359
|
- !ruby/object:Gem::Version
|
374
360
|
version: 1.2.3
|
361
|
+
- !ruby/object:Gem::Dependency
|
362
|
+
name: webrick
|
363
|
+
requirement: !ruby/object:Gem::Requirement
|
364
|
+
requirements:
|
365
|
+
- - ">="
|
366
|
+
- !ruby/object:Gem::Version
|
367
|
+
version: 1.6.0
|
368
|
+
- - "~>"
|
369
|
+
- !ruby/object:Gem::Version
|
370
|
+
version: '1.6'
|
371
|
+
type: :development
|
372
|
+
prerelease: false
|
373
|
+
version_requirements: !ruby/object:Gem::Requirement
|
374
|
+
requirements:
|
375
|
+
- - ">="
|
376
|
+
- !ruby/object:Gem::Version
|
377
|
+
version: 1.6.0
|
378
|
+
- - "~>"
|
379
|
+
- !ruby/object:Gem::Version
|
380
|
+
version: '1.6'
|
375
381
|
- !ruby/object:Gem::Dependency
|
376
382
|
name: octokit
|
377
383
|
requirement: !ruby/object:Gem::Requirement
|
@@ -479,16 +485,22 @@ files:
|
|
479
485
|
- lib/cucumber/encoding.rb
|
480
486
|
- lib/cucumber/errors.rb
|
481
487
|
- lib/cucumber/events.rb
|
488
|
+
- lib/cucumber/events/envelope.rb
|
482
489
|
- lib/cucumber/events/gherkin_source_parsed.rb
|
483
490
|
- lib/cucumber/events/gherkin_source_read.rb
|
491
|
+
- lib/cucumber/events/hook_test_step_created.rb
|
484
492
|
- lib/cucumber/events/step_activated.rb
|
485
493
|
- lib/cucumber/events/step_definition_registered.rb
|
494
|
+
- lib/cucumber/events/test_case_created.rb
|
486
495
|
- lib/cucumber/events/test_case_finished.rb
|
496
|
+
- lib/cucumber/events/test_case_ready.rb
|
487
497
|
- lib/cucumber/events/test_case_started.rb
|
488
498
|
- lib/cucumber/events/test_run_finished.rb
|
489
499
|
- lib/cucumber/events/test_run_started.rb
|
500
|
+
- lib/cucumber/events/test_step_created.rb
|
490
501
|
- lib/cucumber/events/test_step_finished.rb
|
491
502
|
- lib/cucumber/events/test_step_started.rb
|
503
|
+
- lib/cucumber/events/undefined_parameter_type.rb
|
492
504
|
- lib/cucumber/file_specs.rb
|
493
505
|
- lib/cucumber/filters.rb
|
494
506
|
- lib/cucumber/filters/activate_steps.rb
|
@@ -496,6 +508,7 @@ files:
|
|
496
508
|
- lib/cucumber/filters/apply_after_step_hooks.rb
|
497
509
|
- lib/cucumber/filters/apply_around_hooks.rb
|
498
510
|
- lib/cucumber/filters/apply_before_hooks.rb
|
511
|
+
- lib/cucumber/filters/broadcast_test_case_ready_event.rb
|
499
512
|
- lib/cucumber/filters/broadcast_test_run_started_event.rb
|
500
513
|
- lib/cucumber/filters/gated_receiver.rb
|
501
514
|
- lib/cucumber/filters/prepare_world.rb
|
@@ -513,15 +526,25 @@ files:
|
|
513
526
|
- lib/cucumber/formatter/console_issues.rb
|
514
527
|
- lib/cucumber/formatter/duration.rb
|
515
528
|
- lib/cucumber/formatter/duration_extractor.rb
|
529
|
+
- lib/cucumber/formatter/errors.rb
|
516
530
|
- lib/cucumber/formatter/fail_fast.rb
|
517
531
|
- lib/cucumber/formatter/fanout.rb
|
532
|
+
- lib/cucumber/formatter/html.rb
|
533
|
+
- lib/cucumber/formatter/http_io.rb
|
518
534
|
- lib/cucumber/formatter/ignore_missing_messages.rb
|
519
535
|
- lib/cucumber/formatter/interceptor.rb
|
520
536
|
- lib/cucumber/formatter/io.rb
|
521
537
|
- lib/cucumber/formatter/json.rb
|
522
538
|
- lib/cucumber/formatter/junit.rb
|
539
|
+
- lib/cucumber/formatter/message.rb
|
540
|
+
- lib/cucumber/formatter/message_builder.rb
|
523
541
|
- lib/cucumber/formatter/pretty.rb
|
524
542
|
- lib/cucumber/formatter/progress.rb
|
543
|
+
- lib/cucumber/formatter/query/hook_by_test_step.rb
|
544
|
+
- lib/cucumber/formatter/query/pickle_by_test.rb
|
545
|
+
- lib/cucumber/formatter/query/pickle_step_by_test_step.rb
|
546
|
+
- lib/cucumber/formatter/query/step_definitions_by_test_step.rb
|
547
|
+
- lib/cucumber/formatter/query/test_case_started_by_test_case.rb
|
525
548
|
- lib/cucumber/formatter/rerun.rb
|
526
549
|
- lib/cucumber/formatter/stepdefs.rb
|
527
550
|
- lib/cucumber/formatter/steps.rb
|
@@ -577,7 +600,7 @@ metadata:
|
|
577
600
|
documentation_uri: https://www.rubydoc.info/github/cucumber/cucumber-ruby/
|
578
601
|
mailing_list_uri: https://groups.google.com/forum/#!forum/cukes
|
579
602
|
source_code_uri: https://github.com/cucumber/cucumber-ruby
|
580
|
-
post_install_message:
|
603
|
+
post_install_message:
|
581
604
|
rdoc_options:
|
582
605
|
- "--charset=UTF-8"
|
583
606
|
require_paths:
|
@@ -589,12 +612,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
589
612
|
version: '2.3'
|
590
613
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
591
614
|
requirements:
|
592
|
-
- - "
|
615
|
+
- - ">="
|
593
616
|
- !ruby/object:Gem::Version
|
594
|
-
version:
|
617
|
+
version: '0'
|
595
618
|
requirements: []
|
596
|
-
rubygems_version: 3.0.
|
597
|
-
signing_key:
|
619
|
+
rubygems_version: 3.0.6
|
620
|
+
signing_key:
|
598
621
|
specification_version: 4
|
599
|
-
summary: cucumber-4.0.
|
622
|
+
summary: cucumber-4.0.1
|
600
623
|
test_files: []
|