cucumber-core 11.0.0 → 11.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +204 -291
  3. data/README.md +0 -1
  4. data/lib/cucumber/core/test/case.rb +11 -1
  5. data/lib/cucumber/core/test/data_table.rb +4 -0
  6. data/lib/cucumber/core/test/doc_string.rb +4 -1
  7. data/lib/cucumber/core/test/empty_multiline_argument.rb +2 -2
  8. data/lib/cucumber/core/test/filters/locations_filter.rb +1 -1
  9. data/lib/cucumber/core/test/location.rb +7 -0
  10. data/lib/cucumber/core/test/step.rb +4 -0
  11. metadata +21 -86
  12. data/lib/cucumber/core/version.rb +0 -10
  13. data/spec/coverage.rb +0 -12
  14. data/spec/cucumber/core/compiler_spec.rb +0 -241
  15. data/spec/cucumber/core/event_bus_spec.rb +0 -163
  16. data/spec/cucumber/core/event_spec.rb +0 -40
  17. data/spec/cucumber/core/filter_spec.rb +0 -101
  18. data/spec/cucumber/core/gherkin/parser_spec.rb +0 -162
  19. data/spec/cucumber/core/gherkin/writer_spec.rb +0 -332
  20. data/spec/cucumber/core/report/summary_spec.rb +0 -178
  21. data/spec/cucumber/core/test/action_spec.rb +0 -153
  22. data/spec/cucumber/core/test/case_spec.rb +0 -125
  23. data/spec/cucumber/core/test/data_table_spec.rb +0 -79
  24. data/spec/cucumber/core/test/doc_string_spec.rb +0 -111
  25. data/spec/cucumber/core/test/duration_matcher.rb +0 -20
  26. data/spec/cucumber/core/test/empty_multiline_argument_spec.rb +0 -28
  27. data/spec/cucumber/core/test/filters/locations_filter_spec.rb +0 -271
  28. data/spec/cucumber/core/test/location_spec.rb +0 -129
  29. data/spec/cucumber/core/test/result_spec.rb +0 -504
  30. data/spec/cucumber/core/test/runner_spec.rb +0 -320
  31. data/spec/cucumber/core/test/step_spec.rb +0 -88
  32. data/spec/cucumber/core/test/timer_spec.rb +0 -25
  33. data/spec/cucumber/core_spec.rb +0 -262
  34. data/spec/report_api_spy.rb +0 -25
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 60b27377ea97fd56c134f94c5b763c065a1a491b804ccbe6b0def5110a164c29
4
- data.tar.gz: e075c8ffb073c1de897ca63279277788fa1b2ebcbd773ca2cc2f81b66ac534b2
3
+ metadata.gz: 77d6adff3297c714ad2fb6540ab3543055573e60384202a70397cd2107199f70
4
+ data.tar.gz: 8bc40c9d9ce7a710648f18de73b00f4c97d82c66e5736cecf82264a4c2377a46
5
5
  SHA512:
