cucumber 3.0.2 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (145) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +216 -17
  3. data/CONTRIBUTING.md +4 -21
  4. data/README.md +8 -10
  5. data/bin/cucumber +1 -1
  6. data/lib/autotest/cucumber.rb +1 -0
  7. data/lib/autotest/cucumber_mixin.rb +35 -39
  8. data/lib/autotest/cucumber_rails.rb +1 -0
  9. data/lib/autotest/cucumber_rails_rspec.rb +1 -0
  10. data/lib/autotest/cucumber_rails_rspec2.rb +1 -0
  11. data/lib/autotest/cucumber_rspec.rb +1 -0
  12. data/lib/autotest/cucumber_rspec2.rb +1 -0
  13. data/lib/autotest/discover.rb +1 -0
  14. data/lib/cucumber.rb +2 -1
  15. data/lib/cucumber/cli/configuration.rb +6 -5
  16. data/lib/cucumber/cli/main.rb +14 -14
  17. data/lib/cucumber/cli/options.rb +113 -116
  18. data/lib/cucumber/cli/profile_loader.rb +50 -29
  19. data/lib/cucumber/cli/rerun_file.rb +1 -0
  20. data/lib/cucumber/configuration.rb +38 -29
  21. data/lib/cucumber/constantize.rb +8 -10
  22. data/lib/cucumber/core_ext/string.rb +1 -0
  23. data/lib/cucumber/deprecate.rb +32 -8
  24. data/lib/cucumber/encoding.rb +2 -1
  25. data/lib/cucumber/errors.rb +6 -7
  26. data/lib/cucumber/events.rb +14 -7
  27. data/lib/cucumber/events/envelope.rb +9 -0
  28. data/lib/cucumber/events/gherkin_source_parsed.rb +11 -0
  29. data/lib/cucumber/events/gherkin_source_read.rb +1 -4
  30. data/lib/cucumber/events/hook_test_step_created.rb +13 -0
  31. data/lib/cucumber/events/step_activated.rb +6 -6
  32. data/lib/cucumber/events/step_definition_registered.rb +4 -8
  33. data/lib/cucumber/events/test_case_created.rb +13 -0
  34. data/lib/cucumber/events/test_case_finished.rb +0 -4
  35. data/lib/cucumber/events/test_case_ready.rb +12 -0
  36. data/lib/cucumber/events/test_case_started.rb +0 -4
  37. data/lib/cucumber/events/test_run_finished.rb +2 -3
  38. data/lib/cucumber/events/test_run_started.rb +2 -4
  39. data/lib/cucumber/events/test_step_created.rb +13 -0
  40. data/lib/cucumber/events/test_step_finished.rb +0 -4
  41. data/lib/cucumber/events/test_step_started.rb +1 -5
  42. data/lib/cucumber/events/undefined_parameter_type.rb +10 -0
  43. data/lib/cucumber/file_specs.rb +7 -6
  44. data/lib/cucumber/filters.rb +2 -0
  45. data/lib/cucumber/filters/activate_steps.rb +6 -4
  46. data/lib/cucumber/filters/apply_after_hooks.rb +1 -0
  47. data/lib/cucumber/filters/apply_after_step_hooks.rb +1 -0
  48. data/lib/cucumber/filters/apply_around_hooks.rb +1 -0
  49. data/lib/cucumber/filters/apply_before_hooks.rb +1 -0
  50. data/lib/cucumber/filters/broadcast_test_case_ready_event.rb +12 -0
  51. data/lib/cucumber/filters/broadcast_test_run_started_event.rb +2 -1
  52. data/lib/cucumber/filters/gated_receiver.rb +1 -2
  53. data/lib/cucumber/filters/prepare_world.rb +6 -13
  54. data/lib/cucumber/filters/quit.rb +3 -6
  55. data/lib/cucumber/filters/randomizer.rb +6 -7
  56. data/lib/cucumber/filters/retry.rb +2 -2
  57. data/lib/cucumber/filters/tag_limits.rb +2 -2
  58. data/lib/cucumber/filters/tag_limits/test_case_index.rb +1 -2
  59. data/lib/cucumber/filters/tag_limits/verifier.rb +3 -6
  60. data/lib/cucumber/formatter/ansicolor.rb +33 -37
  61. data/lib/cucumber/formatter/ast_lookup.rb +165 -0
  62. data/lib/cucumber/formatter/backtrace_filter.rb +10 -10
  63. data/lib/cucumber/formatter/console.rb +65 -74
  64. data/lib/cucumber/formatter/console_counts.rb +4 -9
  65. data/lib/cucumber/formatter/console_issues.rb +9 -6
  66. data/lib/cucumber/formatter/duration.rb +2 -1
  67. data/lib/cucumber/formatter/duration_extractor.rb +4 -2
  68. data/lib/cucumber/formatter/errors.rb +6 -0
  69. data/lib/cucumber/formatter/fail_fast.rb +9 -6
  70. data/lib/cucumber/formatter/fanout.rb +3 -3
  71. data/lib/cucumber/formatter/html.rb +11 -602
  72. data/lib/cucumber/formatter/http_io.rb +146 -0
  73. data/lib/cucumber/formatter/ignore_missing_messages.rb +2 -3
  74. data/lib/cucumber/formatter/interceptor.rb +11 -18
  75. data/lib/cucumber/formatter/io.rb +18 -11
  76. data/lib/cucumber/formatter/json.rb +102 -109
  77. data/lib/cucumber/formatter/junit.rb +73 -68
  78. data/lib/cucumber/formatter/message.rb +22 -0
  79. data/lib/cucumber/formatter/message_builder.rb +255 -0
  80. data/lib/cucumber/formatter/pretty.rb +360 -153
  81. data/lib/cucumber/formatter/progress.rb +31 -32
  82. data/lib/cucumber/formatter/query/hook_by_test_step.rb +31 -0
  83. data/lib/cucumber/formatter/query/pickle_by_test.rb +26 -0
  84. data/lib/cucumber/formatter/query/pickle_step_by_test_step.rb +26 -0
  85. data/lib/cucumber/formatter/query/step_definitions_by_test_step.rb +40 -0
  86. data/lib/cucumber/formatter/query/test_case_started_by_test_case.rb +40 -0
  87. data/lib/cucumber/formatter/rerun.rb +23 -4
  88. data/lib/cucumber/formatter/stepdefs.rb +2 -2
  89. data/lib/cucumber/formatter/steps.rb +4 -5
  90. data/lib/cucumber/formatter/summary.rb +17 -9
  91. data/lib/cucumber/formatter/unicode.rb +16 -18
  92. data/lib/cucumber/formatter/usage.rb +30 -26
  93. data/lib/cucumber/gherkin/data_table_parser.rb +18 -6
  94. data/lib/cucumber/gherkin/formatter/ansi_escapes.rb +83 -86
  95. data/lib/cucumber/gherkin/formatter/escaping.rb +13 -12
  96. data/lib/cucumber/gherkin/i18n.rb +1 -0
  97. data/lib/cucumber/gherkin/steps_parser.rb +18 -8
  98. data/lib/cucumber/glue/dsl.rb +2 -1
  99. data/lib/cucumber/glue/hook.rb +35 -11
  100. data/lib/cucumber/glue/invoke_in_world.rb +15 -20
  101. data/lib/cucumber/glue/proto_world.rb +47 -39
  102. data/lib/cucumber/glue/registry_and_more.rb +54 -23
  103. data/lib/cucumber/glue/snippet.rb +24 -27
  104. data/lib/cucumber/glue/step_definition.rb +51 -28
  105. data/lib/cucumber/glue/world_factory.rb +1 -3
  106. data/lib/cucumber/hooks.rb +24 -14
  107. data/lib/cucumber/load_path.rb +1 -0
  108. data/lib/cucumber/multiline_argument.rb +6 -8
  109. data/lib/cucumber/multiline_argument/data_table.rb +106 -73
  110. data/lib/cucumber/multiline_argument/data_table/diff_matrices.rb +8 -11
  111. data/lib/cucumber/multiline_argument/doc_string.rb +2 -1
  112. data/lib/cucumber/platform.rb +4 -3
  113. data/lib/cucumber/project_initializer.rb +1 -1
  114. data/lib/cucumber/rake/task.rb +21 -18
  115. data/lib/cucumber/rspec/disable_option_parser.rb +10 -8
  116. data/lib/cucumber/rspec/doubles.rb +1 -0
  117. data/lib/cucumber/running_test_case.rb +4 -54
  118. data/lib/cucumber/runtime.rb +57 -61
  119. data/lib/cucumber/runtime/after_hooks.rb +9 -4
  120. data/lib/cucumber/runtime/before_hooks.rb +9 -4
  121. data/lib/cucumber/runtime/for_programming_languages.rb +12 -9
  122. data/lib/cucumber/runtime/step_hooks.rb +5 -2
  123. data/lib/cucumber/runtime/support_code.rb +16 -22
  124. data/lib/cucumber/runtime/user_interface.rb +8 -19
  125. data/lib/cucumber/step_definition_light.rb +6 -4
  126. data/lib/cucumber/step_definitions.rb +3 -2
  127. data/lib/cucumber/step_match.rb +20 -18
  128. data/lib/cucumber/step_match_search.rb +9 -9
  129. data/lib/cucumber/term/ansicolor.rb +39 -39
  130. data/lib/cucumber/unit.rb +1 -0
  131. data/lib/cucumber/version +1 -1
  132. data/lib/simplecov_setup.rb +1 -0
  133. metadata +214 -127
  134. data/lib/cucumber/formatter/cucumber.css +0 -286
  135. data/lib/cucumber/formatter/cucumber.sass +0 -247
  136. data/lib/cucumber/formatter/hook_query_visitor.rb +0 -41
  137. data/lib/cucumber/formatter/html_builder.rb +0 -120
  138. data/lib/cucumber/formatter/inline-js.js +0 -30
  139. data/lib/cucumber/formatter/jquery-min.js +0 -154
  140. data/lib/cucumber/formatter/json_pretty.rb +0 -10
  141. data/lib/cucumber/formatter/legacy_api/adapter.rb +0 -1028
  142. data/lib/cucumber/formatter/legacy_api/ast.rb +0 -394
  143. data/lib/cucumber/formatter/legacy_api/results.rb +0 -50
  144. data/lib/cucumber/formatter/legacy_api/runtime_facade.rb +0 -32
  145. data/lib/cucumber/step_argument.rb +0 -24
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Cucumber
3
4
  module StepMatchSearch
