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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +204 -291
- data/README.md +0 -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 +21 -86
- 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: 77d6adff3297c714ad2fb6540ab3543055573e60384202a70397cd2107199f70
|
4
|
+
data.tar.gz: 8bc40c9d9ce7a710648f18de73b00f4c97d82c66e5736cecf82264a4c2377a46
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0677a26978ed5a6a8688fe06e63cf8f3a5ca5aa71067332331f4682afd6349fd8acdf7b8525b815d276e7113029e10d11f08aa3725b49bd0081828f99a4b0a8f
|
7
|
+
data.tar.gz: 0516ef912bd9a1562c8d399aa1b68574a88cbae054b9a83c8bc357e03735f431e4e1bf9e37cc7acf1c31361e356ebb9611c0e98f07b59f5631e719d79ddc6af7
|
data/CHANGELOG.md
CHANGED
@@ -1,365 +1,278 @@
|
|
1
|
-
|
1
|
+
# Changelog
|
2
2
|
|
3
|
-
## [Unreleased]
|
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
|
-
|
16
|
-
|
17
|
-
|
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
|
-
|
16
|
+
## [10.1.1]
|
17
|
+
### Changed
|
18
|
+
- Patched `cucumber-tag-expressions`
|
46
19
|
|
47
|
-
|
20
|
+
## [10.1.0]
|
21
|
+
### Changed
|
22
|
+
- Patched `cucumber-gherkin`, `cucumber-messages` and `cucumber-tag-expressions`
|
48
23
|
|
49
|
-
|
50
|
-
|
24
|
+
## [10.0.1]
|
25
|
+
### Changed
|
26
|
+
- Patched `cucumber-gherkin` and `cucumber-messages`
|
51
27
|
|
52
|
-
## [
|
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
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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]
|
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
|
-
|
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))
|
73
|
+
### Changed
|
74
|
+
- Update to Gherkin 10
|
112
75
|
|
113
76
|
### Removed
|
77
|
+
- Remove location for MultiLine arguments
|
114
78
|
|
115
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
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
|
-
|
189
|
-
|
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
|
-
|
194
|
-
|
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
|
-
|
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
|
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
|
-
|
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
|
-
|
153
|
+
### Removed
|
154
|
+
- Remove support for Ruby v1.9.3. ([112](https://github.com/cucumber/cucumber-ruby-core/pull/112) @brasmusson)
|
327
155
|
|
328
|
-
|
156
|
+
## [1.5.0]
|
157
|
+
### Added
|
158
|
+
- Update to Gherkin v4.0 (@brasmusson)
|
329
159
|
|
330
|
-
|
160
|
+
### Fixed
|
161
|
+
- Use monotonic time ([#103](https://github.com/cucumber/cucumber-ruby-core/pull/103) @mikz)
|
331
162
|
|
332
|
-
## [1.
|
163
|
+
## [1.4.0]
|
164
|
+
### Added
|
165
|
+
- Update to Gherkin v3.2.0 (@brasmusson)
|
333
166
|
|
334
|
-
###
|
167
|
+
### Fixed
|
335
168
|
|
336
|
-
|
337
|
-
|
169
|
+
## [1.3.1]
|
170
|
+
### Added
|
338
171
|
|
339
|
-
###
|
172
|
+
### Fixed
|
173
|
+
- Speed up location filtering ([#99](https://github.com/cucumber/cucumber-ruby-core/issues/99) @mattwynne @akostadinov @brasmusson)
|
340
174
|
|
341
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
194
|
+
## [1.1.3]
|
195
|
+
### Added
|
196
|
+
- Added custom `inspect` methods for AST Nodes (@tooky)
|
352
197
|
|
353
|
-
|
354
|
-
|
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.
|
206
|
+
## [1.1.1]
|
207
|
+
### Added
|
208
|
+
- Calculate actual keyword for snippets (@brasmusson)
|
357
209
|
|
358
|
-
|
210
|
+
### Fixed
|
211
|
+
- Remove keyword from `Test::Case#name` [82](https://github.com/cucumber/cucumber-ruby-core/pull/82) (@richarda)
|
359
212
|
|
360
|
-
## [1.
|
213
|
+
## [1.1.0]
|
214
|
+
### Added
|
215
|
+
- LocationsFilter now sorts test cases as well as filtering them (@mattwynne)
|
361
216
|
|
362
|
-
|
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
|
-
|
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
|
[](https://oselvar.com/github/cucumber/oselvar-github-metrics/main/cucumber/cucumber-ruby-core)
|
11
11
|
[](https://github.com/cucumber/cucumber-ruby-core/actions/workflows/cucumber-ruby-core.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
|
@@ -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
|
@@ -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
|