cucumber 4.1.0 → 5.1.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -5,6 +5,7 @@ module Cucumber
5
5
  module Interceptor
6
6
  class Pipe
7
7
  attr_reader :pipe
8
+
8
9
  def initialize(pipe)
9
10
  @pipe = pipe
10
11
  @buffer = StringIO.new
@@ -31,7 +32,7 @@ module Cucumber
31
32
  end
32
33
 
33
34
  def method_missing(method, *args, &blk)
34
- @pipe.send(method, *args, &blk) || super
35
+ @pipe.respond_to?(method) ? @pipe.send(method, *args, &blk) : super
35
36
  end
36
37
 
37
38
  def respond_to_missing?(method, include_private = false)
@@ -62,10 +63,10 @@ module Cucumber
62
63
  case pipe
63
64
  when :stderr
64
65
  $stderr = new($stderr)
65
- return $stderr
66
+ $stderr
66
67
  when :stdout
67
68
  $stdout = new($stdout)
68
- return $stdout
69
+ $stdout
69
70
  end
70
71
  end
71
72
  end
@@ -1,6 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'cucumber/formatter/http_io'
4
+ require 'cucumber/formatter/url_reporter'
5
+ require 'cucumber/cli/options'
4
6
 
5
7
  module Cucumber
6
8
  module Formatter
@@ -9,19 +11,53 @@ module Cucumber
9
11
 
10
12
  def ensure_io(path_or_url_or_io)
11
13
  return nil if path_or_url_or_io.nil?
