cucumber-core 11.0.0 → 12.0.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +212 -290
- data/README.md +3 -3
- data/lib/cucumber/core/event.rb +1 -1
- data/lib/cucumber/core/test/case.rb +11 -1
- data/lib/cucumber/core/test/data_table.rb +4 -0
- data/lib/cucumber/core/test/doc_string.rb +4 -1
- data/lib/cucumber/core/test/empty_multiline_argument.rb +2 -2
- data/lib/cucumber/core/test/filters/locations_filter.rb +1 -1
- data/lib/cucumber/core/test/location.rb +7 -0
- data/lib/cucumber/core/test/step.rb +4 -0
- metadata +55 -98
- data/lib/cucumber/core/version.rb +0 -10
- data/spec/coverage.rb +0 -12
- data/spec/cucumber/core/compiler_spec.rb +0 -241
- data/spec/cucumber/core/event_bus_spec.rb +0 -163
- data/spec/cucumber/core/event_spec.rb +0 -40
- data/spec/cucumber/core/filter_spec.rb +0 -101
- data/spec/cucumber/core/gherkin/parser_spec.rb +0 -162
- data/spec/cucumber/core/gherkin/writer_spec.rb +0 -332
- data/spec/cucumber/core/report/summary_spec.rb +0 -178
- data/spec/cucumber/core/test/action_spec.rb +0 -153
- data/spec/cucumber/core/test/case_spec.rb +0 -125
- data/spec/cucumber/core/test/data_table_spec.rb +0 -79
- data/spec/cucumber/core/test/doc_string_spec.rb +0 -111
- data/spec/cucumber/core/test/duration_matcher.rb +0 -20
- data/spec/cucumber/core/test/empty_multiline_argument_spec.rb +0 -28
- data/spec/cucumber/core/test/filters/locations_filter_spec.rb +0 -271
- data/spec/cucumber/core/test/location_spec.rb +0 -129
- data/spec/cucumber/core/test/result_spec.rb +0 -504
- data/spec/cucumber/core/test/runner_spec.rb +0 -320
- data/spec/cucumber/core/test/step_spec.rb +0 -88
- data/spec/cucumber/core/test/timer_spec.rb +0 -25
- data/spec/cucumber/core_spec.rb +0 -262
- data/spec/report_api_spy.rb +0 -25
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5044df1d888874e71128efa080115becbb8c21a6e0ea79da117119b88390ae99
|
4
|
+
data.tar.gz: a3a96cb3867f71c52f8cd430271f8751a8b819b3d195f027ca8573af4b537c6d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ffab80fbb75922f2580383bdfa3747e1675dc524c945df0c94b5ae6146bd77907526ed81a049ea0a05b68cac5e5267ca0c698cc0b4483acd6e0428feedf4cbf8
|
7
|
+
data.tar.gz: 4ee61046f1f49501db71e4a9d2792a4205c4fcd37da5481dd86cfe7a9be1fc01988a3ed5dc561332538969bd44cfa762d80712a6b4bc5d8594d24a9d24181932
|
data/CHANGELOG.md
CHANGED
@@ -1,365 +1,287 @@
|
|
1
|
-
|
1
|
+
# Changelog
|
2
2
|
|
3
|
-
## [Unreleased]
|
4
|
-
|
5
|
-
### Added
|
3
|
+
## [Unreleased]
|
6
4
|
|
5
|
+
## [12.0.0] - 2023-09-06
|
7
6
|
### Changed
|
8
|
-
|
9
|
-
|
7
|
+
- Update gherkin and messages minimum dependencies
|
8
|
+
- Added in new rubocop sub-gems for testing, pinning versions where appropriate
|
9
|
+
- Removed all redundant / incorrect rubocop config overrides (Placed in TODO file)
|
10
10
|
|
11
11
|
### Removed
|
12
|
+
- Remove support for ruby 2.4 and below. 2.5 or higher is required now
|
12
13
|
|
13
|
-
|
14
|
-
|
15
|
-
|
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
|
44
|
-
|
45
|
-
* Upgraded to gherkin v20 and messages v17.
|
46
|
-
|
47
|
-
This removes protocol buffers from the runtime dependencies.
|
48
|
-
|
49
|
-
This deeply impacts the API as the internal representation of messages has changed from
|
50
|
-
Protocol Buffer objects to new auto-generated DTOs.
|
51
|
-
|
52
|
-
## [9.0.1](https://github.com/cucumber/cucumber-ruby-core/compare/v9.0.0...v9.0.1)
|
14
|
+
## [11.1.0] - 2022-12-22
|
15
|
+
### Changed
|
16
|
+
- Update gherkin and messages dependencies
|
53
17
|
|
54
18
|
### Fixed
|
19
|
+
- 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))
|
55
20
|
|
56
|
-
|
57
|
-
|
21
|
+
## [11.0.0]
|
22
|
+
### Changed
|
23
|
+
- Updated `cucumber-gherkin` and `cucumber-messages`
|
58
24
|
|
59
|
-
## [
|
25
|
+
## [10.1.1]
|
26
|
+
### Changed
|
27
|
+
- Patched `cucumber-tag-expressions`
|
60
28
|
|
61
|
-
|
29
|
+
## [10.1.0]
|
30
|
+
### Changed
|
31
|
+
- Patched `cucumber-gherkin`, `cucumber-messages` and `cucumber-tag-expressions`
|
62
32
|
|
63
|
-
|
64
|
-
|
33
|
+
## [10.0.1]
|
34
|
+
### Changed
|
35
|
+
- Patched `cucumber-gherkin` and `cucumber-messages`
|
65
36
|
|
66
|
-
## [
|
37
|
+
## [10.0.0]
|
38
|
+
### Changed
|
39
|
+
- Upgraded to gherkin v20 and messages v17.
|
67
40
|
|
41
|
+
## [9.0.1]
|
68
42
|
### Fixed
|
43
|
+
- Skipped scenarios do not affect anymore status of flaky scenarios on retry
|
44
|
+
([#218](https://github.com/cucumber/cucumber-ruby-core/pull/218) @eduardrudko)
|
69
45
|
|
70
|
-
|
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
|
+
## [9.0.0]
|
82
47
|
### Changed
|
48
|
+
- Upgraded to gherkin v18 and messages v15
|
49
|
+
- Updated other dependencies (look at the diff for details)
|
83
50
|
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
## [7.0.0](https://github.com/cucumber/cucumber-ruby-core/compare/v6.0.0...v7.0.0)
|
51
|
+
## [8.0.1]
|
52
|
+
### Fixed
|
53
|
+
- Make releases from docker using secrets from keybase
|
89
54
|
|
55
|
+
## [8.0.0]
|
90
56
|
### Changed
|
57
|
+
- Updated dependencies (look at the diff for details)
|
91
58
|
|
92
|
-
|
93
|
-
- cucumber-gherkin ~> 13
|
94
|
-
- cucumber-messages ~> 12
|
95
|
-
|
96
|
-
## [6.0.0](https://github.com/cucumber/cucumber-ruby-core/compare/v5.0.2...v6.0.0)
|
97
|
-
|
59
|
+
## [7.1.0]
|
98
60
|
### Changed
|
61
|
+
- `cucumber-gherkin` ~> 14.0.1
|
62
|
+
- `cucumber-messages` ~> 12.2.0
|
63
|
+
- Updated gems:
|
99
64
|
|
100
|
-
|
65
|
+
## [7.0.0]
|
66
|
+
### Changed
|
67
|
+
- cucumber-gherkin ~> 13
|
68
|
+
- cucumber-messages ~> 12
|
69
|
+
- Updated monorepo libraries:
|
101
70
|
|
71
|
+
## [6.0.0]
|
102
72
|
### Added
|
73
|
+
- Add `envelope` event, which are used when emitting `Cucumber::Messages`
|
74
|
+
- Add `TestCaseCreated` and `TestStepCreated` events, emitted when compiling a `Pickle`
|
75
|
+
- Add `Id` field to `TestCase` and `TestStep`
|
76
|
+
- Added rubocop (with todo file), and removed backports gems
|
77
|
+
([#186](https://github.com/cucumber/cucumber-ruby-core/pull/186),
|
78
|
+
[#182](https://github.com/cucumber/cucumber-ruby-core/issues/182)
|
79
|
+
[tas50](https://github.com/tas50),
|
80
|
+
[luke-hill](https://github.com/luke-hill))
|
103
81
|
|
104
|
-
|
105
|
-
|
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))
|
82
|
+
### Changed
|
83
|
+
- Update to Gherkin 10
|
112
84
|
|
113
85
|
### Removed
|
86
|
+
- Remove location for MultiLine arguments
|
114
87
|
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
## [5.0.2](https://github.com/cucumber/cucumber-ruby-core/compare/v5.0.1...v5.0.2)
|
119
|
-
|
88
|
+
## [5.0.2]
|
120
89
|
### Changed
|
90
|
+
- Update to use Gherkin v8
|
121
91
|
|
122
|
-
|
123
|
-
|
124
|
-
## [5.0.1](https://github.com/cucumber/cucumber-ruby-core/compare/v5.0.0...v5.0.1)
|
125
|
-
|
92
|
+
## [5.0.1]
|
126
93
|
### Removed
|
94
|
+
- Remove support for ruby 2.2 and below. 2.3 or higher is required now.
|
127
95
|
|
128
|
-
|
129
|
-
|
130
|
-
## [5.0.0](https://github.com/cucumber/cucumber-ruby-core/compare/v4.0.0...v5.0.0)
|
131
|
-
|
96
|
+
## [5.0.0]
|
132
97
|
### Changed
|
98
|
+
- Update to use Gherkin v7
|
133
99
|
|
134
|
-
|
135
|
-
|
136
|
-
## [4.0.0](https://github.com/cucumber/cucumber-ruby-core/compare/v3.2.0...v4.0.0)
|
137
|
-
|
100
|
+
## [4.0.0]
|
138
101
|
### Changed
|
139
|
-
|
140
|
-
|
141
|
-
|
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
|
102
|
+
- Update to use Gherkin v6 ([#158](https://github.com/cucumber/cucumber-ruby-core/pull/158) @brasmusson)
|
103
|
+
- Let Scenarios with no Steps get the result status Undefined ([#157](https://github.com/cucumber/cucumber-ruby-core/pull/157) @brasmusson)
|
104
|
+
- Convert to use the Gherkin compiler and Pickles ([#156](https://github.com/cucumber/cucumber-ruby-core/pull/156) @brasmusson)
|
151
105
|
|
152
106
|
### Removed
|
107
|
+
- Remove the support for old style tag expressions ([#159](https://github.com/cucumber/cucumber-ruby-core/pull/159) @brasmusson)
|
153
108
|
|
154
|
-
|
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
|
-
|
109
|
+
## [3.2.1]
|
162
110
|
### Fixed
|
111
|
+
- 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
112
|
|
164
|
-
|
165
|
-
|
166
|
-
## [3.2.0](https://github.com/cucumber/cucumber-ruby-core/compare/v3.1.0...v3.2.0)
|
167
|
-
|
113
|
+
## [3.2.0]
|
168
114
|
### Added
|
169
|
-
|
170
|
-
|
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)
|
115
|
+
- Add the GherkinSourceParsedEvent ([#155](https://github.com/cucumber/cucumber-ruby-core/pull/155) @brasmusson)
|
116
|
+
- 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
117
|
|
173
118
|
### Fixed
|
119
|
+
- Set message and backtrace for undefined result also when skipping (@brasmusson)
|
174
120
|
|
175
|
-
|
176
|
-
|
177
|
-
## [3.1.0](https://github.com/cucumber/cucumber-ruby-core/compare/v3.0.0...3.1.0)
|
178
|
-
|
121
|
+
## [3.1.0]
|
179
122
|
### Changed
|
123
|
+
- Upgraded to `cucumber-tag_expressions` 1.1.0
|
124
|
+
- Upgraded to `gherkin` 5.0.0
|
180
125
|
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
126
|
+
## [3.0.0]
|
127
|
+
### Added
|
128
|
+
- Do not create test cases for scenarios with no steps ([#144](https://github.com/cucumber/cucumber-ruby-core/pull/144) @brasmusson)
|
129
|
+
- Handle selective strict settings ([#143](https://github.com/cucumber/cucumber-ruby-core/pull/143) @brasmusson)
|
185
130
|
|
186
131
|
### Changed
|
132
|
+
- Step#name renamed to #text ([#137](https://github.com/cucumber/cucumber-ruby-core/pull/137) [@olleolleolle](https://github.com/olleolleolle))
|
133
|
+
- Use past tense in event names (`xStarting` -> `xStarted`) (see [cucumber/cucumber-ruby#1166](https://github.com/cucumber/cucumber-ruby/issues/1166) @brasmusson).
|
187
134
|
|
188
|
-
|
189
|
-
|
135
|
+
### Fixed
|
136
|
+
- Fix DataTable's Location to be aware of all of its lines ([#142](https://github.com/cucumber/cucumber-ruby-core/pull/142) @botandrose)
|
137
|
+
- 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
138
|
|
139
|
+
## [3.0.0.pre.2]
|
191
140
|
### Added
|
192
|
-
|
193
|
-
|
194
|
-
|
141
|
+
- 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)
|
142
|
+
- Make the Summary report able to say if the total result is ok ([#140](https://github.com/cucumber/cucumber-ruby-core/pull/140) @brasmusson)
|
143
|
+
- Replay previous events to new subscribers ([#136](https://github.com/cucumber/cucumber-ruby-core/pull/136) @mattwynne)
|
144
|
+
- Ruby 2.4.0 compatibility ([#120](https://github.com/cucumber/cucumber-ruby-core/pull/120) @junaruga)
|
145
|
+
- Use tag expressions ([#116](https://github.com/cucumber/cucumber-ruby-core/pull/116) @brasmusson)
|
146
|
+
- Access example table row data by param name ([#118](https://github.com/cucumber/cucumber-ruby-core/pull/118) @enkessler)
|
195
147
|
|
196
148
|
### Fixed
|
149
|
+
- Travis: jruby-9.1.10.0 ([#130](https://github.com/cucumber/cucumber-ruby-core/pull/130) @olleolleolle)
|
150
|
+
- Travis: jruby-9.1.12.0 ([#133](https://github.com/cucumber/cucumber-ruby-core/pull/132) @olleolleolle)
|
197
151
|
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
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
|
152
|
+
## [2.0.0]
|
153
|
+
### Added
|
154
|
+
- Implement equality for test cases ([#111](https://github.com/cucumber/cucumber-ruby-core/pull/111) @mattwynne)
|
155
|
+
- Implement an event bus (moved from Cucumber-Ruby) ([#106](https://github.com/cucumber/cucumber-ruby-core/pull/106) @mattwynne)
|
156
|
+
- Use frozen string literals ([#105](https://github.com/cucumber/cucumber-ruby-core/pull/105) @twalpole)
|
323
157
|
|
324
|
-
|
158
|
+
### Fixed
|
159
|
+
- Handle incomplete examples to scenario outlines. ([109](https://github.com/cucumber/cucumber-ruby-core/pull/109) @brasmusson)
|
160
|
+
- Add with_filtered_backtrace method to unknown result ([107](https://github.com/cucumber/cucumber-ruby-core/pull/107) @danascheider)
|
325
161
|
|
326
|
-
|
162
|
+
### Removed
|
163
|
+
- Remove support for Ruby v1.9.3. ([112](https://github.com/cucumber/cucumber-ruby-core/pull/112) @brasmusson)
|
327
164
|
|
328
|
-
|
165
|
+
## [1.5.0]
|
166
|
+
### Added
|
167
|
+
- Update to Gherkin v4.0 (@brasmusson)
|
329
168
|
|
330
|
-
|
169
|
+
### Fixed
|
170
|
+
- Use monotonic time ([#103](https://github.com/cucumber/cucumber-ruby-core/pull/103) @mikz)
|
331
171
|
|
332
|
-
## [1.
|
172
|
+
## [1.4.0]
|
173
|
+
### Added
|
174
|
+
- Update to Gherkin v3.2.0 (@brasmusson)
|
333
175
|
|
334
|
-
###
|
176
|
+
### Fixed
|
335
177
|
|
336
|
-
|
337
|
-
|
178
|
+
## [1.3.1]
|
179
|
+
### Added
|
338
180
|
|
339
|
-
###
|
181
|
+
### Fixed
|
182
|
+
- Speed up location filtering ([#99](https://github.com/cucumber/cucumber-ruby-core/issues/99) @mattwynne @akostadinov @brasmusson)
|
340
183
|
|
341
|
-
|
184
|
+
## [1.3.0]
|
185
|
+
### Added
|
186
|
+
- Add factory method to Cucumber::Core::Ast::Location that uses the output from Proc#source_location (@brasmusson)
|
187
|
+
- Integrate Gherkin3 parser (@brasmusson)
|
342
188
|
|
343
|
-
|
189
|
+
### Fixed
|
190
|
+
- 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)
|
191
|
+
- 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
192
|
|
345
|
-
|
193
|
+
## [1.2.0]
|
194
|
+
### Added
|
195
|
+
- Enable the location of actions to be the step or hook location (@brasmusson)
|
196
|
+
- Add the comments to the Steps, Examples tables and Examples table rows Ast classes (@brasmusson)
|
197
|
+
- Expose name, description and examples_rows attributes of `Ast::ExamplesTable` (@mattwynne)
|
198
|
+
- Add #to_sym to Cucumber::Core::Test::Result classes ([#89](https://github.com/cucumber/cucumber-ruby-core/pull/89) @pdswan)
|
199
|
+
- Add #ok? to Cucumber::Core::Test::Result classes ([#92](https://github.com/cucumber/cucumber-ruby-core/pull/92) @brasmusson)
|
346
200
|
|
347
|
-
|
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)
|
201
|
+
### Fixed
|
350
202
|
|
351
|
-
|
203
|
+
## [1.1.3]
|
204
|
+
### Added
|
205
|
+
- Added custom `inspect` methods for AST Nodes (@tooky)
|
352
206
|
|
353
|
-
|
354
|
-
|
207
|
+
## [1.1.2]
|
208
|
+
### Added
|
209
|
+
- Make Test Case names for Scenario Outlines language neutral [83](https://github.com/cucumber/cucumber-ruby-core/pull/83) (@brasmusson)
|
210
|
+
- Add predicate methods for Multline arguments (@mattwynne)
|
211
|
+
- Expose `Test::Case#feature` (@mattwynne)
|
212
|
+
- Fail test case if around hook fails (@mattwynne, @tooky)
|
213
|
+
- Expose `Test::Case#around_hooks` (@tooky)
|
355
214
|
|
356
|
-
## [1.
|
215
|
+
## [1.1.1]
|
216
|
+
### Added
|
217
|
+
- Calculate actual keyword for snippets (@brasmusson)
|
357
218
|
|
358
|
-
|
219
|
+
### Fixed
|
220
|
+
- Remove keyword from `Test::Case#name` [82](https://github.com/cucumber/cucumber-ruby-core/pull/82) (@richarda)
|
359
221
|
|
360
|
-
## [1.
|
222
|
+
## [1.1.0]
|
223
|
+
### Added
|
224
|
+
- LocationsFilter now sorts test cases as well as filtering them (@mattwynne)
|
361
225
|
|
362
|
-
|
226
|
+
## [1.0.0]
|
227
|
+
### Added
|
228
|
+
- Added dynamic filter class constructor (@mattwynne)
|
363
229
|
|
230
|
+
## [1.0.0.beta.4]
|
231
|
+
### Added
|
232
|
+
- Introduce a Duration object (#[71](https://github.com/cucumber/cucumber-ruby-core/pull/71) [@brasmusson](https://github.com/brasmusson))
|
233
|
+
- BeforeStep hooks (#[70](https://github.com/cucumber/cucumber-ruby-core/pull/70) [@almostwhitehat](https://github.com/almostwhitehat))
|
234
|
+
- Expose `Test::Case#test_steps` (@mattwynne)
|
364
235
|
|
365
|
-
|
236
|
+
### Fixed
|
237
|
+
- 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))
|
238
|
+
- Run after hooks in reverse order (#[69](https://github.com/cucumber/cucumber-ruby-core/pull/69) [@erran](https://github.com/erran))
|
239
|
+
|
240
|
+
## [1.0.0.beta.3]
|
241
|
+
|
242
|
+
## [1.0.0.beta.2]
|
243
|
+
|
244
|
+
## [1.0.0.beta.3]
|
245
|
+
|
246
|
+
## [1.0.0.beta.2]
|
247
|
+
|
248
|
+
[Unreleased]: https://github.com/cucumber/cucumber-ruby-core/compare/v10.1.1...main
|
249
|
+
[12.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v10.1.1...main
|
250
|
+
[11.1.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v10.1.1...main
|
251
|
+
[11.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v10.1.1...v11.0.0
|
252
|
+
[10.1.1]: https://github.com/cucumber/cucumber-ruby-core/compare/v10.1.0...v10.1.1
|
253
|
+
[10.1.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v10.0.1...v10.1.0
|
254
|
+
[10.0.1]: https://github.com/cucumber/cucumber-ruby-core/compare/v10.0.0...v10.0.1
|
255
|
+
[10.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v9.0.1...v10.0.0
|
256
|
+
[9.0.1]: https://github.com/cucumber/cucumber-ruby-core/compare/v9.0.0...v9.0.1
|
257
|
+
[9.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v8.0.1...v9.0.0
|
258
|
+
[8.0.1]: https://github.com/cucumber/cucumber-ruby-core/compare/v8.0.0...v8.0.1
|
259
|
+
[8.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v7.1.0...v8.0.0
|
260
|
+
[7.1.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v7.0.0...v7.1.0
|
261
|
+
[7.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v6.0.0...v7.0.0
|
262
|
+
[6.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v5.0.2...v6.0.0
|
263
|
+
[5.0.2]: https://github.com/cucumber/cucumber-ruby-core/compare/v5.0.1...v5.0.2
|
264
|
+
[5.0.1]: https://github.com/cucumber/cucumber-ruby-core/compare/v5.0.0...v5.0.1
|
265
|
+
[5.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v4.0.0...v5.0.0
|
266
|
+
[4.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v3.2.0...v4.0.0
|
267
|
+
[3.2.1]: https://github.com/cucumber/cucumber-ruby-core/compare/v3.2.0...v3.2.1
|
268
|
+
[3.2.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v3.1.0...v3.2.0
|
269
|
+
[3.1.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v3.0.0...3.1.0
|
270
|
+
[3.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v3.0.0.pre.2...v3.0.0
|
271
|
+
[3.0.0.pre.2]: https://github.com/cucumber/cucumber-ruby-core/compare/v2.0.0...3.0.0.pre.2
|
272
|
+
[2.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.5.0...2.0.0
|
273
|
+
[1.5.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.4.0...v1.5.0
|
274
|
+
[1.4.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.3.1...v1.4.0
|
275
|
+
[1.3.1]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.3.0...v1.3.1
|
276
|
+
[1.3.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.2.0...v1.3.0
|
277
|
+
[1.2.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.1.3...v1.2.0
|
278
|
+
[1.1.3]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.1.2...v1.1.3
|
279
|
+
[1.1.2]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.1.1...v1.1.2
|
280
|
+
[1.1.1]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.1.0...v1.1.1
|
281
|
+
[1.1.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.0.0...v1.1.0
|
282
|
+
[1.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.0.0.beta.4...v1.0.0
|
283
|
+
[1.0.0.beta.4]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.0.0.beta.3...v1.0.0.beta.4
|
284
|
+
[1.0.0.beta.3]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.0.0.beta.2...v1.0.0.beta.3
|
285
|
+
[1.0.0.beta.2]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.0.0.beta.1...v1.0.0.beta.2
|
286
|
+
[1.0.0.beta.3]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.0.0.beta.2...v1.0.0.beta.3
|
287
|
+
[1.0.0.beta.2]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.0.0.beta.1...v1.0.0.beta.2
|
data/README.md
CHANGED
@@ -8,9 +8,8 @@
|
|
8
8
|
[](https://opencollective.com/cucumber)
|
9
9
|
[](https://oselvar.com/github/cucumber/oselvar-github-metrics/main/cucumber/cucumber-ruby-core)
|
10
10
|
[](https://oselvar.com/github/cucumber/oselvar-github-metrics/main/cucumber/cucumber-ruby-core)
|
11
|
-
[](https://github.com/cucumber/cucumber-ruby-core/actions/workflows/test.yml)
|
12
12
|
[](https://codeclimate.com/github/cucumber/cucumber-ruby-core)
|
13
|
-
[](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
|
@@ -51,12 +50,13 @@ or install the gem directly:
|
|
51
50
|
|
52
51
|
### Supported platforms
|
53
52
|
|
53
|
+
- Ruby 3.2
|
54
|
+
- Ruby 3.1
|
54
55
|
- Ruby 3.0
|
55
56
|
- Ruby 2.7
|
56
57
|
- Ruby 2.6
|
57
58
|
- Ruby 2.5
|
58
59
|
- Ruby 2.4
|
59
|
-
- Ruby 2.3
|
60
60
|
- JRuby 9.2 (with [some limitations](https://github.com/cucumber/cucumber-ruby/blob/main/docs/jruby-limitations.md))
|
61
61
|
|
62
62
|
## Usage
|
data/lib/cucumber/core/event.rb
CHANGED
@@ -53,10 +53,20 @@ module Cucumber
|
|
53
53
|
|
54
54
|
def match_locations?(queried_locations)
|
55
55
|
queried_locations.any? do |queried_location|
|
56
|
-
|
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
|