4
5
  def self.new(search, configuration)
@@ -12,7 +13,8 @@ module Cucumber
12
13
 
13
14
  class AssertUnambiguousMatch
14
15
  def initialize(search, configuration)
15
- @search, @configuration = search, configuration
16
+ @search = search
17
+ @configuration = configuration
16
18
  end
17
19
 
18
20
  def call(step_name)
@@ -34,21 +36,20 @@ module Cucumber
34
36
  private
35
37
 
36
38
  def best_matches(_step_name, step_matches) #:nodoc:
37
- no_groups = step_matches.select {|step_match| step_match.args.empty?}
38
- max_arg_length = step_matches.map {|step_match| step_match.args.length }.max
39
- top_groups = step_matches.select {|step_match| step_match.args.length == max_arg_length }
39
+ no_groups = step_matches.select { |step_match| step_match.args.empty? }
40
+ max_arg_length = step_matches.map { |step_match| step_match.args.length }.max
41
+ top_groups = step_matches.select { |step_match| step_match.args.length == max_arg_length }
40
42
 
41
43
  if no_groups.any?
42
44
  longest_regexp_length = no_groups.map(&:text_length).max
43
- no_groups.select {|step_match| step_match.text_length == longest_regexp_length }
45
+ no_groups.select { |step_match| step_match.text_length == longest_regexp_length }
44
46
  elsif top_groups.any?