6
- metadata.gz: 8009056404faf8f0ab3731301d108629b929ce48d712fcc59640cd46f98b0a3164795ec818976d0690f39ebb88e658c0f892795c19b3da718a500b1956f6e10c
7
- data.tar.gz: 198e062613c2c2110acf579e5aceb0fecd100c1a76ed2824e06e4468cf1cb87d35c36e76ac9676a04d7ceacfc57f702046b9e71aaab7e0e42cdd0d6939d6229b
6
+ metadata.gz: 0677a26978ed5a6a8688fe06e63cf8f3a5ca5aa71067332331f4682afd6349fd8acdf7b8525b815d276e7113029e10d11f08aa3725b49bd0081828f99a4b0a8f
7
+ data.tar.gz: 0516ef912bd9a1562c8d399aa1b68574a88cbae054b9a83c8bc357e03735f431e4e1bf9e37cc7acf1c31361e356ebb9611c0e98f07b59f5631e719d79ddc6af7
data/CHANGELOG.md CHANGED
@@ -1,365 +1,278 @@
1
- Please see [CONTRIBUTING.md](https://github.com/cucumber/cucumber/blob/master/CONTRIBUTING.md) on how to contribute to Cucumber.
1
+ # Changelog
2
2
 
3
- ## [Unreleased](https://github.com/cucumber/cucumber-ruby-core/compare/v11.0.0...main)
4
-
5
- ### Added
3
+ ## [Unreleased]
6
4
 
5
+ ## [11.1.0] - 2022-12-22
7
6
  ### Changed
8
-
9
- ### Deprecate
10
-
11
- ### Removed
7
+ - Update gherkin and messsages dependencies
12
8
 
13
9
  ### Fixed
10
+ - Restore support for matching a scenario by tag and step line numbers. ([#237](https://github.com/cucumber/cucumber-ruby-core/pull/237), [#238](https://github.com/cucumber/cucumber-ruby-core/pull/238), [#239](https://github.com/cucumber/cucumber-ruby-core/pull/239))
14
11
 
15
- ### Dependencies
16
-
17
- ## [11.0.0](https://github.com/cucumber/cucumber-ruby-core/compare/v10.1.1...v11.0.0)
18
-
19
- ### Dependencies
20
-
21
- * Updated `cucumber-gherkin` and `cucumber-messages`
22
-
23
- ## [10.1.1](https://github.com/cucumber/cucumber-ruby-core/compare/v10.1.0...v10.1.1)
24
-
25
- ### Dependencies
26
-
27
- * Patched `cucumber-tag-expressions`
28
-
29
- ## [10.1.0](https://github.com/cucumber/cucumber-ruby-core/compare/v10.0.1...v10.1.0)
30
-
31
- ### Dependencies
32
-
33
- * Patched `cucumber-gherkin`, `cucumber-messages` and `cucumber-tag-expressions`
34
-
35
- ## [10.0.1](https://github.com/cucumber/cucumber-ruby-core/compare/v10.0.0...v10.0.1)
36
-
37
- ### Dependencies
38
-
39
- * Patched `cucumber-gherkin` and `cucumber-messages`
40
-
41
- ## [10.0.0](https://github.com/cucumber/cucumber-ruby-core/compare/v9.0.1...v10.0.0)
42
-
43
- ### Dependencies
12
+ ## [11.0.0]
13
+ ### Changed
14
+ - Updated `cucumber-gherkin` and `cucumber-messages`
44
15
 
45
- * Upgraded to gherkin v20 and messages v17.
16
+ ## [10.1.1]
17
+ ### Changed
18
+ - Patched `cucumber-tag-expressions`
46
19
 
47
- This removes protocol buffers from the runtime dependencies.
20
+ ## [10.1.0]
21
+ ### Changed
22
+ - Patched `cucumber-gherkin`, `cucumber-messages` and `cucumber-tag-expressions`
48
23
 
49
- This deeply impacts the API as the internal representation of messages has changed from
50
- Protocol Buffer objects to new auto-generated DTOs.
24
+ ## [10.0.1]
25
+ ### Changed
26
+ - Patched `cucumber-gherkin` and `cucumber-messages`
51
27
 
52
- ## [9.0.1](https://github.com/cucumber/cucumber-ruby-core/compare/v9.0.0...v9.0.1)
28
+ ## [10.0.0]
29
+ ### Changed
30
+ - Upgraded to gherkin v20 and messages v17.
53
31
 
32
+ ## [9.0.1]
54
33
  ### Fixed
34
+ - Skipped scenarios do not affect anymore status of flaky scenarios on retry
35
+ ([#218](https://github.com/cucumber/cucumber-ruby-core/pull/218) @eduardrudko)
55
36
 
56
- * Skipped scenarios do not affect anymore status of flaky scenarios on retry
57
- ([#218](https://github.com/cucumber/cucumber-ruby-core/pull/218) @eduardrudko)
58
-
59
- ## [9.0.0](https://github.com/cucumber/cucumber-ruby-core/compare/v8.0.1...v9.0.0)
60
-
61
- ### Dependencies
62
-
63
- * Upgraded to gherkin v18 and messages v15
64
- * Updated other dependencies (look at the diff for details)
65
-
66
- ## [8.0.1](https://github.com/cucumber/cucumber-ruby-core/compare/v8.0.0...v8.0.1)
37
+ ## [9.0.0]
38
+ ### Changed
39
+ - Upgraded to gherkin v18 and messages v15
40
+ - Updated other dependencies (look at the diff for details)
67
41
 
42
+ ## [8.0.1]
68
43
  ### Fixed
44
+ - Make releases from docker using secrets from keybase
69
45
 
70
- * Make releases from docker using secrets from keybase
71
-
72
- ## [8.0.0](https://github.com/cucumber/cucumber-ruby-core/compare/v7.1.0...v8.0.0)
73
-
74
- This release failed
75
-
76
- ### Dependencies
77
-
78
- * Updated dependencies (look at the diff for details)
79
-
80
- ## [7.1.0](https://github.com/cucumber/cucumber-ruby-core/compare/v7.0.0...v7.1.0)
81
-
46
+ ## [8.0.0]
82
47
  ### Changed
48
+ - Updated dependencies (look at the diff for details)
83
49
 
84
- * Updated gems:
85
- * `cucumber-gherkin` ~> 14.0.1
86
- * `cucumber-messages` ~> 12.2.0
87
-
88
- ## [7.0.0](https://github.com/cucumber/cucumber-ruby-core/compare/v6.0.0...v7.0.0)
89
-
50
+ ## [7.1.0]
90
51
  ### Changed
52
+ - Updated gems:
53
+ - `cucumber-gherkin` ~> 14.0.1
54
+ - `cucumber-messages` ~> 12.2.0
91
55
 
92
- * Updated monorepo libraries:
56
+ ## [7.0.0]
57
+ ### Changed
58
+ - Updated monorepo libraries:
93
59
  - cucumber-gherkin ~> 13
94
60
  - cucumber-messages ~> 12
95
61
 
96
- ## [6.0.0](https://github.com/cucumber/cucumber-ruby-core/compare/v5.0.2...v6.0.0)
97
-
98
- ### Changed
99
-
100
- * Update to Gherkin 10
101
-
62
+ ## [6.0.0]
102
63
  ### Added
64
+ - Add `envelope` event, which are used when emitting `Cucumber::Messages`
65
+ - Add `TestCaseCreated` and `TestStepCreated` events, emitted when compiling a `Pickle`
66
+ - Add `Id` field to `TestCase` and `TestStep`
67
+ - Added rubocop (with todo file), and removed backports gems
68
+ ([#186](https://github.com/cucumber/cucumber-ruby-core/pull/186),
69
+ [#182](https://github.com/cucumber/cucumber-ruby-core/issues/182)
70
+ [tas50](https://github.com/tas50),
71
+ [luke-hill](https://github.com/luke-hill))
103
72
 
104
- * Add `envelope` event, which are used when emitting `Cucumber::Messages`
105
- * Add `TestCaseCreated` and `TestStepCreated` events, emitted when compiling a `Pickle`
106
- * Add `Id` field to `TestCase` and `TestStep`
107
- * Added rubocop (with todo file), and removed backports gems
108
- ([#186](https://github.com/cucumber/cucumber-ruby-core/pull/186),
109
- [#182](https://github.com/cucumber/cucumber-ruby-core/issues/182)
110
- [tas50](https://github.com/tas50),
111
- [luke-hill](https://github.com/luke-hill))
73
+ ### Changed
74
+ - Update to Gherkin 10
112
75
 
113
76
  ### Removed
77
+ - Remove location for MultiLine arguments
114
78
 
115
- * Remove location for MultiLine arguments
116
-
117
-
118
- ## [5.0.2](https://github.com/cucumber/cucumber-ruby-core/compare/v5.0.1...v5.0.2)
119
-
79
+ ## [5.0.2]
120
80
  ### Changed
81
+ - Update to use Gherkin v8
121
82
 
122
- * Update to use Gherkin v8
123
-
124
- ## [5.0.1](https://github.com/cucumber/cucumber-ruby-core/compare/v5.0.0...v5.0.1)
125
-
83
+ ## [5.0.1]
126
84
  ### Removed
85
+ - Remove support for ruby 2.2 and below. 2.3 or higher is required now.
127
86
 
128
- * Remove support for ruby 2.2 and below. 2.3 or higher is required now.
129
-
130
- ## [5.0.0](https://github.com/cucumber/cucumber-ruby-core/compare/v4.0.0...v5.0.0)
131
-
87
+ ## [5.0.0]
132
88
  ### Changed
89
+ - Update to use Gherkin v7
133
90
 
134
- * Update to use Gherkin v7
135
-
136
- ## [4.0.0](https://github.com/cucumber/cucumber-ruby-core/compare/v3.2.0...v4.0.0)
137
-
91
+ ## [4.0.0]
138
92
  ### Changed
139
-
140
- * Update to use Gherkin v6 ([#158](https://github.com/cucumber/cucumber-ruby-core/pull/158) @brasmusson)
141
- * Let Scenarios with no Steps get the result status Undefined ([#157](https://github.com/cucumber/cucumber-ruby-core/pull/157) @brasmusson)
142
- * Convert to use the Gherkin compiler and Pickles ([#156](https://github.com/cucumber/cucumber-ruby-core/pull/156) @brasmusson)
143
-
144
- ### Added
145
-
146
- * N/A
147
-
148
- ### Fixed
149
-
150
- * N/A
93
+ - Update to use Gherkin v6 ([#158](https://github.com/cucumber/cucumber-ruby-core/pull/158) @brasmusson)
94
+ - Let Scenarios with no Steps get the result status Undefined ([#157](https://github.com/cucumber/cucumber-ruby-core/pull/157) @brasmusson)
95
+ - Convert to use the Gherkin compiler and Pickles ([#156](https://github.com/cucumber/cucumber-ruby-core/pull/156) @brasmusson)
151
96
 
152
97
  ### Removed
98
+ - Remove the support for old style tag expressions ([#159](https://github.com/cucumber/cucumber-ruby-core/pull/159) @brasmusson)
153
99
 
154
- * Remove the support for old style tag expressions ([#159](https://github.com/cucumber/cucumber-ruby-core/pull/159) @brasmusson)
155
-
156
- ### Improved
157
-
158
- * N/A
159
-
160
- ## [3.2.1](https://github.com/cucumber/cucumber-ruby-core/compare/v3.2.0...v3.2.1)
161
-
100
+ ## [3.2.1]
162
101
  ### Fixed
102
+ - Switched `gherkin` in Gemspec to use _pessimistic_ versioning. (These two commits aren't merged into `master`, as they already exist in newer commits. This is a 'backported' patch to resolve [#160](https://github.com/cucumber/cucumber-ruby-core/issues/160)).
163
103
 
164
- * Switched `gherkin` in Gemspec to use _pessimistic_ versioning. (These two commits aren't merged into `master`, as they already exist in newer commits. This is a 'backported' patch to resolve [#160](https://github.com/cucumber/cucumber-ruby-core/issues/160)).
165
-
166
- ## [3.2.0](https://github.com/cucumber/cucumber-ruby-core/compare/v3.1.0...v3.2.0)
167
-
104
+ ## [3.2.0]
168
105
  ### Added
169
-
170
- * Add the GherkinSourceParsedEvent ([#155](https://github.com/cucumber/cucumber-ruby-core/pull/155) @brasmusson)
171
- * Add #original_location to Cucumber::Core::Ast::Step and Cucumber::Core::Test::Step ([#150](https://github.com/cucumber/cucumber-ruby-core/pull/150), [#149](https://github.com/cucumber/cucumber-ruby-core/issues/149) @brasmusson)
106
+ - Add the GherkinSourceParsedEvent ([#155](https://github.com/cucumber/cucumber-ruby-core/pull/155) @brasmusson)
107
+ - Add #original_location to Cucumber::Core::Ast::Step and Cucumber::Core::Test::Step ([#150](https://github.com/cucumber/cucumber-ruby-core/pull/150), [#149](https://github.com/cucumber/cucumber-ruby-core/issues/149) @brasmusson)
172
108
 
173
109
  ### Fixed
110
+ - Set message and backtrace for undefined result also when skipping (@brasmusson)
174
111
 
175
- * Set message and backtrace for undefined result also when skipping (@brasmusson)
176
-
177
- ## [3.1.0](https://github.com/cucumber/cucumber-ruby-core/compare/v3.0.0...3.1.0)
178
-
112
+ ## [3.1.0]
179
113
  ### Changed
114
+ - Upgraded to `cucumber-tag_expressions` 1.1.0
115
+ - Upgraded to `gherkin` 5.0.0
180
116
 
181
- * Upgraded to `cucumber-tag_expressions` 1.1.0
182
- * Upgraded to `gherkin` 5.0.0
183
-
184
- ## [3.0.0](https://github.com/cucumber/cucumber-ruby-core/compare/v3.0.0.pre.2...v3.0.0) (2017-09-27)
117
+ ## [3.0.0]
118
+ ### Added
119
+ - Do not create test cases for scenarios with no steps ([#144](https://github.com/cucumber/cucumber-ruby-core/pull/144) @brasmusson)
120
+ - Handle selective strict settings ([#143](https://github.com/cucumber/cucumber-ruby-core/pull/143) @brasmusson)
185
121
 
186
122
  ### Changed
123
+ - Step#name renamed to #text ([#137](https://github.com/cucumber/cucumber-ruby-core/pull/137) [@olleolleolle](https://github.com/olleolleolle))
124
+ - Use past tense in event names (`xStarting` -> `xStarted`) (see [cucumber/cucumber-ruby#1166](https://github.com/cucumber/cucumber-ruby/issues/1166) @brasmusson).
187
125
 
188
- * Step#name renamed to #text ([#137](https://github.com/cucumber/cucumber-ruby-core/pull/137) [@olleolleolle](https://github.com/olleolleolle))
189
- * Use past tense in event names (`xStarting` -> `xStarted`) (see [cucumber/cucumber-ruby#1166](https://github.com/cucumber/cucumber-ruby/issues/1166) @brasmusson).
126
+ ### Fixed
127
+ - Fix DataTable's Location to be aware of all of its lines ([#142](https://github.com/cucumber/cucumber-ruby-core/pull/142) @botandrose)
128
+ - As per [#251](https://github.com/cucumber/cucumber/issues/251): renamed History.md to CHANGELOG.md, added contributing message at beginning, and misc formatting. ([#145](https://github.com/cucumber/cucumber-ruby-core/pull/145) [jaysonesmith](https://github.com/jaysonesmith))
190
129
 
130
+ ## [3.0.0.pre.2]
191
131
  ### Added
192
-
193
- * Do not create test cases for scenarios with no steps ([#144](https://github.com/cucumber/cucumber-ruby-core/pull/144) @brasmusson)
194
- * Handle selective strict settings ([#143](https://github.com/cucumber/cucumber-ruby-core/pull/143) @brasmusson)
132
+ - Add a flaky result type to be used for flaky scenarios ([#141](https://github.com/cucumber/cucumber-ruby-core/pull/141), [cucumber/cucumber-ruby#1044](https://github.com/cucumber/cucumber-ruby/issues/1044) @brasmusson)
133
+ - Make the Summary report able to say if the total result is ok ([#140](https://github.com/cucumber/cucumber-ruby-core/pull/140) @brasmusson)
134
+ - Replay previous events to new subscribers ([#136](https://github.com/cucumber/cucumber-ruby-core/pull/136) @mattwynne)
135
+ - Ruby 2.4.0 compatibility ([#120](https://github.com/cucumber/cucumber-ruby-core/pull/120) @junaruga)
136
+ - Use tag expressions ([#116](https://github.com/cucumber/cucumber-ruby-core/pull/116) @brasmusson)
137
+ - Access example table row data by param name ([#118](https://github.com/cucumber/cucumber-ruby-core/pull/118) @enkessler)
195
138
 
196
139
  ### Fixed
140
+ - Travis: jruby-9.1.10.0 ([#130](https://github.com/cucumber/cucumber-ruby-core/pull/130) @olleolleolle)
141
+ - Travis: jruby-9.1.12.0 ([#133](https://github.com/cucumber/cucumber-ruby-core/pull/132) @olleolleolle)
197
142
 
198
- * Fix DataTable's Location to be aware of all of its lines ([#142](https://github.com/cucumber/cucumber-ruby-core/pull/142) @botandrose)
199
-
200
- ### Improved
201
-
202
- * As per [#251](https://github.com/cucumber/cucumber/issues/251): renamed History.md to CHANGELOG.md, added contributing message at beginning, and misc formatting. ([#145](https://github.com/cucumber/cucumber-ruby-core/pull/145) [jaysonesmith](https://github.com/jaysonesmith))
203
-
204
- ## [3.0.0.pre.2](https://github.com/cucumber/cucumber-ruby-core/compare/v2.0.0...3.0.0.pre.2) (2017-07-26)
205
-
206
- ### New Features
207
-
208
- * Add a flaky result type to be used for flaky scenarios ([#141](https://github.com/cucumber/cucumber-ruby-core/pull/141), [cucumber/cucumber-ruby#1044](https://github.com/cucumber/cucumber-ruby/issues/1044) @brasmusson)
209
- * Make the Summary report able to say if the total result is ok ([#140](https://github.com/cucumber/cucumber-ruby-core/pull/140) @brasmusson)
210
- * Replay previous events to new subscribers ([#136](https://github.com/cucumber/cucumber-ruby-core/pull/136) @mattwynne)
211
- * Ruby 2.4.0 compatibility ([#120](https://github.com/cucumber/cucumber-ruby-core/pull/120) @junaruga)
212
- * Use tag expressions ([#116](https://github.com/cucumber/cucumber-ruby-core/pull/116) @brasmusson)
213
- * Access example table row data by param name ([#118](https://github.com/cucumber/cucumber-ruby-core/pull/118) @enkessler)
214
-
215
- ### Bugfixes
216
-
217
- N/A
218
-
219
- ### Removed Features
220
-
221
- N/A
222
-
223
- ### Refactoring
224
-
225
- * Travis: jruby-9.1.10.0 ([#130](https://github.com/cucumber/cucumber-ruby-core/pull/130) @olleolleolle)
226
- * Travis: jruby-9.1.12.0 ([#133](https://github.com/cucumber/cucumber-ruby-core/pull/132) @olleolleolle)
227
-
228
- ## [2.0.0](https://github.com/cucumber/cucumber-ruby-core/compare/v1.5.0...2.0.0)
229
-
230
- ### New Features
231
-
232
- * Implement equality for test cases ([#111](https://github.com/cucumber/cucumber-ruby-core/pull/111) @mattwynne)
233
- * Implement an event bus (moved from Cucumber-Ruby) ([#106](https://github.com/cucumber/cucumber-ruby-core/pull/106) @mattwynne)
234
- * Use frozen string literals ([#105](https://github.com/cucumber/cucumber-ruby-core/pull/105) @twalpole)
235
-
236
- ### Bugfixes
237
-
238
- * Handle incomplete examples to scenario outlines. ([109](https://github.com/cucumber/cucumber-ruby-core/pull/109) @brasmusson)
239
- * Add with_filtered_backtrace method to unknown result ([107](https://github.com/cucumber/cucumber-ruby-core/pull/107) @danascheider)
240
-
241
- ### Removed Features
242
-
243
- * Remove support for Ruby v1.9.3. ([112](https://github.com/cucumber/cucumber-ruby-core/pull/112) @brasmusson)
244
-
245
- ### Refactoring
246
-
247
- N/A
248
-
249
- ## [1.5.0](https://github.com/cucumber/cucumber-ruby-core/compare/v1.4.0...v1.5.0)
250
-
251
- ### New Features
252
-
253
- * Update to Gherkin v4.0 (@brasmusson)
254
-
255
- ### Bugfixes
256
-
257
- * Use monotonic time ([#103](https://github.com/cucumber/cucumber-ruby-core/pull/103) @mikz)
258
-
259
- ## [1.4.0](https://github.com/cucumber/cucumber-ruby-core/compare/v1.3.1...v1.4.0)
260
-
261
- ### New Features
262
-
263
- * Update to Gherkin v3.2.0 (@brasmusson)
264
-
265
- ### Bugfixes
266
-
267
- ## [1.3.1](https://github.com/cucumber/cucumber-ruby-core/compare/v1.3.0...v1.3.1)
268
-
269
- ### New Features
270
-
271
- ### Bugfixes
272
-
273
- * Speed up location filtering ([#99](https://github.com/cucumber/cucumber-ruby-core/issues/99) @mattwynne @akostadinov @brasmusson)
274
-
275
- ## [1.3.0](https://github.com/cucumber/cucumber-ruby-core/compare/v1.2.0...v1.3.0)
276
-
277
- ### New Features
278
-
279
- * Add factory method to Cucumber::Core::Ast::Location that uses the output from Proc#source_location (@brasmusson)
280
- * Integrate Gherkin3 parser (@brasmusson)
281
-
282
- ### Bugfixes
283
-
284
- * Make sure that `after_test_step` is sent also when a test step is interrupted by (a timeout in) an around hook ([cucumber/cucumber-ruby#909](https://github.com/cucumber/cucumber-ruby/issues/909) @brasmusson)
285
- * Improve the check that a test_step quacks like a Cucumber::Core::Test::Step ([95](https://github.com/cucumber/cucumber-ruby-core/issues/95) @brasmusson)
286
-
287
- ## [1.2.0](https://github.com/cucumber/cucumber-ruby-core/compare/v1.1.3...v1.2.0)
288
-
289
- ### New Features
290
-
291
- * Enable the location of actions to be the step or hook location (@brasmusson)
292
- * Add the comments to the Steps, Examples tables and Examples table rows Ast classes (@brasmusson)
293
- * Expose name, description and examples_rows attributes of `Ast::ExamplesTable` (@mattwynne)
294
- * Add #to_sym to Cucumber::Core::Test::Result classes ([#89](https://github.com/cucumber/cucumber-ruby-core/pull/89) @pdswan)
295
- * Add #ok? to Cucumber::Core::Test::Result classes ([#92](https://github.com/cucumber/cucumber-ruby-core/pull/92) @brasmusson)
296
-
297
- ### Bugfixes
298
-
299
- ## [1.1.3](https://github.com/cucumber/cucumber-ruby-core/compare/v1.1.2...v1.1.3)
300
-
301
- ### New Features
302
-
303
- * Added custom `inspect` methods for AST Nodes (@tooky)
304
-
305
- ## [1.1.2](https://github.com/cucumber/cucumber-ruby-core/compare/v1.1.1...v1.1.2)
306
-
307
- ### New Features
308
-
309
- * Make Test Case names for Scenario Outlines language neutral [83](https://github.com/cucumber/cucumber-ruby-core/pull/83) (@brasmusson)
310
- * Add predicate methods for Multline arguments (@mattwynne)
311
- * Expose `Test::Case#feature` (@mattwynne)
312
- * Fail test case if around hook fails (@mattwynne, @tooky)
313
- * Expose `Test::Case#around_hooks` (@tooky)
314
-
315
- ## [1.1.1](https://github.com/cucumber/cucumber-ruby-core/compare/v1.1.0...v1.1.1)
316
-
317
-
318
- ### New Features
319
-
320
- * Calculate actual keyword for snippets (@brasmusson)
321
-
322
- ### Bugfixes
143
+ ## [2.0.0]
144
+ ### Added
145
+ - Implement equality for test cases ([#111](https://github.com/cucumber/cucumber-ruby-core/pull/111) @mattwynne)
146
+ - Implement an event bus (moved from Cucumber-Ruby) ([#106](https://github.com/cucumber/cucumber-ruby-core/pull/106) @mattwynne)
147
+ - Use frozen string literals ([#105](https://github.com/cucumber/cucumber-ruby-core/pull/105) @twalpole)
323
148
 
324
- * Remove keyword from `Test::Case#name` [82](https://github.com/cucumber/cucumber-ruby-core/pull/82) (@richarda)
149
+ ### Fixed
150
+ - Handle incomplete examples to scenario outlines. ([109](https://github.com/cucumber/cucumber-ruby-core/pull/109) @brasmusson)
151
+ - Add with_filtered_backtrace method to unknown result ([107](https://github.com/cucumber/cucumber-ruby-core/pull/107) @danascheider)
325
152
 
326
- ## [1.1.0](https://github.com/cucumber/cucumber-ruby-core/compare/v1.0.0...v1.1.0)
153
+ ### Removed
154
+ - Remove support for Ruby v1.9.3. ([112](https://github.com/cucumber/cucumber-ruby-core/pull/112) @brasmusson)
327
155
 
328
- ### New features
156
+ ## [1.5.0]
157
+ ### Added
158
+ - Update to Gherkin v4.0 (@brasmusson)
329
159
 
330
- * LocationsFilter now sorts test cases as well as filtering them (@mattwynne)
160
+ ### Fixed
161
+ - Use monotonic time ([#103](https://github.com/cucumber/cucumber-ruby-core/pull/103) @mikz)
331
162
 
332
- ## [1.0.0](https://github.com/cucumber/cucumber-ruby-core/compare/v1.0.0.beta.4...v1.0.0)
163
+ ## [1.4.0]
164
+ ### Added
165
+ - Update to Gherkin v3.2.0 (@brasmusson)
333
166
 
334
- ### Features Removed
167
+ ### Fixed
335
168
 
336
- * Removed the Mapper DSL (@mattwynne, @tooky)
337
- * Removed Cucumber.initializer (@tooky)
169
+ ## [1.3.1]
170
+ ### Added
338
171
 
339
- ### New Features
172
+ ### Fixed
173
+ - Speed up location filtering ([#99](https://github.com/cucumber/cucumber-ruby-core/issues/99) @mattwynne @akostadinov @brasmusson)
340
174
 
341
- * Added dynamic filter class constructor (@mattwynne)
175
+ ## [1.3.0]
176
+ ### Added
177
+ - Add factory method to Cucumber::Core::Ast::Location that uses the output from Proc#source_location (@brasmusson)
178
+ - Integrate Gherkin3 parser (@brasmusson)
342
179
 
343
- ## [1.0.0.beta.4](https://github.com/cucumber/cucumber-ruby-core/compare/v1.0.0.beta.3...v1.0.0.beta.4)
180
+ ### Fixed
181
+ - Make sure that `after_test_step` is sent also when a test step is interrupted by (a timeout in) an around hook ([cucumber/cucumber-ruby#909](https://github.com/cucumber/cucumber-ruby/issues/909) @brasmusson)
182
+ - Improve the check that a test_step quacks like a Cucumber::Core::Test::Step ([95](https://github.com/cucumber/cucumber-ruby-core/issues/95) @brasmusson)
344
183
 
345
- ### New Features
184
+ ## [1.2.0]
185
+ ### Added
186
+ - Enable the location of actions to be the step or hook location (@brasmusson)
187
+ - Add the comments to the Steps, Examples tables and Examples table rows Ast classes (@brasmusson)
188
+ - Expose name, description and examples_rows attributes of `Ast::ExamplesTable` (@mattwynne)
189
+ - Add #to_sym to Cucumber::Core::Test::Result classes ([#89](https://github.com/cucumber/cucumber-ruby-core/pull/89) @pdswan)
190
+ - Add #ok? to Cucumber::Core::Test::Result classes ([#92](https://github.com/cucumber/cucumber-ruby-core/pull/92) @brasmusson)
346
191
 
347
- * Introduce a Duration object (#[71](https://github.com/cucumber/cucumber-ruby-core/pull/71) [@brasmusson](https://github.com/brasmusson))
348
- * BeforeStep hooks (#[70](https://github.com/cucumber/cucumber-ruby-core/pull/70) [@almostwhitehat](https://github.com/almostwhitehat))
349
- * Expose `Test::Case#test_steps` (@mattwynne)
192
+ ### Fixed
350
193
 
351
- ### Bugfixes
194
+ ## [1.1.3]
195
+ ### Added
196
+ - Added custom `inspect` methods for AST Nodes (@tooky)
352
197
 
353
- * Handle empty feature files (#[77](https://github.com/cucumber/cucumber-ruby-core/pull/77), [cucumber/cucumber-ruby#771](https://github.com/cucumber/cucumber-ruby/issues/771) [@brasmusson](https://github.com/brasmusson))
354
- * Run after hooks in reverse order (#[69](https://github.com/cucumber/cucumber-ruby-core/pull/69) [@erran](https://github.com/erran))
198
+ ## [1.1.2]
199
+ ### Added
200
+ - Make Test Case names for Scenario Outlines language neutral [83](https://github.com/cucumber/cucumber-ruby-core/pull/83) (@brasmusson)
201
+ - Add predicate methods for Multline arguments (@mattwynne)
202
+ - Expose `Test::Case#feature` (@mattwynne)
203
+ - Fail test case if around hook fails (@mattwynne, @tooky)
204
+ - Expose `Test::Case#around_hooks` (@tooky)
355
205
 
356
- ## [1.0.0.beta.3](https://github.com/cucumber/cucumber-ruby-core/compare/v1.0.0.beta.2...v1.0.0.beta.3)
206
+ ## [1.1.1]
207
+ ### Added
208
+ - Calculate actual keyword for snippets (@brasmusson)
357
209
 
358
- Changes were not logged.
210
+ ### Fixed
211
+ - Remove keyword from `Test::Case#name` [82](https://github.com/cucumber/cucumber-ruby-core/pull/82) (@richarda)
359
212
 
360
- ## [1.0.0.beta.2](https://github.com/cucumber/cucumber-ruby-core/compare/v1.0.0.beta.1...v1.0.0.beta.2)
213
+ ## [1.1.0]
214
+ ### Added
215
+ - LocationsFilter now sorts test cases as well as filtering them (@mattwynne)
361
216
 
362
- Changes were not logged.
217
+ ## [1.0.0]
218
+ ### Added
219
+ - Added dynamic filter class constructor (@mattwynne)
363
220
 
221
+ ## [1.0.0.beta.4]
222
+ ### Added
223
+ - Introduce a Duration object (#[71](https://github.com/cucumber/cucumber-ruby-core/pull/71) [@brasmusson](https://github.com/brasmusson))
224
+ - BeforeStep hooks (#[70](https://github.com/cucumber/cucumber-ruby-core/pull/70) [@almostwhitehat](https://github.com/almostwhitehat))
225
+ - Expose `Test::Case#test_steps` (@mattwynne)
364
226
 
365
- [Unreleased]: https://github.com/cucumber/cucumber-ruby-core/compare/v10.1.1...main
227
+ ### Fixed
228
+ - Handle empty feature files (#[77](https://github.com/cucumber/cucumber-ruby-core/pull/77), [cucumber/cucumber-ruby#771](https://github.com/cucumber/cucumber-ruby/issues/771) [@brasmusson](https://github.com/brasmusson))
229
+ - Run after hooks in reverse order (#[69](https://github.com/cucumber/cucumber-ruby-core/pull/69) [@erran](https://github.com/erran))
230
+
231
+ ## [1.0.0.beta.3]
232
+
233
+ ## [1.0.0.beta.2]
234
+
235
+ ## [1.0.0.beta.3]
236
+
237
+ ## [1.0.0.beta.2]
238
+
239
+ [Unreleased]: https://github.com/cucumber/cucumber-ruby-core/compare/v10.1.1...main
240
+ [11.1.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v10.1.1...main
241
+ [11.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v10.1.1...v11.0.0
242
+ [10.1.1]: https://github.com/cucumber/cucumber-ruby-core/compare/v10.1.0...v10.1.1
243
+ [10.1.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v10.0.1...v10.1.0
244
+ [10.0.1]: https://github.com/cucumber/cucumber-ruby-core/compare/v10.0.0...v10.0.1
245
+ [10.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v9.0.1...v10.0.0
246
+ [9.0.1]: https://github.com/cucumber/cucumber-ruby-core/compare/v9.0.0...v9.0.1
247
+ [9.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v8.0.1...v9.0.0
248
+ [8.0.1]: https://github.com/cucumber/cucumber-ruby-core/compare/v8.0.0...v8.0.1
249
+ [8.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v7.1.0...v8.0.0
250
+ [7.1.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v7.0.0...v7.1.0
251
+ [7.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v6.0.0...v7.0.0
252
+ [6.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v5.0.2...v6.0.0
253
+ [5.0.2]: https://github.com/cucumber/cucumber-ruby-core/compare/v5.0.1...v5.0.2
254
+ [5.0.1]: https://github.com/cucumber/cucumber-ruby-core/compare/v5.0.0...v5.0.1
255
+ [5.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v4.0.0...v5.0.0
256
+ [4.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v3.2.0...v4.0.0
257
+ [3.2.1]: https://github.com/cucumber/cucumber-ruby-core/compare/v3.2.0...v3.2.1
258
+ [3.2.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v3.1.0...v3.2.0
259
+ [3.1.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v3.0.0...3.1.0
260
+ [3.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v3.0.0.pre.2...v3.0.0
261
+ [3.0.0.pre.2]: https://github.com/cucumber/cucumber-ruby-core/compare/v2.0.0...3.0.0.pre.2
262
+ [2.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.5.0...2.0.0
263
+ [1.5.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.4.0...v1.5.0
264
+ [1.4.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.3.1...v1.4.0
265
+ [1.3.1]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.3.0...v1.3.1
266
+ [1.3.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.2.0...v1.3.0
267
+ [1.2.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.1.3...v1.2.0
268
+ [1.1.3]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.1.2...v1.1.3
269
+ [1.1.2]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.1.1...v1.1.2
270
+ [1.1.1]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.1.0...v1.1.1
271
+ [1.1.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.0.0...v1.1.0
272
+ [1.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.0.0.beta.4...v1.0.0
273
+ [1.0.0.beta.4]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.0.0.beta.3...v1.0.0.beta.4
274
+ [1.0.0.beta.3]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.0.0.beta.2...v1.0.0.beta.3
275
+ [1.0.0.beta.2]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.0.0.beta.1...v1.0.0.beta.2
276
+ [1.0.0.beta.3]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.0.0.beta.2...v1.0.0.beta.3
277
+ [1.0.0.beta.2]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.0.0.beta.1...v1.0.0.beta.2
278
+ ore/compare/v10.1.1...main
data/README.md CHANGED
@@ -10,7 +10,6 @@
10
10
  [![issues](https://oselvar.com/api/badge?label=issues&csvUrl=https%3A%2F%2Fraw.githubusercontent.com%2Fcucumber%2Foselvar-github-metrics%2Fmain%2Fdata%2Fcucumber%2Fcucumber-ruby-core%2Fissues.csv)](https://oselvar.com/github/cucumber/oselvar-github-metrics/main/cucumber/cucumber-ruby-core)
11
11
  [![Test cucumber-core](https://github.com/cucumber/cucumber-ruby-core/actions/workflows/cucumber-ruby-core.yml/badge.svg)](https://github.com/cucumber/cucumber-ruby-core/actions/workflows/cucumber-ruby-core.yml)
12
12
  [![Code Climate](https://codeclimate.com/github/cucumber/cucumber-ruby-core.svg)](https://codeclimate.com/github/cucumber/cucumber-ruby-core)
13
- [![Coverage Status](https://coveralls.io/repos/cucumber/cucumber-ruby-core/badge.svg?branch=main)](https://coveralls.io/r/cucumber/cucumber-ruby-core?branch=main)
14
13
 
15
14
  Cucumber is a tool for running automated tests written in plain language. Because they're
16
15
  written in plain language, they can be read by anyone on your team. Because they can be
@@ -53,10 +53,20 @@ module Cucumber
53
53
 
54
54
  def match_locations?(queried_locations)
55
55
  queried_locations.any? do |queried_location|
56
- queried_location.match? location
56
+ matching_locations.any? do |location|
57
+ queried_location.match? location
58
+ end
57
59
  end
58
60
  end
59
61
 
62
+ def matching_locations
63
+ [
64
+ location,
65
+ tags.map(&:location),
66
+ test_steps.map(&:matching_locations)
67
+ ].flatten
68
+ end
69
+
60
70
  def inspect
61
71
  "#<#{self.class}: #{location}>"
62
72
  end
@@ -80,6 +80,10 @@ module Cucumber
80
80
  self.class.new(new_raw)
81
81
  end
82
82
 
83
+ def lines_count
84
+ raw.count
85
+ end
86
+
83
87
  def ==(other)
84
88
  other.class == self.class && raw == other.raw
85
89
  end
@@ -50,6 +50,10 @@ module Cucumber
50
50
  self
51
51
  end
52
52
 
53
+ def lines_count
54
+ lines.count + 2
55
+ end
56
+
53
57
  def ==(other)
54
58
  if other.respond_to?(:content_type)
55
59
  return false unless content_type == other.content_type
@@ -68,7 +72,6 @@ module Cucumber
68
72
  %{ """>}
69
73
  ].join("\n")
70
74
  end
71
-
72
75
  end
73
76
  end
74
77
  end