cucumber-core 13.0.1 → 13.0.2
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 +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/
|