45
- shortest_capture_length = top_groups.map {|step_match| step_match.args.inject(0) {|sum, c| sum + c.to_s.length } }.min
46
- top_groups.select {|step_match| step_match.args.inject(0) {|sum, c| sum + c.to_s.length } == shortest_capture_length }
47
+ shortest_capture_length = top_groups.map { |step_match| step_match.args.inject(0) { |sum, c| sum + c.to_s.length } }.min
48
+ top_groups.select { |step_match| step_match.args.inject(0) { |sum, c| sum + c.to_s.length } == shortest_capture_length }
47
49
  else
48
50
  top_groups
49
51
  end
50
52
  end
51
-
52
53
  end
53
54
 
54
55
  require 'delegate'
@@ -62,6 +63,5 @@ module Cucumber
62
63
  @match_cache[step_name] = super(step_name)
63
64
  end
64
65
  end
65
-
66
66
  end
67
67
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Cucumber
3
4
  module Term
4
5
  # The ANSIColor module can be used for namespacing and mixed into your own
@@ -6,35 +7,35 @@ module Cucumber
6
7
  module ANSIColor
7
8
  # :stopdoc:
8
9
  ATTRIBUTES = [
9
- [ :clear , 0 ],
10
- [ :reset , 0 ], # synonym for :clear
11
- [ :bold , 1 ],
12
- [ :dark , 2 ],
13
- [ :italic , 3 ], # not widely implemented
14
- [ :underline , 4 ],
15
- [ :underscore , 4 ], # synonym for :underline
16
- [ :blink , 5 ],
17
- [ :rapid_blink , 6 ], # not widely implemented
18
- [ :negative , 7 ], # no reverse because of String#reverse
19
- [ :concealed , 8 ],
20
- [ :strikethrough, 9 ], # not widely implemented
21
- [ :black , 30 ],
22
- [ :red , 31 ],
23
- [ :green , 32 ],
24
- [ :yellow , 33 ],
25
- [ :blue , 34 ],
26
- [ :magenta , 35 ],
27
- [ :cyan , 36 ],
28
- [ :white , 37 ],
29
- [ :on_black , 40 ],
30
- [ :on_red , 41 ],
31
- [ :on_green , 42 ],
32
- [ :on_yellow , 43 ],
33
- [ :on_blue , 44 ],
34
- [ :on_magenta , 45 ],
35
- [ :on_cyan , 46 ],
36
- [ :on_white , 47 ]
37
- ]
10
+ [:clear, 0],
11
+ [:reset, 0], # synonym for :clear
12
+ [:bold, 1],
13
+ [:dark, 2],
14
+ [:italic, 3], # not widely implemented
15
+ [:underline, 4],
16
+ [:underscore, 4], # synonym for :underline
17
+ [:blink, 5],
18
+ [:rapid_blink, 6], # not widely implemented
19
+ [:negative, 7], # no reverse because of String#reverse
20
+ [:concealed, 8],
21
+ [:strikethrough, 9], # not widely implemented
22
+ [:black, 30],
23
+ [:red, 31],
24
+ [:green, 32],
25
+ [:yellow, 33],
26
+ [:blue, 34],
27
+ [:magenta, 35],
28
+ [:cyan, 36],
29
+ [:white, 37],
30
+ [:on_black, 40],
31
+ [:on_red, 41],
32
+ [:on_green, 42],
33
+ [:on_yellow, 43],
34
+ [:on_blue, 44],
35
+ [:on_magenta, 45],
36
+ [:on_cyan, 46],
37
+ [:on_white, 47]
38
+ ].freeze
38
39
 
39
40
  ATTRIBUTE_NAMES = ATTRIBUTES.transpose.first
40
41
  # :startdoc:
@@ -53,10 +54,11 @@ module Cucumber
53
54
  end
54
55
  self.coloring = true
55
56
 
57
+ # rubocop:disable Security/Eval
56
58
  ATTRIBUTES.each do |c, v|