12
- return path_or_url_or_io if path_or_url_or_io.respond_to?(:write)
13
- io = if path_or_url_or_io.match(%r{^https?://})
14
- HTTPIO.open(path_or_url_or_io)
14
+ return path_or_url_or_io if io?(path_or_url_or_io)
15
+
16
+ io = if url?(path_or_url_or_io)
17
+ url = path_or_url_or_io
18
+ reporter = url.start_with?(Cucumber::Cli::Options::CUCUMBER_PUBLISH_URL) ? URLReporter.new($stderr) : NoReporter.new
19
+ HTTPIO.open(url, nil, reporter)
15
20
  else
16
21
  File.open(path_or_url_or_io, Cucumber.file_mode('w'))
17
22
  end
18
- at_exit do
19
- unless io.closed?
20
- io.flush
21
- io.close
23
+ @io_objects_to_close ||= []
24
+ @io_objects_to_close.push(io)
25
+ io
26
+ end
27
+
28
+ module ClassMethods
29
+ def new(*args, &block)
30
+ instance = super
31
+
32
+ config = args[0]
33
+ if config.respond_to? :on_event
34
+ config.on_event :test_run_finished do
35
+ ios = instance.instance_variable_get(:@io_objects_to_close) || []
36
+ ios.each do |io|
37
+ at_exit do
38
+ unless io.closed?
39
+ io.flush
40
+ io.close
41
+ end
42
+ end
43
+ end
44
+ end
22
45
  end
46
+
47
+ instance
23
48
  end
24
- io
49
+ end
50
+
51
+ def self.included(formatter_class)
52
+ formatter_class.extend(ClassMethods)
53
+ end
54
+
55
+ def io?(path_or_url_or_io)
56
+ path_or_url_or_io.respond_to?(:write)
57
+ end
58
+
59
+ def url?(path_or_url_or_io)
60
+ path_or_url_or_io.match(%r{^https?://})
25
61
  end
26
62
 
27
63
  def ensure_file(path, name)
@@ -19,7 +19,7 @@ module Cucumber
19
19
  '--format=json',
20
20
  "Please use --format=message and stand-alone json-formatter.\n" \
21
21
  'json-formatter homepage: https://github.com/cucumber/cucumber/tree/master/json-formatter#cucumber-json-formatter',
22
- '5.0.0'
22
+ '6.0.0'
23
23
  )
24
24
 
25
25
  @io = ensure_io(config.out_stream)
@@ -106,7 +106,7 @@ module Cucumber
106
106
  write_file(feature_result_filename(feature_data[:uri]), @testsuite.target!)
107
107
  end
108
108
 
109
- def create_output_string(test_case, scenario, result, row_name) # rubocop:disable Metrics/PerceivedComplexity
109
+ def create_output_string(test_case, scenario, result, row_name)
110
110
  scenario_source = @ast_lookup.scenario_source(test_case)
111
111
  keyword = scenario_source.type == :Scenario ? scenario_source.scenario.keyword : scenario_source.scenario_outline.keyword
112
112
  output = "#{keyword}: #{scenario}\n\n"
@@ -0,0 +1,77 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'cucumber/term/banner'
4
+
5
+ module Cucumber
6
+ module Formatter
7
+ class PublishBannerPrinter
8
+ include Term::Banner
9
+
10
+ def initialize(configuration)
11
+ return if configuration.publish_enabled?
12
+
13
+ configuration.on_event :test_run_finished do |_event|
14
+ display_publish_ad(configuration.error_stream)
15
+ end
16
+ end
17
+
18
+ # rubocop:disable Metrics/MethodLength
19
+ def display_publish_ad(io)
20
+ display_banner(
21
+ [
22
+ [
23
+ 'Share your Cucumber Report with your team at ',
24
+ link('https://reports.cucumber.io')
25
+ ],
26
+ '',
27
+ [
28
+ 'Command line option: ',
29
+ highlight('--publish')
30
+ ],
31
+ [
32
+ 'Environment variable: ',
33
+ highlight('CUCUMBER_PUBLISH_ENABLED'),
34
+ '=',
35
+ highlight('true')
36
+ ],
37
+ [
38
+ 'cucumber.yml: ',
39
+ highlight('default: --publish')
40
+ ],
41
+ '',
42
+ [
43
+ 'More information at ',
44
+ link('https://reports.cucumber.io/docs/cucumber-ruby')
45
+ ],
46
+ '',
47
+ [
48
+ 'To disable this message, specify ',
49
+ pre('CUCUMBER_PUBLISH_QUIET=true'),
50
+ ' or use the '
51
+ ],
52
+ [
53
+ pre('--publish-quiet'),
54
+ ' option. You can also add this to your ',
55
+ pre('cucumber.yml:')
56
+ ],
57
+ [pre('default: --publish-quiet')]
58
+ ],
59
+ io
60
+ )
61
+ end
62
+ # rubocop:enable Metrics/MethodLength
63
+
64
+ def highlight(text)
65
+ [text, :cyan]
66
+ end
67
+
68
+ def link(text)
69
+ [text, :cyan, :bold, :underline]
70
+ end
71
+
72
+ def pre(text)
73
+ [text, :bold]
74
+ end
75
+ end
76
+ end
77
+ end
@@ -7,7 +7,7 @@ module Cucumber
7
7
  class Rerun
8
8
  include Formatter::Io
9
9
 
10
- def initialize(config) # rubocop:disable Metrics/PerceivedComplexity
10
+ def initialize(config)
11
11
  @io = ensure_io(config.out_stream)
12
12
  @config = config
13
13
  @failures = {}
@@ -0,0 +1,30 @@
1
+ require 'cucumber/term/banner'
2
+
3
+ module Cucumber
4
+ module Formatter
5
+ class URLReporter
6
+ include Term::Banner
7
+
8
+ def initialize(io)
9
+ @io = io
10
+ end
11
+
12
+ def report(url)
13
+ uri = URI(url)
14
+ display_banner(
15
+ [
16
+ 'View your Cucumber Report at:',
17
+ [["https://reports.cucumber.io#{uri.path}", :cyan, :bold, :underline]],
18
+ '',
19
+ [['This report will self-destruct in 24h unless it is claimed or deleted.', :green, :bold]]
20
+ ],
21
+ @io
22
+ )
23
+ end
24
+ end
25
+
26
+ class NoReporter
27
+ def report(url); end
28
+ end
29
+ end
30
+ end
@@ -137,4 +137,4 @@ module Cucumber
137
137
  end
138
138
 
139
139
  # TODO: can we avoid adding methods to the global namespace (Kernel)
140
- extend(Cucumber::Glue::Dsl) # rubocop:disable Style/MixinUsage
140
+ extend(Cucumber::Glue::Dsl)
@@ -87,7 +87,7 @@ module Cucumber
87
87
  'If you simply want it in the console, '\
88
88
  'keep using "puts" (or Kernel.puts to avoid this message)',
89
89
  'puts(message)',
90
- '5.0.0'
90
+ '6.0.0'
91
91
  )
92
92
  messages.each { |message| log(message.to_s) }
93
93
  end
@@ -102,7 +102,7 @@ module Cucumber
102
102
  Cucumber.deprecate(
103
103
  'Please use attach(file, media_type) instead',
104
104
  'embed(file, mime_type, label)',
105
- '5.0.0'
105
+ '6.0.0'
106
106
  )
107
107
  attach(file, mime_type)
108
108
  end
@@ -143,7 +143,7 @@ module Cucumber
143
143
  end
144
144
 
145
145
  # Dynamially generate the API module, closuring the dependencies
146
- def self.for(runtime, language) # rubocop:disable Metrics/MethodLength
146
+ def self.for(runtime, language) # rubocop:disable Metrics/MethodLength,Metrics/AbcSize
147
147
  Module.new do # rubocop:disable Metrics/BlockLength
148
148
  def self.extended(object)
149
149
  # wrap the dynamically generated module so that we can document the methods
@@ -95,7 +95,7 @@ module Cucumber
95
95
  def changes
96
96
  require 'diff/lcs'
97
97
  diffable_cell_matrix = cell_matrix.dup.extend(::Diff::LCS)
98
- diffable_cell_matrix.diff(other_table_cell_matrix).flatten
98
+ diffable_cell_matrix.diff(other_table_cell_matrix).flatten(1)
99
99
  end
100
100
 
101
101
  def inspect_rows(missing_row, inserted_row)
@@ -5,9 +5,7 @@ require 'cucumber/gherkin/formatter/ansi_escapes'
5
5
  begin
6
6
  # Support Rake > 0.8.7
7
7
  require 'rake/dsl_definition'
8
- # rubocop:disable Lint/HandleExceptions
9
8
  rescue LoadError
10
- # rubocop:enable Lint/HandleExceptions
11
9
  end
12
10
 
13
11
  module Cucumber
@@ -13,9 +13,7 @@ Before do
13
13
  end
14
14
 
15
15
  After do
16
- begin
17
- RSpec::Mocks.verify
18
- ensure
19
- RSpec::Mocks.teardown
20
- end
16
+ RSpec::Mocks.verify
17
+ ensure
18
+ RSpec::Mocks.teardown
21
19
  end
@@ -166,11 +166,14 @@ module Cucumber
166
166
 
167
167
  require 'cucumber/formatter/ignore_missing_messages'
168
168
  require 'cucumber/formatter/fail_fast'
169
+ require 'cucumber/formatter/publish_banner_printer'
169
170
  require 'cucumber/core/report/summary'
171
+
170
172
  def report
171
173
  return @report if @report
172
174
  reports = [summary_report] + formatters
173
175
  reports << fail_fast_report if @configuration.fail_fast?
176
+ reports << publish_banner_printer unless @configuration.publish_quiet?
174
177
  @report ||= Formatter::Fanout.new(reports)
175
178
  end
176
179
 
@@ -182,6 +185,10 @@ module Cucumber
182
185
  @fail_fast_report ||= Formatter::FailFast.new(@configuration)
183
186
  end
184
187
 
188
+ def publish_banner_printer
189
+ @publish_banner_printer ||= Formatter::PublishBannerPrinter.new(@configuration)
190
+ end
191
+
185
192
  def formatters
186
193
  @formatters ||=
187
194
  @configuration.formatter_factories do |factory, formatter_options, path_or_io|
@@ -0,0 +1,56 @@
1
+ require 'cucumber/term/ansicolor'
2
+
3
+ module Cucumber
4
+ module Term
5
+ module Banner
6
+ def display_banner(lines, io, border_modifiers = nil)
7
+ BannerMaker.new.display_banner(lines, io, border_modifiers || %i[green bold])
8
+ end
9
+
10
+ class BannerMaker
11
+ include Term::ANSIColor
12
+
13
+ def display_banner(lines, io, border_modifiers)
14
+ lines = lines.split("\n") if lines.is_a? String
15
+ longest_line_length = lines.map { |line| line_length(line) }.max
16
+
17
+ io.puts apply_modifiers("┌#{'─' * (longest_line_length + 2)}┐", border_modifiers)
18
+ lines.map do |line|
19
+ padding = ' ' * (longest_line_length - line_length(line))
20
+ io.puts "#{apply_modifiers('│', border_modifiers)} #{display_line(line)}#{padding} #{apply_modifiers('│', border_modifiers)}"
21
+ end
22
+ io.puts apply_modifiers("└#{'─' * (longest_line_length + 2)}┘", border_modifiers)
23
+ end
24
+
25
+ private
26
+
27
+ def display_line(line)
28
+ line.is_a?(Array) ? line.map { |span| display_span(span) }.join : line
29
+ end
30
+
31
+ def display_span(span)
32
+ return apply_modifiers(span.shift, span) if span.is_a?(Array)
33
+ span
34
+ end
35
+
36
+ def apply_modifiers(str, modifiers)
37
+ display = str
38
+ modifiers.each { |modifier| display = send(modifier, display) }
39
+ display
40
+ end
41
+
42
+ def line_length(line)
43
+ if line.is_a?(Array)
44
+ line.map { |span| span_length(span) }.sum
45
+ else
46
+ line.length
47
+ end
48
+ end
49
+
50
+ def span_length(span)
51
+ span.is_a?(Array) ? span[0].length : span.length
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -1 +1 @@
1
- 4.1.0
1
+ 5.1.3
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.1.0
4
+ version: 5.1.3
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: 2020-07-01 00:00:00.000000000 Z
13
+ date: 2020-10-07 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: builder
@@ -21,7 +21,7 @@ dependencies:
21
21
  version: '3.2'
22
22
  - - ">="
23
23
  - !ruby/object:Gem::Version
24
- version: 3.2.3
24
+ version: 3.2.4
25
25
  type: :runtime
26
26
  prerelease: false
27
27
  version_requirements: !ruby/object:Gem::Requirement
@@ -31,173 +31,167 @@ dependencies:
31
31
  version: '3.2'
32
32
  - - ">="
33
33
  - !ruby/object:Gem::Version
34
- version: 3.2.3
34
+ version: 3.2.4
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: cucumber-core
37
37
  requirement: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - ">="
40
- - !ruby/object:Gem::Version
41
- version: 7.1.0
42
39
  - - "~>"
43
40
  - !ruby/object:Gem::Version
44
- version: '7.1'
41
+ version: '8.0'
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: 8.0.1
45
45
  type: :runtime
46
46
  prerelease: false
47
47
  version_requirements: !ruby/object:Gem::Requirement
48
48
  requirements:
49
- - - ">="
50
- - !ruby/object:Gem::Version
51
- version: 7.1.0
52
49
  - - "~>"
53
50
  - !ruby/object:Gem::Version
54
- version: '7.1'
51
+ version: '8.0'
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 8.0.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: cucumber-create-meta
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: 1.0.0
62
59
  - - "~>"
63
60
  - !ruby/object:Gem::Version
64
- version: 1.0.0
61
+ version: '2.0'
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: 2.0.2
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: 1.0.0
72
69
  - - "~>"
73
70
  - !ruby/object:Gem::Version
74
- version: 1.0.0
71
+ version: '2.0'
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: 2.0.2
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: cucumber-cucumber-expressions
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
- - - ">="
80
- - !ruby/object:Gem::Version
81
- version: 10.1.0
82
79
  - - "~>"
83
80
  - !ruby/object:Gem::Version
84
- version: '10.1'
81
+ version: '10.3'
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: 10.3.0
85
85
  type: :runtime
86
86
  prerelease: false
87
87
  version_requirements: !ruby/object:Gem::Requirement
88
88
  requirements:
89
- - - ">="
90
- - !ruby/object:Gem::Version
91
- version: 10.1.0
92
89
  - - "~>"
93
90
  - !ruby/object:Gem::Version
94
- version: '10.1'
91
+ version: '10.3'
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ version: 10.3.0
95
95
  - !ruby/object:Gem::Dependency
96
96
  name: cucumber-gherkin
97
97
  requirement: !ruby/object:Gem::Requirement
98
98
  requirements:
99
99
  - - "~>"
100
100
  - !ruby/object:Gem::Version
101
- version: '14.0'
101
+ version: '15.0'
102
102
  - - ">="
103
103
  - !ruby/object:Gem::Version
104
- version: 14.0.1
104
+ version: 15.0.2
105
105
  type: :runtime
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
109
  - - "~>"
110
110
  - !ruby/object:Gem::Version
111
- version: '14.0'
111
+ version: '15.0'
112
112
  - - ">="
113
113
  - !ruby/object:Gem::Version
114
- version: 14.0.1
114
+ version: 15.0.2
115
115
  - !ruby/object:Gem::Dependency
116
116
  name: cucumber-html-formatter
117
117
  requirement: !ruby/object:Gem::Requirement
118
118
  requirements:
119
- - - ">="
120
- - !ruby/object:Gem::Version
121
- version: 7.0.0
122
119
  - - "~>"
123
120
  - !ruby/object:Gem::Version
124
- version: '7.0'
121
+ version: '9.0'
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: 9.0.0
125
125
  type: :runtime
126
126
  prerelease: false
127
127
  version_requirements: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: 7.0.0
132
129
  - - "~>"
133
130
  - !ruby/object:Gem::Version
134
- version: '7.0'
131
+ version: '9.0'
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ version: 9.0.0
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: cucumber-messages
137
137
  requirement: !ruby/object:Gem::Requirement
138
138
  requirements:
139
- - - ">="
140
- - !ruby/object:Gem::Version
141
- version: 12.2.0
142
139
  - - "~>"
143
140
  - !ruby/object:Gem::Version
144
- version: '12.2'
141
+ version: '13.1'
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: 13.1.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: 12.2.0
152
149
  - - "~>"
153
150
  - !ruby/object:Gem::Version
154
- version: '12.2'
151
+ version: '13.1'
152
+ - - ">="
153
+ - !ruby/object:Gem::Version
154
+ version: 13.1.0
155
155
  - !ruby/object:Gem::Dependency
156
156
  name: cucumber-wire
157
157
  requirement: !ruby/object:Gem::Requirement
158
158
  requirements:
159
- - - ">="
160
- - !ruby/object:Gem::Version
161
- version: 3.1.0
162
159
  - - "~>"
163
160
  - !ruby/object:Gem::Version
164
- version: '3.1'
161
+ version: '4.0'
162
+ - - ">="
163
+ - !ruby/object:Gem::Version
164
+ version: 4.0.1
165
165
  type: :runtime
166
166
  prerelease: false
167
167
  version_requirements: !ruby/object:Gem::Requirement
168
168
  requirements:
169
- - - ">="
170
- - !ruby/object:Gem::Version
171
- version: 3.1.0
172
169
  - - "~>"
173
170
  - !ruby/object:Gem::Version
174
- version: '3.1'
171
+ version: '4.0'
172
+ - - ">="
173
+ - !ruby/object:Gem::Version
174
+ version: 4.0.1
175
175
  - !ruby/object:Gem::Dependency
176
176
  name: diff-lcs
177
177
  requirement: !ruby/object:Gem::Requirement
178
178
  requirements:
179
- - - ">="
180
- - !ruby/object:Gem::Version
181
- version: '1.3'
182
179
  - - "~>"
183
- - !ruby/object:Gem::Version
184
- version: '1.3'
185
- - - "<"
186
180
  - !ruby/object:Gem::Version
187
181
  version: '1.4'
182
+ - - ">="
183
+ - !ruby/object:Gem::Version
184
+ version: 1.4.4
188
185
  type: :runtime
189
186
  prerelease: false
190
187
  version_requirements: !ruby/object:Gem::Requirement
191
188
  requirements:
192
- - - ">="
193
- - !ruby/object:Gem::Version
194
- version: '1.3'
195
189
  - - "~>"
196
- - !ruby/object:Gem::Version
197
- version: '1.3'
198
- - - "<"
199
190
  - !ruby/object:Gem::Version
200
191
  version: '1.4'
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: 1.4.4
201
195
  - !ruby/object:Gem::Dependency
202
196
  name: multi_test
203
197
  requirement: !ruby/object:Gem::Requirement
@@ -224,20 +218,20 @@ dependencies:
224
218
  requirements:
225
219
  - - "~>"
226
220
  - !ruby/object:Gem::Version
227
- version: '1.0'
221
+ version: '1.2'
228
222
  - - ">="
229
223
  - !ruby/object:Gem::Version
230
- version: 1.0.2
224
+ version: 1.2.1
231
225
  type: :runtime
232
226
  prerelease: false
233
227
  version_requirements: !ruby/object:Gem::Requirement
234
228
  requirements:
235
229
  - - "~>"
236
230
  - !ruby/object:Gem::Version
237
- version: '1.0'
231
+ version: '1.2'
238
232
  - - ">="
239
233
  - !ruby/object:Gem::Version
240
- version: 1.0.2
234
+ version: 1.2.1
241
235
  - !ruby/object:Gem::Dependency
242
236
  name: nokogiri
243
237
  requirement: !ruby/object:Gem::Requirement
@@ -247,7 +241,7 @@ dependencies:
247
241
  version: '1.10'
248
242
  - - ">="
249
243
  - !ruby/object:Gem::Version
250
- version: 1.10.4
244
+ version: 1.10.10
251
245
  type: :development
252
246
  prerelease: false
253
247
  version_requirements: !ruby/object:Gem::Requirement
@@ -257,87 +251,87 @@ dependencies:
257
251
  version: '1.10'
258
252
  - - ">="
259
253
  - !ruby/object:Gem::Version
260
- version: 1.10.4
254
+ version: 1.10.10
261
255
  - !ruby/object:Gem::Dependency
262
256
  name: pry
263
257
  requirement: !ruby/object:Gem::Requirement
264
258
  requirements:
265
259
  - - "~>"
266
260
  - !ruby/object:Gem::Version
267
- version: '0.12'
261
+ version: '0.13'
268
262
  - - ">="
269
263
  - !ruby/object:Gem::Version
270
- version: 0.12.2
264
+ version: 0.13.1
271
265
  type: :development
272
266
  prerelease: false
273
267
  version_requirements: !ruby/object:Gem::Requirement
274
268
  requirements:
275
269
  - - "~>"
276
270
  - !ruby/object:Gem::Version
277
- version: '0.12'
271
+ version: '0.13'
278
272
  - - ">="
279
273
  - !ruby/object:Gem::Version
280
- version: 0.12.2
274
+ version: 0.13.1
281
275
  - !ruby/object:Gem::Dependency
282
276
  name: rake
283
277
  requirement: !ruby/object:Gem::Requirement
284
278
  requirements:
285
279
  - - "~>"
286
280
  - !ruby/object:Gem::Version
287
- version: '12.3'
281
+ version: '13.0'
288
282
  - - ">="
289
283
  - !ruby/object:Gem::Version
290
- version: 12.3.3
284
+ version: 13.0.1
291
285
  type: :development
292
286
  prerelease: false
293
287
  version_requirements: !ruby/object:Gem::Requirement
294
288
  requirements:
295
289
  - - "~>"
296
290
  - !ruby/object:Gem::Version
297
- version: '12.3'
291
+ version: '13.0'
298
292
  - - ">="
299
293
  - !ruby/object:Gem::Version
300
- version: 12.3.3
294
+ version: 13.0.1
301
295
  - !ruby/object:Gem::Dependency
302
296
  name: rspec
303
297
  requirement: !ruby/object:Gem::Requirement
304
298
  requirements:
305
- - - ">="
306
- - !ruby/object:Gem::Version
307
- version: 3.8.0
308
299
  - - "~>"
309
300
  - !ruby/object:Gem::Version
310
- version: '3.8'
301
+ version: '3.9'
302
+ - - ">="
303
+ - !ruby/object:Gem::Version
304
+ version: 3.9.0
311
305
  type: :development
312
306
  prerelease: false
313
307
  version_requirements: !ruby/object:Gem::Requirement
314
308
  requirements:
315
- - - ">="
316
- - !ruby/object:Gem::Version
317
- version: 3.8.0
318
309
  - - "~>"
319
310
  - !ruby/object:Gem::Version
320
- version: '3.8'
311
+ version: '3.9'
312
+ - - ">="
313
+ - !ruby/object:Gem::Version
314
+ version: 3.9.0
321
315
  - !ruby/object:Gem::Dependency
322
316
  name: simplecov
323
317
  requirement: !ruby/object:Gem::Requirement
324
318
  requirements:
325
- - - ">="
326
- - !ruby/object:Gem::Version
327
- version: 0.17.0
328
319
  - - "~>"
329
320
  - !ruby/object:Gem::Version
330
- version: '0.17'
321
+ version: '0.19'
322
+ - - ">="
323
+ - !ruby/object:Gem::Version
324
+ version: 0.19.0
331
325
  type: :development
332
326
  prerelease: false
333
327
  version_requirements: !ruby/object:Gem::Requirement
334
328
  requirements:
335
- - - ">="
336
- - !ruby/object:Gem::Version
337
- version: 0.17.0
338
329
  - - "~>"
339
330
  - !ruby/object:Gem::Version
340
- version: '0.17'
331
+ version: '0.19'
332
+ - - ">="
333
+ - !ruby/object:Gem::Version
334
+ version: 0.19.0
341
335
  - !ruby/object:Gem::Dependency
342
336
  name: syntax
343
337
  requirement: !ruby/object:Gem::Requirement
@@ -364,114 +358,120 @@ dependencies:
364
358
  requirements:
365
359
  - - "~>"
366
360
  - !ruby/object:Gem::Version
367
- version: '1.2'
361
+ version: '3.3'
368
362
  - - ">="
369
363
  - !ruby/object:Gem::Version
370
- version: 1.2.3
364
+ version: 3.3.6
371
365
  type: :development
372
366
  prerelease: false
373
367
  version_requirements: !ruby/object:Gem::Requirement
374
368
  requirements:
375
369
  - - "~>"
376
370
  - !ruby/object:Gem::Version
377
- version: '1.2'
371
+ version: '3.3'
378
372
  - - ">="
379
373
  - !ruby/object:Gem::Version
380
- version: 1.2.3
374
+ version: 3.3.6
381
375
  - !ruby/object:Gem::Dependency
382
376
  name: webrick
383
377
  requirement: !ruby/object:Gem::Requirement
384
378
  requirements:
385
- - - ">="
386
- - !ruby/object:Gem::Version
387
- version: 1.6.0
388
379
  - - "~>"
389
380
  - !ruby/object:Gem::Version
390
381
  version: '1.6'
382
+ - - ">="
383
+ - !ruby/object:Gem::Version
384
+ version: 1.6.1
391
385
  type: :development
392
386
  prerelease: false
393
387
  version_requirements: !ruby/object:Gem::Requirement
394
388
  requirements:
395
- - - ">="
396
- - !ruby/object:Gem::Version
397
- version: 1.6.0
398
389
  - - "~>"
399
390
  - !ruby/object:Gem::Version
400
391
  version: '1.6'
392
+ - - ">="
393
+ - !ruby/object:Gem::Version
394
+ version: 1.6.1
401
395
  - !ruby/object:Gem::Dependency
402
396
  name: octokit
403
397
  requirement: !ruby/object:Gem::Requirement
404
398
  requirements:
405
- - - ">="
406
- - !ruby/object:Gem::Version
407
- version: 4.14.0
408
399
  - - "~>"
409
400
  - !ruby/object:Gem::Version
410
- version: '4.14'
401
+ version: '4.18'
402
+ - - ">="
403
+ - !ruby/object:Gem::Version
404
+ version: 4.18.0
411
405
  type: :development
412
406
  prerelease: false
413
407
  version_requirements: !ruby/object:Gem::Requirement
414
408
  requirements:
415
- - - ">="
416
- - !ruby/object:Gem::Version
417
- version: 4.14.0
418
409
  - - "~>"
419
410
  - !ruby/object:Gem::Version
420
- version: '4.14'
411
+ version: '4.18'
412
+ - - ">="
413
+ - !ruby/object:Gem::Version
414
+ version: 4.18.0
421
415
  - !ruby/object:Gem::Dependency
422
416
  name: rack-test
423
417
  requirement: !ruby/object:Gem::Requirement
424
418
  requirements:
425
- - - ">="
426
- - !ruby/object:Gem::Version
427
- version: 1.1.0
428
419
  - - "~>"
429
420
  - !ruby/object:Gem::Version
430
421
  version: '1.1'
422
+ - - ">="
423
+ - !ruby/object:Gem::Version
424
+ version: 1.1.0
431
425
  type: :development
432
426
  prerelease: false
433
427
  version_requirements: !ruby/object:Gem::Requirement
434
428
  requirements:
435
- - - ">="
436
- - !ruby/object:Gem::Version
437
- version: 1.1.0
438
429
  - - "~>"
439
430
  - !ruby/object:Gem::Version
440
431
  version: '1.1'
432
+ - - ">="
433
+ - !ruby/object:Gem::Version
434
+ version: 1.1.0
441
435
  - !ruby/object:Gem::Dependency
442
436
  name: sinatra
443
437
  requirement: !ruby/object:Gem::Requirement
444
438
  requirements:
445
439
  - - "~>"
446
440
  - !ruby/object:Gem::Version
447
- version: '2.0'
441
+ version: '2.1'
448
442
  - - ">="
449
443
  - !ruby/object:Gem::Version
450
- version: 2.0.5
444
+ version: 2.1.0
451
445
  type: :development
452
446
  prerelease: false
453
447
  version_requirements: !ruby/object:Gem::Requirement
454
448
  requirements:
455
449
  - - "~>"
456
450
  - !ruby/object:Gem::Version
457
- version: '2.0'
451
+ version: '2.1'
458
452
  - - ">="
459
453
  - !ruby/object:Gem::Version
460
- version: 2.0.5
454
+ version: 2.1.0
461
455
  - !ruby/object:Gem::Dependency
462
456
  name: capybara
463
457
  requirement: !ruby/object:Gem::Requirement
464
458
  requirements:
465
- - - '='
459
+ - - "~>"
460
+ - !ruby/object:Gem::Version
461
+ version: '3.33'
462
+ - - ">="
466
463
  - !ruby/object:Gem::Version
467
- version: 3.15.0
464
+ version: 3.33.0
468
465
  type: :development
469
466
  prerelease: false
470
467
  version_requirements: !ruby/object:Gem::Requirement
471
468
  requirements:
472
- - - '='
469
+ - - "~>"
470
+ - !ruby/object:Gem::Version
471
+ version: '3.33'
472
+ - - ">="
473
473
  - !ruby/object:Gem::Version
474
- version: 3.15.0
474
+ version: 3.33.0
475
475
  description: Behaviour Driven Development with elegance and joy
476
476
  email: cukes@googlegroups.com
477
477
  executables:
@@ -560,6 +560,7 @@ files:
560
560
  - lib/cucumber/formatter/message_builder.rb
561
561
  - lib/cucumber/formatter/pretty.rb
562
562
  - lib/cucumber/formatter/progress.rb
563
+ - lib/cucumber/formatter/publish_banner_printer.rb
563
564
  - lib/cucumber/formatter/query/hook_by_test_step.rb
564
565
  - lib/cucumber/formatter/query/pickle_by_test.rb
565
566
  - lib/cucumber/formatter/query/pickle_step_by_test_step.rb
@@ -570,6 +571,7 @@ files:
570
571
  - lib/cucumber/formatter/steps.rb
571
572
  - lib/cucumber/formatter/summary.rb
572
573
  - lib/cucumber/formatter/unicode.rb
574
+ - lib/cucumber/formatter/url_reporter.rb
573
575
  - lib/cucumber/formatter/usage.rb
574
576
  - lib/cucumber/gherkin/data_table_parser.rb
575
577
  - lib/cucumber/gherkin/formatter/ansi_escapes.rb
@@ -608,6 +610,7 @@ files:
608
610
  - lib/cucumber/step_match.rb
609
611
  - lib/cucumber/step_match_search.rb
610
612
  - lib/cucumber/term/ansicolor.rb
613
+ - lib/cucumber/term/banner.rb
611
614
  - lib/cucumber/unit.rb
612
615
  - lib/cucumber/version
613
616
  - lib/simplecov_setup.rb
@@ -620,7 +623,7 @@ metadata:
620
623
  documentation_uri: https://www.rubydoc.info/github/cucumber/cucumber-ruby/
621
624
  mailing_list_uri: https://groups.google.com/forum/#!forum/cukes
622
625
  source_code_uri: https://github.com/cucumber/cucumber-ruby
623
- post_install_message:
626
+ post_install_message:
624
627
  rdoc_options:
625
628
  - "--charset=UTF-8"
626
629
  require_paths:
@@ -629,15 +632,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
629
632
  requirements:
630
633
  - - ">="
631
634
  - !ruby/object:Gem::Version
632
- version: '2.3'
635
+ version: '2.5'
633
636
  required_rubygems_version: !ruby/object:Gem::Requirement
634
637
  requirements:
635
638
  - - ">="
636
639
  - !ruby/object:Gem::Version
637
640
  version: '0'
638
641
  requirements: []
639
- rubygems_version: 3.0.6
640
- signing_key:
642
+ rubygems_version: 3.1.2
643
+ signing_key:
641
644
  specification_version: 4
642
- summary: cucumber-4.1.0
645
+ summary: cucumber-5.1.3
643
646
  test_files: []