cucumber-core 13.0.1 → 13.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -2
- data/README.md +2 -2
- data/lib/cucumber/core/compiler.rb +4 -3
- data/lib/cucumber/core/test/hook_step.rb +19 -0
- data/lib/cucumber/core/test/result.rb +2 -2
- data/lib/cucumber/core/test/step.rb +0 -10
- metadata +8 -20
- data/CONTRIBUTING.md +0 -186
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 316b17fd47e74b8055e37ac53e4296afba193bbef01c33aab2b1b23bab504f33
|
4
|
+
data.tar.gz: ee20eef6a171a3eee2be083bd1e9b3e1f5e480cca6e19eb08bde3d714b52b17e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6ca13a986fc61358b40d294878954952144d6a7555a7bfba029497c4c2b435bb430928207136ab13273895b0300f596c1636cfee085535cff4a8889ad524fe9d
|
7
|
+
data.tar.gz: afdcbcf708ee258ef33bc8dcc776cbf71affd67c9bd9b5b2e31c01337b8512212237c1b24ce7a43849d2ee231abcead619d4b3e4b8274db1f8fd0d91f3ee67f3
|
data/CHANGELOG.md
CHANGED
@@ -10,12 +10,17 @@ Please visit [cucumber/CONTRIBUTING.md](https://github.com/cucumber/cucumber/blo
|
|
10
10
|
|
11
11
|
## [Unreleased]
|
12
12
|
|
13
|
+
## [13.0.2] - 2024-03-21
|
14
|
+
### Changed
|
15
|
+
- Added CI testing for Ruby 3.3
|
16
|
+
- Fixed up a few minor rubocop offenses in the codebase around Array structuring
|
17
|
+
|
13
18
|
## [13.0.1] - 2024-01-31
|
14
19
|
### Changed
|
15
20
|
- Fixed up a few styling / layout cops in the tests
|
16
21
|
|
17
22
|
### Fixed
|
18
|
-
- The `Passed`
|
23
|
+
- The `Cucumber::Core::Test::Result::Passed` class was missing the strict keyword argument handling
|
19
24
|
|
20
25
|
## [13.0.0] - 2023-12-05
|
21
26
|
### Changed
|
@@ -55,7 +60,8 @@ See upgrading notes for [13.0.0.md](upgrading_notes/13.0.0.md#upgrading-to-1300)
|
|
55
60
|
### Changed
|
56
61
|
- Updated `cucumber-gherkin` and `cucumber-messages`
|
57
62
|
|
58
|
-
[Unreleased]: https://github.com/cucumber/cucumber-ruby-core/compare/v13.0.
|
63
|
+
[Unreleased]: https://github.com/cucumber/cucumber-ruby-core/compare/v13.0.2...HEAD
|
64
|
+
[13.0.2]: https://github.com/cucumber/cucumber-ruby-core/compare/v13.0.1...v13.0.2
|
59
65
|
[13.0.1]: https://github.com/cucumber/cucumber-ruby-core/compare/v13.0.0...v13.0.1
|
60
66
|
[13.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v12.0.0...v13.0.0
|
61
67
|
[12.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v11.1.0...v12.0.0
|
data/README.md
CHANGED
@@ -50,14 +50,14 @@ or install the gem directly:
|
|
50
50
|
|
51
51
|
### Supported platforms
|
52
52
|
|
53
|
+
- Ruby 3.3
|
53
54
|
- Ruby 3.2
|
54
55
|
- Ruby 3.1
|
55
56
|
- Ruby 3.0
|
56
57
|
- Ruby 2.7
|
57
58
|
- Ruby 2.6
|
58
59
|
- Ruby 2.5
|
59
|
-
-
|
60
|
-
- JRuby 9.2 (with [some limitations](https://github.com/cucumber/cucumber-ruby/blob/main/docs/jruby-limitations.md))
|
60
|
+
- JRuby 9.4 (with [some limitations](https://github.com/cucumber/cucumber-ruby/blob/main/docs/jruby-limitations.md))
|
61
61
|
|
62
62
|
## Usage
|
63
63
|
|
@@ -1,11 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'cucumber/core/test/case'
|
4
|
-
require 'cucumber/core/test/step'
|
5
|
-
require 'cucumber/core/test/tag'
|
6
|
-
require 'cucumber/core/test/doc_string'
|
7
4
|
require 'cucumber/core/test/data_table'
|
5
|
+
require 'cucumber/core/test/doc_string'
|
8
6
|
require 'cucumber/core/test/empty_multiline_argument'
|
7
|
+
require 'cucumber/core/test/hook_step'
|
8
|
+
require 'cucumber/core/test/step'
|
9
|
+
require 'cucumber/core/test/tag'
|
9
10
|
require 'cucumber/messages'
|
10
11
|
|
11
12
|
module Cucumber
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'cucumber/core/test/step'
|
4
|
+
|
5
|
+
module Cucumber
|
6
|
+
module Core
|
7
|
+
module Test
|
8
|
+
class HookStep < Step
|
9
|
+
def initialize(id, text, location, action)
|
10
|
+
super(id, text, location, Test::EmptyMultilineArgument.new, action)
|
11
|
+
end
|
12
|
+
|
13
|
+
def hook?
|
14
|
+
true
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -8,8 +8,8 @@ module Cucumber
|
|
8
8
|
module Core
|
9
9
|
module Test
|
10
10
|
module Result
|
11
|
-
TYPES = [
|
12
|
-
STRICT_AFFECTED_TYPES = [
|
11
|
+
TYPES = %i[failed flaky skipped undefined pending passed unknown].freeze
|
12
|
+
STRICT_AFFECTED_TYPES = %i[flaky undefined pending].freeze
|
13
13
|
|
14
14
|
def self.ok?(type, strict: StrictConfiguration.new)
|
15
15
|
class_name = type.to_s.slice(0, 1).capitalize + type.to_s.slice(1..-1)
|
@@ -59,16 +59,6 @@ module Cucumber
|
|
59
59
|
"#<#{self.class}: #{location}>"
|
60
60
|
end
|
61
61
|
end
|
62
|
-
|
63
|
-
class HookStep < Step
|
64
|
-
def initialize(id, text, location, action)
|
65
|
-
super(id, text, location, Test::EmptyMultilineArgument.new, action)
|
66
|
-
end
|
67
|
-
|
68
|
-
def hook?
|
69
|
-
true
|
70
|
-
end
|
71
|
-
end
|
72
62
|
end
|
73
63
|
end
|
74
64
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cucumber-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 13.0.
|
4
|
+
version: 13.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aslak Hellesøy
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2024-
|
15
|
+
date: 2024-03-21 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: cucumber-gherkin
|
@@ -80,40 +80,28 @@ dependencies:
|
|
80
80
|
requirements:
|
81
81
|
- - "~>"
|
82
82
|
- !ruby/object:Gem::Version
|
83
|
-
version: '13.
|
84
|
-
- - ">="
|
85
|
-
- !ruby/object:Gem::Version
|
86
|
-
version: 13.0.6
|
83
|
+
version: '13.1'
|
87
84
|
type: :development
|
88
85
|
prerelease: false
|
89
86
|
version_requirements: !ruby/object:Gem::Requirement
|
90
87
|
requirements:
|
91
88
|
- - "~>"
|
92
89
|
- !ruby/object:Gem::Version
|
93
|
-
version: '13.
|
94
|
-
- - ">="
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: 13.0.6
|
90
|
+
version: '13.1'
|
97
91
|
- !ruby/object:Gem::Dependency
|
98
92
|
name: rspec
|
99
93
|
requirement: !ruby/object:Gem::Requirement
|
100
94
|
requirements:
|
101
95
|
- - "~>"
|
102
96
|
- !ruby/object:Gem::Version
|
103
|
-
version: '3.
|
104
|
-
- - ">="
|
105
|
-
- !ruby/object:Gem::Version
|
106
|
-
version: 3.11.0
|
97
|
+
version: '3.13'
|
107
98
|
type: :development
|
108
99
|
prerelease: false
|
109
100
|
version_requirements: !ruby/object:Gem::Requirement
|
110
101
|
requirements:
|
111
102
|
- - "~>"
|
112
103
|
- !ruby/object:Gem::Version
|
113
|
-
version: '3.
|
114
|
-
- - ">="
|
115
|
-
- !ruby/object:Gem::Version
|
116
|
-
version: 3.11.0
|
104
|
+
version: '3.13'
|
117
105
|
- !ruby/object:Gem::Dependency
|
118
106
|
name: rubocop
|
119
107
|
requirement: !ruby/object:Gem::Requirement
|
@@ -177,7 +165,6 @@ extensions: []
|
|
177
165
|
extra_rdoc_files: []
|
178
166
|
files:
|
179
167
|
- CHANGELOG.md
|
180
|
-
- CONTRIBUTING.md
|
181
168
|
- LICENSE
|
182
169
|
- README.md
|
183
170
|
- lib/cucumber/core.rb
|
@@ -203,6 +190,7 @@ files:
|
|
203
190
|
- lib/cucumber/core/test/filters/locations_filter.rb
|
204
191
|
- lib/cucumber/core/test/filters/name_filter.rb
|
205
192
|
- lib/cucumber/core/test/filters/tag_filter.rb
|
193
|
+
- lib/cucumber/core/test/hook_step.rb
|
206
194
|
- lib/cucumber/core/test/location.rb
|
207
195
|
- lib/cucumber/core/test/result.rb
|
208
196
|
- lib/cucumber/core/test/runner.rb
|
@@ -237,5 +225,5 @@ requirements: []
|
|
237
225
|
rubygems_version: 3.3.5
|
238
226
|
signing_key:
|
239
227
|
specification_version: 4
|
240
|
-
summary: cucumber-core-13.0.
|
228
|
+
summary: cucumber-core-13.0.2
|
241
229
|
test_files: []
|
data/CONTRIBUTING.md
DELETED
@@ -1,186 +0,0 @@
|
|
1
|
-
# Contributing to Cucumber Ruby Core
|
2
|
-
|
3
|
-
Thank you for considering contributing to Cucumber!
|
4
|
-
|
5
|
-
If you are not sure your contribution is related to `cucumber-ruby-core`, please
|
6
|
-
consider taking a look at [`cucumber-ruby`'s CONTRIBUTING.md](https://github.com/cucumber/cucumber-ruby/blob/main/CONTRIBUTING.md) first.
|
7
|
-
|
8
|
-
## Code of Conduct
|
9
|
-
|
10
|
-
Everyone interacting in this codebase and issue tracker is expected to follow
|
11
|
-
the Cucumber [code of conduct](https://cucumber.io/conduct).
|
12
|
-
|
13
|
-
## How can I contribute?
|
14
|
-
|
15
|
-
If you just want to know how to contribute to the code of `cucumber-ruby-core`,
|
16
|
-
go to [Contribute to the code](#contribute-to-the-code).
|
17
|
-
|
18
|
-
## Report bugs and submit feature requests
|
19
|
-
|
20
|
-
The short version is:
|
21
|
-
|
22
|
-
- Try to check there is not already an issue or pull request that deals with
|
23
|
-
your bug or request
|
24
|
-
- Explain your issue and include as much details as possible to help other
|
25
|
-
people reproduce your problem or understand your request
|
26
|
-
- Consider submitting a pull request if you feel confident enough
|
27
|
-
|
28
|
-
You can find more details for each of these steps in the following sections.
|
29
|
-
|
30
|
-
### Look for existing issues and pull requests
|
31
|
-
|
32
|
-
Search in [the current repository][cucumber-ruby-core-issues], in the
|
33
|
-
[mono-repo][cucumber/common-issues], but also in the
|
34
|
-
[whole cucumber organization][cucumber-issues] if the problem or feature has already
|
35
|
-
been reported. If you find an issue or pull request which is still open, add
|
36
|
-
comments to it instead of opening a new one.
|
37
|
-
|
38
|
-
If you're not sure, don't hesitate to just open a new issue. We can always merge
|
39
|
-
and de-duplicate later.
|
40
|
-
|
41
|
-
### Submitting a pull request
|
42
|
-
|
43
|
-
When submitting a pull request:
|
44
|
-
|
45
|
-
- create a [draft pull request][how-to-create-a-draft-pr]
|
46
|
-
- try to follow the instructions in the [template](.github/PULL_REQUEST_TEMPLATE.md)
|
47
|
-
- if possible, [sign your commits]
|
48
|
-
- update CHANGELOG.md with your changes
|
49
|
-
- once the PR is ready, request for reviews
|
50
|
-
|
51
|
-
More info on [how to contribute to the code](#contribute-to-the-code) can be
|
52
|
-
found below.
|
53
|
-
|
54
|
-
### Opening a new issue
|
55
|
-
|
56
|
-
To open a good issue, be clear and precise.
|
57
|
-
|
58
|
-
If you report a problem, the reader must be able to reproduce it easily.
|
59
|
-
Please do your best to create a [minimal, reproducible example][minimal-reproducible-example].
|
60
|
-
|
61
|
-
Consider submitting a pull request. Even if you think you cannot fix it by
|
62
|
-
yourself, a pull request with a failing test is always welcome.
|
63
|
-
|
64
|
-
If your request is for an enhancement - a new feature - try to be specific and
|
65
|
-
support your request with referenced facts and include examples to illustrate
|
66
|
-
your proposal.
|
67
|
-
|
68
|
-
## Contribute to the code
|
69
|
-
|
70
|
-
### Development environment
|
71
|
-
|
72
|
-
Development environment for `cucumber-ruby-core` is a simple Ruby environment with
|
73
|
-
Bundler. Use a [supported Ruby version](./README.md#supported-platforms), make
|
74
|
-
sure [Bundler] is set-up, and voilà!
|
75
|
-
|
76
|
-
You can then [fork][how-to-fork] and clone the repository. If your environment
|
77
|
-
is set-up properly, the following commands should install the dependencies and
|
78
|
-
execute all the tests successfully.
|
79
|
-
|
80
|
-
```shell
|
81
|
-
bundle install
|
82
|
-
bundle exec rake
|
83
|
-
```
|
84
|
-
|
85
|
-
You can now create a branch for your changes and [submit a pull request](#submitting-a-pull-request)!
|
86
|
-
|
87
|
-
### Working with local cucumber dependencies
|
88
|
-
|
89
|
-
You may need to use local dependencies instead of released gems for `cucumber-gherkin`
|
90
|
-
or `cucumber-messages`. To do so the [`Gemfile`](./Gemfile) for `cucumber-core`
|
91
|
-
allows you to specify a local path for your gems using environment variables:
|
92
|
-
|
93
|
-
CUCUMBER_GHERKIN_RUBY
|
94
|
-
CUCUMBER_MESSAGES_RUBY
|
95
|
-
|
96
|
-
For example, the following would use a local version of `cucumber-gherkin` with
|
97
|
-
the `rake` command:
|
98
|
-
|
99
|
-
```shell
|
100
|
-
CUCUMBER_GHERKIN_RUBY=../common/gherkin/ruby bundle exec rake
|
101
|
-
```
|
102
|
-
|
103
|
-
In the same way, if you want to test your changes to `cucumber-core` with a local
|
104
|
-
`cucumber-ruby`, checkout [`cucumber-ruby`][cucumber-ruby] and do your tests with
|
105
|
-
`CUCUMBER_RUBY_CORE` pointing to your local `cucumber-core`:
|
106
|
-
|
107
|
-
```shell
|
108
|
-
~/cucumber-ruby-core> cd ../cucumber-ruby
|
109
|
-
~/cucumber-ruby> CUCUMBER_RUBY_CORE=../cucumber-ruby-core bundle exec rake
|
110
|
-
```
|
111
|
-
|
112
|
-
### Using a local Gemfile
|
113
|
-
|
114
|
-
A local Gemfile allows you to use your prefer set of gems for your own
|
115
|
-
development workflow, like gems dedicated to debugging. Such gems are not part
|
116
|
-
of `cucumber-ruby` standard `Gemfile`.
|
117
|
-
|
118
|
-
`Gemfile.local`, `Gemfile.local.lock` and `.bundle` have been added to
|
119
|
-
`.gitignore` so local changes cannot be accidentaly commited and pushed to the
|
120
|
-
repository.
|
121
|
-
|
122
|
-
A `Gemfile.local` may look like this:
|
123
|
-
|
124
|
-
```ruby
|
125
|
-
# Gemfile.local
|
126
|
-
|
127
|
-
# Include the regular Gemfile
|
128
|
-
eval File.read('Gemfile')
|
129
|
-
|
130
|
-
# Include your favorites development gems
|
131
|
-
group :development do
|
132
|
-
gem 'byebug'
|
133
|
-
gem 'pry'
|
134
|
-
gem 'pry-byebug'
|
135
|
-
|
136
|
-
gem 'debase', require: false
|
137
|
-
gem 'ruby-debug-ide', require: false
|
138
|
-
end
|
139
|
-
```
|
140
|
-
|
141
|
-
Then you can execute bundler with the `--gemfile` flag:
|
142
|
-
`bundle install --gemfile Gemfile.local`, or with an environment variable:
|
143
|
-
`BUNDLE_GEMFILE=Gemfile.local bundle [COMMAND]`.
|
144
|
-
|
145
|
-
To use your local Gemfile per default, you can also execute
|
146
|
-
`bundle config set --local gemfile Gemfile.local`.
|
147
|
-
|
148
|
-
### First timer? Welcome!
|
149
|
-
|
150
|
-
Looking for something simple to begin with? Look at issues with the label
|
151
|
-
'[good first issue](https://github.com/cucumber/cucumber-ruby-core/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)'.
|
152
|
-
|
153
|
-
### Having trouble getting started with the code? We're here to help!
|
154
|
-
|
155
|
-
If you have trouble setting-up your development environment, or getting started
|
156
|
-
with the code, you can join us on [Slack][community-slack]. You will find there
|
157
|
-
a lot of contributors.
|
158
|
-
|
159
|
-
Full-time maintainers are also available. We would be please to have 1:1 pairing
|
160
|
-
sessions to help you getting started. Look for
|
161
|
-
[Matt Wynne](https://cucumberbdd.slack.com/team/U590XDLF3) or
|
162
|
-
[Aurélien Reeves](https://cucumberbdd.slack.com/team/U011BB95MC7) on
|
163
|
-
[Slack][community-slack].
|
164
|
-
|
165
|
-
### Additional documentation and notice
|
166
|
-
|
167
|
-
You can find additional documentation in the [docs](./docs) directory such as
|
168
|
-
(non-exhaustive list):
|
169
|
-
|
170
|
-
- [How to release cucumber-ruby-core](./docs/RELEASE_PROCESS.md) (for maintainers)
|
171
|
-
- [Overview of cucumber-ruby-core](./docs/ARCHITECTURE.md)
|
172
|
-
|
173
|
-
<!-- Links -->
|
174
|
-
|
175
|
-
[community-slack]: https://cucumberbdd.slack.com/
|
176
|
-
[cucumber/common]: https://github.com/cucumber/common
|
177
|
-
[cucumber-ruby]: https://github.com/cucumber/cucumber-ruby
|
178
|
-
[cucumber-ruby-core]: https://github.com/cucumber/cucumber-ruby-core
|
179
|
-
[cucumber-ruby-core-issues]: https://github.com/cucumber/cucumber-ruby-core/search?q=is%3Aissue
|
180
|
-
[cucumber/common-issues]: https://github.com/cucumber/common/search?q=is%3Aissue
|
181
|
-
[cucumber-issues]: https://github.com/search?q=is%3Aissue+user%3Acucumber
|
182
|
-
[how-to-create-a-draft-pr]: https://docs.github.com/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests#draft-pull-requests
|
183
|
-
[how-to-fork]: https://docs.github.com/github/collaborating-with-pull-requests/working-with-forks/about-forks
|
184
|
-
[sign your commits]: https://docs.github.com/en/github/authenticating-to-github/managing-commit-signature-verification/signing-commits
|
185
|
-
[minimal-reproducible-example]: https://stackoverflow.com/help/minimal-reproducible-example
|
186
|
-
[Bundler]: https://bundler.io/
|