57
- eval %Q{
59
+ eval <<-END_EVAL, binding, __FILE__, __LINE__ + 1
58
60
  def #{c}(string = nil)
59
- result = ''
61
+ result = String.new
60
62
  result << "\e[#{v}m" if Cucumber::Term::ANSIColor.coloring?
61
63
  if block_given?
62
64
  result << yield
@@ -70,24 +72,23 @@ module Cucumber
70
72
  result << "\e[0m" if Cucumber::Term::ANSIColor.coloring?
71
73
  result
72
74
  end
73
- }
75
+ END_EVAL
74
76
  end
77
+ # rubocop:enable Security/Eval
75
78
 
76
79
  # Regular expression that is used to scan for ANSI-sequences while
77
80
  # uncoloring strings.
78
81
  COLORED_REGEXP = /\e\[(?:[34][0-7]|[0-9])?m/
79
82
 
80
-
81
83
  def self.included(klass)
82
- if klass == String
83
- ATTRIBUTES.delete(:clear)
84
- ATTRIBUTE_NAMES.delete(:clear)
85
- end
84
+ return unless klass == String
85
+ ATTRIBUTES.delete(:clear)
86
+ ATTRIBUTE_NAMES.delete(:clear)
86
87
  end
87
88
 
88
89
  # Returns an uncolored version of the string, that is all
89
90
  # ANSI-sequences are stripped from the string.
90
- def uncolored(string = nil) # :yields:
91
+ def uncolored(string = nil)
91
92
  if block_given?
92
93
  yield.gsub(COLORED_REGEXP, '')
93
94
  elsif string
@@ -105,7 +106,6 @@ module Cucumber
105
106
  def attributes
106
107
  ATTRIBUTE_NAMES
107
108
  end
108
- extend self
109
109
  end
110
110
  end
111
111
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Cucumber
3
4
  class Unit
4
5
  def initialize(step_collection)
@@ -1 +1 @@
1
- 3.0.2
1
+ 4.0.0
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  if ENV['SIMPLECOV']
3
4
  begin
4
5
  # Suppress warnings in order not to pollute stdout which tests expectations rely on
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: 3.0.2
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aslak Hellesøy
@@ -10,364 +10,442 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-11-11 00:00:00.000000000 Z
13
+ date: 2020-06-02 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: cucumber-core
16
+ name: builder
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
19
  - - "~>"
20
20
  - !ruby/object:Gem::Version
21
- version: 3.0.0
21
+ version: '3.2'
22
+ - - ">="
23
+ - !ruby/object:Gem::Version
24
+ version: 3.2.3
22
25
  type: :runtime
23
26
  prerelease: false
24
27
  version_requirements: !ruby/object:Gem::Requirement
25
28
  requirements:
26
29
  - - "~>"
27
30
  - !ruby/object:Gem::Version
28
- version: 3.0.0
31
+ version: '3.2'
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: 3.2.3
29
35
  - !ruby/object:Gem::Dependency
30
- name: builder
36
+ name: cucumber-core
31
37
  requirement: !ruby/object:Gem::Requirement
32
38
  requirements:
33
39
  - - ">="
34
40
  - !ruby/object:Gem::Version
35
- version: 2.1.2
41
+ version: 7.0.0
42
+ - - "~>"
43
+ - !ruby/object:Gem::Version
44
+ version: '7.0'
36
45
  type: :runtime
37
46
  prerelease: false
38
47
  version_requirements: !ruby/object:Gem::Requirement
39
48
  requirements:
40
49
  - - ">="
41
50
  - !ruby/object:Gem::Version
42
- version: 2.1.2
51
+ version: 7.0.0
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '7.0'
43
55
  - !ruby/object:Gem::Dependency
44
- name: diff-lcs
56
+ name: cucumber-cucumber-expressions
45
57
  requirement: !ruby/object:Gem::Requirement
46
58
  requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 10.1.0
47
62
  - - "~>"
48
63
  - !ruby/object:Gem::Version
49
- version: '1.3'
64
+ version: '10.1'
50
65
  type: :runtime
51
66
  prerelease: false
52
67
  version_requirements: !ruby/object:Gem::Requirement
53
68
  requirements:
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ version: 10.1.0
54
72
  - - "~>"
55
73
  - !ruby/object:Gem::Version
56
- version: '1.3'
74
+ version: '10.1'
57
75
  - !ruby/object:Gem::Dependency
58
- name: gherkin
76
+ name: cucumber-gherkin
59
77
  requirement: !ruby/object:Gem::Requirement
60
78
  requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: 13.0.0
61
82
  - - "~>"
62
83
  - !ruby/object:Gem::Version
63
- version: '4.0'
84
+ version: '13.0'
64
85
  type: :runtime
65
86
  prerelease: false
66
87
  version_requirements: !ruby/object:Gem::Requirement
67
88
  requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ version: 13.0.0
68
92
  - - "~>"
69
93
  - !ruby/object:Gem::Version
70
- version: '4.0'
94
+ version: '13.0'
71
95
  - !ruby/object:Gem::Dependency
72
- name: multi_json
96
+ name: cucumber-html-formatter
73
97
  requirement: !ruby/object:Gem::Requirement
74
98
  requirements:
75
- - - ">="
99
+ - - "~>"
76
100
  - !ruby/object:Gem::Version
77
- version: 1.7.5
78
- - - "<"
101
+ version: '6.0'
102
+ - - ">="
79
103
  - !ruby/object:Gem::Version
80
- version: '2.0'
104
+ version: 6.0.1
81
105
  type: :runtime
82
106
  prerelease: false
83
107
  version_requirements: !ruby/object:Gem::Requirement
84
108
  requirements:
85
- - - ">="
109
+ - - "~>"
86
110
  - !ruby/object:Gem::Version
87
- version: 1.7.5
88
- - - "<"
111
+ version: '6.0'
112
+ - - ">="
89
113
  - !ruby/object:Gem::Version
90
- version: '2.0'
114
+ version: 6.0.1
91
115
  - !ruby/object:Gem::Dependency
92
- name: multi_test
116
+ name: cucumber-messages
93
117
  requirement: !ruby/object:Gem::Requirement
94
118
  requirements:
119
+ - - "~>"
120
+ - !ruby/object:Gem::Version
121
+ version: '12.1'
95
122
  - - ">="
96
123
  - !ruby/object:Gem::Version
97
- version: 0.1.2
124
+ version: 12.1.1
98
125
  type: :runtime
99
126
  prerelease: false
100
127
  version_requirements: !ruby/object:Gem::Requirement
101
128
  requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '12.1'
102
132
  - - ">="
103
133
  - !ruby/object:Gem::Version
104
- version: 0.1.2
134
+ version: 12.1.1
105
135
  - !ruby/object:Gem::Dependency
106
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: 0.0.1
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: 0.0.1
154
+ version: '3.0'
119
155
  - !ruby/object:Gem::Dependency
120
- name: cucumber-expressions
156
+ name: diff-lcs
121
157
  requirement: !ruby/object:Gem::Requirement
122
158
  requirements:
159
+ - - ">="
160
+ - !ruby/object:Gem::Version
161
+ version: '1.3'
123
162
  - - "~>"
124
163
  - !ruby/object:Gem::Version
125
- version: 4.0.3
164
+ version: '1.3'
126
165
  type: :runtime
127
166
  prerelease: false
128
167
  version_requirements: !ruby/object:Gem::Requirement
129
168
  requirements:
169
+ - - ">="
170
+ - !ruby/object:Gem::Version
171
+ version: '1.3'
130
172
  - - "~>"
131
173
  - !ruby/object:Gem::Version
132
- version: 4.0.3
174
+ version: '1.3'
133
175
  - !ruby/object:Gem::Dependency
134
- name: bundler
176
+ name: multi_test
135
177
  requirement: !ruby/object:Gem::Requirement
136
178
  requirements:
137
179
  - - "~>"
138
180
  - !ruby/object:Gem::Version
139
- version: 1.16.0
140
- type: :development
181
+ version: '0.1'
182
+ - - ">="
183
+ - !ruby/object:Gem::Version
184
+ version: 0.1.2
185
+ type: :runtime
141
186
  prerelease: false
142
187
  version_requirements: !ruby/object:Gem::Requirement
143
188
  requirements:
144
189
  - - "~>"
145
190
  - !ruby/object:Gem::Version
146
- version: 1.16.0
191
+ version: '0.1'
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: 0.1.2
147
195
  - !ruby/object:Gem::Dependency
148
- name: aruba
196
+ name: sys-uname
149
197
  requirement: !ruby/object:Gem::Requirement
150
198
  requirements:
151
199
  - - "~>"
152
200
  - !ruby/object:Gem::Version
153
- version: 0.6.1
154
- type: :development
201
+ version: '1.0'
202
+ - - ">="
203
+ - !ruby/object:Gem::Version
204
+ version: 1.0.2
205
+ type: :runtime
155
206
  prerelease: false
156
207
  version_requirements: !ruby/object:Gem::Requirement
157
208
  requirements:
158
209
  - - "~>"
159
210
  - !ruby/object:Gem::Version
160
- version: 0.6.1
211
+ version: '1.0'
212
+ - - ">="
213
+ - !ruby/object:Gem::Version
214
+ version: 1.0.2
161
215
  - !ruby/object:Gem::Dependency
162
- name: json
216
+ name: nokogiri
163
217
  requirement: !ruby/object:Gem::Requirement
164
218
  requirements:
165
219
  - - "~>"
166
220
  - !ruby/object:Gem::Version
167
- version: 1.8.6
221
+ version: '1.10'
222
+ - - ">="
223
+ - !ruby/object:Gem::Version
224
+ version: 1.10.4
168
225
  type: :development
169
226
  prerelease: false
170
227
  version_requirements: !ruby/object:Gem::Requirement
171
228
  requirements:
172
229
  - - "~>"
173
230
  - !ruby/object:Gem::Version
174
- version: 1.8.6
231
+ version: '1.10'
232
+ - - ">="
233
+ - !ruby/object:Gem::Version
234
+ version: 1.10.4
175
235
  - !ruby/object:Gem::Dependency
176
- name: nokogiri
236
+ name: pry
177
237
  requirement: !ruby/object:Gem::Requirement
178
238
  requirements:
179
239
  - - "~>"
180
240
  - !ruby/object:Gem::Version
181
- version: 1.8.1
241
+ version: '0.12'
242
+ - - ">="
243
+ - !ruby/object:Gem::Version
244
+ version: 0.12.2
182
245
  type: :development
183
246
  prerelease: false
184
247
  version_requirements: !ruby/object:Gem::Requirement
185
248
  requirements:
186
249
  - - "~>"
187
250
  - !ruby/object:Gem::Version
188
- version: 1.8.1
251
+ version: '0.12'
252
+ - - ">="
253
+ - !ruby/object:Gem::Version
254
+ version: 0.12.2
189
255
  - !ruby/object:Gem::Dependency
190
256
  name: rake
191
257
  requirement: !ruby/object:Gem::Requirement
192
258
  requirements:
259
+ - - "~>"
260
+ - !ruby/object:Gem::Version
261
+ version: '12.3'
193
262
  - - ">="
194
263
  - !ruby/object:Gem::Version
195
- version: 0.9.2
264
+ version: 12.3.3
196
265
  type: :development
197
266
  prerelease: false
198
267
  version_requirements: !ruby/object:Gem::Requirement
199
268
  requirements:
269
+ - - "~>"
270
+ - !ruby/object:Gem::Version
271
+ version: '12.3'
200
272
  - - ">="
201
273
  - !ruby/object:Gem::Version
202
- version: 0.9.2
274
+ version: 12.3.3
203
275
  - !ruby/object:Gem::Dependency
204
276
  name: rspec
205
277
  requirement: !ruby/object:Gem::Requirement
206
278
  requirements:
207
279
  - - ">="
208
280
  - !ruby/object:Gem::Version
209
- version: '3.6'
281
+ version: 3.8.0
282
+ - - "~>"
283
+ - !ruby/object:Gem::Version
284
+ version: '3.8'
210
285
  type: :development
211
286
  prerelease: false
212
287
  version_requirements: !ruby/object:Gem::Requirement
213
288
  requirements:
214
289
  - - ">="
215
290
  - !ruby/object:Gem::Version
216
- version: '3.6'
291
+ version: 3.8.0
292
+ - - "~>"
293
+ - !ruby/object:Gem::Version
294
+ version: '3.8'
217
295
  - !ruby/object:Gem::Dependency
218
296
  name: simplecov
219
297
  requirement: !ruby/object:Gem::Requirement
220
298
  requirements:
221
299
  - - ">="
222
300
  - !ruby/object:Gem::Version
223
- version: 0.6.2
301
+ version: 0.17.0
302
+ - - "~>"
303
+ - !ruby/object:Gem::Version
304
+ version: '0.17'
224
305
  type: :development
225
306
  prerelease: false
226
307
  version_requirements: !ruby/object:Gem::Requirement
227
308
  requirements:
228
309
  - - ">="
229
310
  - !ruby/object:Gem::Version
230
- version: 0.6.2
311
+ version: 0.17.0
312
+ - - "~>"
313
+ - !ruby/object:Gem::Version
314
+ version: '0.17'
231
315
  - !ruby/object:Gem::Dependency
232
316
  name: syntax
233
317
  requirement: !ruby/object:Gem::Requirement
234
318
  requirements:
319
+ - - "~>"
320
+ - !ruby/object:Gem::Version
321
+ version: '1.2'
235
322
  - - ">="
236
323
  - !ruby/object:Gem::Version
237
- version: 1.0.0
324
+ version: 1.2.2
238
325
  type: :development
239
326
  prerelease: false
240
327
  version_requirements: !ruby/object:Gem::Requirement
241
328
  requirements:
329
+ - - "~>"
330
+ - !ruby/object:Gem::Version
331
+ version: '1.2'
242
332
  - - ">="
243
333
  - !ruby/object:Gem::Version
244
- version: 1.0.0
334
+ version: 1.2.2
245
335
  - !ruby/object:Gem::Dependency
246
- name: pry
336
+ name: test-unit
247
337
  requirement: !ruby/object:Gem::Requirement
248
338
  requirements:
339
+ - - "~>"
340
+ - !ruby/object:Gem::Version
341
+ version: '1.2'
249
342
  - - ">="
250
343
  - !ruby/object:Gem::Version
251
- version: '0'
344
+ version: 1.2.3
252
345
  type: :development
253
346
  prerelease: false
254
347
  version_requirements: !ruby/object:Gem::Requirement
255
348
  requirements:
349
+ - - "~>"
350
+ - !ruby/object:Gem::Version
351
+ version: '1.2'
256
352
  - - ">="
257
353
  - !ruby/object:Gem::Version
258
- version: '0'
354
+ version: 1.2.3
259
355
  - !ruby/object:Gem::Dependency
260
- name: rubocop
356
+ name: webrick
261
357
  requirement: !ruby/object:Gem::Requirement
262
358
  requirements:
359
+ - - ">="
360
+ - !ruby/object:Gem::Version
361
+ version: 1.6.0
263
362
  - - "~>"
264
363
  - !ruby/object:Gem::Version
265
- version: 0.40.0
364
+ version: '1.6'
266
365
  type: :development
267
366
  prerelease: false
268
367
  version_requirements: !ruby/object:Gem::Requirement
269
368
  requirements:
369
+ - - ">="
370
+ - !ruby/object:Gem::Version
371
+ version: 1.6.0
270
372
  - - "~>"
271
373
  - !ruby/object:Gem::Version
272
- version: 0.40.0
374
+ version: '1.6'
273
375
  - !ruby/object:Gem::Dependency
274
376
  name: octokit
275
377
  requirement: !ruby/object:Gem::Requirement
276
378
  requirements:
277
379
  - - ">="
278
380
  - !ruby/object:Gem::Version
279
- version: '0'
280
- type: :development
281
- prerelease: false
282
- version_requirements: !ruby/object:Gem::Requirement
283
- requirements:
284
- - - ">="
285
- - !ruby/object:Gem::Version
286
- version: '0'
287
- - !ruby/object:Gem::Dependency
288
- name: bcat
289
- requirement: !ruby/object:Gem::Requirement
290
- requirements:
381
+ version: 4.14.0
291
382
  - - "~>"
292
383
  - !ruby/object:Gem::Version
293
- version: 0.6.2
384
+ version: '4.14'
294
385
  type: :development
295
386
  prerelease: false
296
387
  version_requirements: !ruby/object:Gem::Requirement
297
388
  requirements:
389
+ - - ">="
390
+ - !ruby/object:Gem::Version
391
+ version: 4.14.0
298
392
  - - "~>"
299
393
  - !ruby/object:Gem::Version
300
- version: 0.6.2
394
+ version: '4.14'
301
395
  - !ruby/object:Gem::Dependency
302
- name: kramdown
396
+ name: rack-test
303
397
  requirement: !ruby/object:Gem::Requirement
304
398
  requirements:
399
+ - - ">="
400
+ - !ruby/object:Gem::Version
401
+ version: 1.1.0
305
402
  - - "~>"
306
403
  - !ruby/object:Gem::Version
307
- version: '0.14'
404
+ version: '1.1'
308
405
  type: :development
309
406
  prerelease: false
310
407
  version_requirements: !ruby/object:Gem::Requirement
311
408
  requirements:
409
+ - - ">="
410
+ - !ruby/object:Gem::Version
411
+ version: 1.1.0
312
412
  - - "~>"
313
413
  - !ruby/object:Gem::Version
314
- version: '0.14'
414
+ version: '1.1'
315
415
  - !ruby/object:Gem::Dependency
316
- name: yard
416
+ name: sinatra
317
417
  requirement: !ruby/object:Gem::Requirement
318
418
  requirements:
319
419
  - - "~>"
320
420
  - !ruby/object:Gem::Version
321
- version: 0.8.0
322
- type: :development
323
- prerelease: false
324
- version_requirements: !ruby/object:Gem::Requirement
325
- requirements:
326
- - - "~>"
327
- - !ruby/object:Gem::Version
328
- version: 0.8.0
329
- - !ruby/object:Gem::Dependency
330
- name: capybara
331
- requirement: !ruby/object:Gem::Requirement
332
- requirements:
421
+ version: '2.0'
333
422
  - - ">="
334
423
  - !ruby/object:Gem::Version
335
- version: '2.1'
424
+ version: 2.0.5
336
425
  type: :development
337
426
  prerelease: false
338
427
  version_requirements: !ruby/object:Gem::Requirement
339
428
  requirements:
340
- - - ">="
341
- - !ruby/object:Gem::Version
342
- version: '2.1'
343
- - !ruby/object:Gem::Dependency
344
- name: rack-test
345
- requirement: !ruby/object:Gem::Requirement
346
- requirements:
347
- - - ">="
429
+ - - "~>"
348
430
  - !ruby/object:Gem::Version
349
- version: 0.6.1
350
- type: :development
351
- prerelease: false
352
- version_requirements: !ruby/object:Gem::Requirement
353
- requirements:
431
+ version: '2.0'
354
432
  - - ">="
355
433
  - !ruby/object:Gem::Version
356
- version: 0.6.1
434
+ version: 2.0.5
357
435
  - !ruby/object:Gem::Dependency
358
- name: sinatra
436
+ name: capybara
359
437
  requirement: !ruby/object:Gem::Requirement
360
438
  requirements:
361
- - - ">="
439
+ - - '='
362
440
  - !ruby/object:Gem::Version
363
- version: 1.3.2
441
+ version: 3.15.0
364
442
  type: :development
365
443
  prerelease: false
366
444
  version_requirements: !ruby/object:Gem::Requirement
367
445
  requirements:
368
- - - ">="
446
+ - - '='
369
447
  - !ruby/object:Gem::Version
370
- version: 1.3.2
448
+ version: 3.15.0
371
449
  description: Behaviour Driven Development with elegance and joy
372
450
  email: cukes@googlegroups.com
373
451
  executables:
@@ -401,15 +479,22 @@ files:
401
479
  - lib/cucumber/encoding.rb
402
480
  - lib/cucumber/errors.rb
403
481
  - lib/cucumber/events.rb
482
+ - lib/cucumber/events/envelope.rb
483
+ - lib/cucumber/events/gherkin_source_parsed.rb
404
484
  - lib/cucumber/events/gherkin_source_read.rb
485
+ - lib/cucumber/events/hook_test_step_created.rb
405
486
  - lib/cucumber/events/step_activated.rb
406
487
  - lib/cucumber/events/step_definition_registered.rb
488
+ - lib/cucumber/events/test_case_created.rb
407
489
  - lib/cucumber/events/test_case_finished.rb
490
+ - lib/cucumber/events/test_case_ready.rb
408
491
  - lib/cucumber/events/test_case_started.rb
409
492
  - lib/cucumber/events/test_run_finished.rb
410
493
  - lib/cucumber/events/test_run_started.rb
494
+ - lib/cucumber/events/test_step_created.rb
411
495
  - lib/cucumber/events/test_step_finished.rb
412
496
  - lib/cucumber/events/test_step_started.rb
497
+ - lib/cucumber/events/undefined_parameter_type.rb
413
498
  - lib/cucumber/file_specs.rb
414
499
  - lib/cucumber/filters.rb
415
500
  - lib/cucumber/filters/activate_steps.rb
@@ -417,6 +502,7 @@ files:
417
502
  - lib/cucumber/filters/apply_after_step_hooks.rb
418
503
  - lib/cucumber/filters/apply_around_hooks.rb
419
504
  - lib/cucumber/filters/apply_before_hooks.rb
505
+ - lib/cucumber/filters/broadcast_test_case_ready_event.rb
420
506
  - lib/cucumber/filters/broadcast_test_run_started_event.rb
421
507
  - lib/cucumber/filters/gated_receiver.rb
422
508
  - lib/cucumber/filters/prepare_world.rb
@@ -427,33 +513,32 @@ files:
427
513
  - lib/cucumber/filters/tag_limits/test_case_index.rb
428
514
  - lib/cucumber/filters/tag_limits/verifier.rb
429
515
  - lib/cucumber/formatter/ansicolor.rb
516
+ - lib/cucumber/formatter/ast_lookup.rb
430
517
  - lib/cucumber/formatter/backtrace_filter.rb
431
518
  - lib/cucumber/formatter/console.rb
432
519
  - lib/cucumber/formatter/console_counts.rb
433
520
  - lib/cucumber/formatter/console_issues.rb
434
- - lib/cucumber/formatter/cucumber.css
435
- - lib/cucumber/formatter/cucumber.sass
436
521
  - lib/cucumber/formatter/duration.rb
437
522
  - lib/cucumber/formatter/duration_extractor.rb
523
+ - lib/cucumber/formatter/errors.rb
438
524
  - lib/cucumber/formatter/fail_fast.rb
439
525
  - lib/cucumber/formatter/fanout.rb
440
- - lib/cucumber/formatter/hook_query_visitor.rb
441
526
  - lib/cucumber/formatter/html.rb
442
- - lib/cucumber/formatter/html_builder.rb
527
+ - lib/cucumber/formatter/http_io.rb
443
528
  - lib/cucumber/formatter/ignore_missing_messages.rb
444
- - lib/cucumber/formatter/inline-js.js
445
529
  - lib/cucumber/formatter/interceptor.rb
446
530
  - lib/cucumber/formatter/io.rb
447
- - lib/cucumber/formatter/jquery-min.js
448
531
  - lib/cucumber/formatter/json.rb
449
- - lib/cucumber/formatter/json_pretty.rb
450
532
  - lib/cucumber/formatter/junit.rb
451
- - lib/cucumber/formatter/legacy_api/adapter.rb
452
- - lib/cucumber/formatter/legacy_api/ast.rb
453
- - lib/cucumber/formatter/legacy_api/results.rb
454
- - lib/cucumber/formatter/legacy_api/runtime_facade.rb
533
+ - lib/cucumber/formatter/message.rb
534
+ - lib/cucumber/formatter/message_builder.rb
455
535
  - lib/cucumber/formatter/pretty.rb
456
536
  - lib/cucumber/formatter/progress.rb
537
+ - lib/cucumber/formatter/query/hook_by_test_step.rb
538
+ - lib/cucumber/formatter/query/pickle_by_test.rb
539
+ - lib/cucumber/formatter/query/pickle_step_by_test_step.rb
540
+ - lib/cucumber/formatter/query/step_definitions_by_test_step.rb
541
+ - lib/cucumber/formatter/query/test_case_started_by_test_case.rb
457
542
  - lib/cucumber/formatter/rerun.rb
458
543
  - lib/cucumber/formatter/stepdefs.rb
459
544
  - lib/cucumber/formatter/steps.rb
@@ -492,7 +577,6 @@ files:
492
577
  - lib/cucumber/runtime/step_hooks.rb
493
578
  - lib/cucumber/runtime/support_code.rb
494
579
  - lib/cucumber/runtime/user_interface.rb
495
- - lib/cucumber/step_argument.rb
496
580
  - lib/cucumber/step_definition_light.rb
497
581
  - lib/cucumber/step_definitions.rb
498
582
  - lib/cucumber/step_match.rb
@@ -504,7 +588,12 @@ files:
504
588
  homepage: https://cucumber.io/
505
589
  licenses:
506
590
  - MIT
507
- metadata: {}
591
+ metadata:
592
+ bug_tracker_uri: https://github.com/cucumber/cucumber-ruby/issues
593
+ changelog_uri: https://github.com/cucumber/cucumber-ruby/blob/master/CHANGELOG.md
594
+ documentation_uri: https://www.rubydoc.info/github/cucumber/cucumber-ruby/
595
+ mailing_list_uri: https://groups.google.com/forum/#!forum/cukes
596
+ source_code_uri: https://github.com/cucumber/cucumber-ruby
508
597
  post_install_message:
509
598
  rdoc_options:
510
599
  - "--charset=UTF-8"
@@ -514,17 +603,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
514
603
  requirements:
515
604
  - - ">="
516
605
  - !ruby/object:Gem::Version
517
- version: '2.2'
606
+ version: '2.3'
518
607
  required_rubygems_version: !ruby/object:Gem::Requirement
519
608
  requirements:
520
609
  - - ">="
521
610
  - !ruby/object:Gem::Version
522
611
  version: '0'
523
612
  requirements: []
524
- rubyforge_project:
525
- rubygems_version: 2.5.2
613
+ rubygems_version: 3.0.6
526
614
  signing_key:
527
615
  specification_version: 4
528
- summary: cucumber-3.0.2
616
+ summary: cucumber-4.0.0
529
617
  test_files: []
530
- has_rdoc: