cucumber-core 14.0.0 → 15.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 +18 -2
- data/README.md +1 -1
- data/lib/cucumber/core/compiler.rb +7 -7
- data/lib/cucumber/core/event.rb +1 -1
- data/lib/cucumber/core/filter.rb +2 -2
- data/lib/cucumber/core/test/action/defined.rb +4 -4
- data/lib/cucumber/core/test/doc_string.rb +1 -3
- data/lib/cucumber/core/test/location.rb +1 -1
- data/lib/cucumber/core/test/result.rb +8 -14
- metadata +19 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9e9dbd2568f293c3a7a88f2e21ab370e26618aa71cf785d6bf40f78be92a0144
|
4
|
+
data.tar.gz: 379f363886fcf0b0c6c0631194de61f52650cf87041ee9807230809942e3b81d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4d3593e4a6833ff3bf6465242cdda70e02139ea99bee39df69aaae64b277019ca6af05780386604b351a5cdb5a30af20f289e1a4bcba4d64e9cb47044aab8d85
|
7
|
+
data.tar.gz: 96b2b4d420c56e59400bcedf131faa2b3064aed5c4a70717478824576ce29699d3b9ca8e15a0390d74f074eca54cf6cb07da1dd8e4f4012ce5b3d2a370be8541
|
data/CHANGELOG.md
CHANGED
@@ -10,6 +10,20 @@ Please visit [cucumber/CONTRIBUTING.md](https://github.com/cucumber/cucumber/blo
|
|
10
10
|
|
11
11
|
## [Unreleased]
|
12
12
|
|
13
|
+
## [15.1.0] - 2025-02-28
|
14
|
+
### Changed
|
15
|
+
- Permit usage of gherkin up to v30
|
16
|
+
|
17
|
+
## [15.0.0] - 2024-12-24
|
18
|
+
### Changed
|
19
|
+
- Permit usage of messages up to v28
|
20
|
+
|
21
|
+
### Fixed
|
22
|
+
- References to the Time Conversion and UUID helpers needed altering to use the `Helpers` namespace
|
23
|
+
|
24
|
+
### Removed
|
25
|
+
- Remove support for ruby 2.7 and below. 3.0 or higher is required now (Owing to messages bump)
|
26
|
+
|
13
27
|
## [14.0.0] - 2024-08-08
|
14
28
|
### Changed
|
15
29
|
- Permit usage of gherkin up to v29 and messages up to v26
|
@@ -22,7 +36,7 @@ See upgrading notes for [14.0.0.md](upgrading_notes/14.0.0.md#upgrading-to-cucum
|
|
22
36
|
|
23
37
|
## [13.0.3] - 2024-07-24
|
24
38
|
### Changed
|
25
|
-
- Fixed up all remaining Layout
|
39
|
+
- Fixed up all remaining Layout autocorrect cops in the codebase
|
26
40
|
|
27
41
|
## [13.0.2] - 2024-03-21
|
28
42
|
### Changed
|
@@ -74,7 +88,9 @@ See upgrading notes for [13.0.0.md](upgrading_notes/13.0.0.md#upgrading-to-cucum
|
|
74
88
|
### Changed
|
75
89
|
- Updated `cucumber-gherkin` and `cucumber-messages`
|
76
90
|
|
77
|
-
[Unreleased]: https://github.com/cucumber/cucumber-ruby-core/compare/
|
91
|
+
[Unreleased]: https://github.com/cucumber/cucumber-ruby-core/compare/v15.1.0...HEAD
|
92
|
+
[15.1.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v15.0.0...v15.1.0
|
93
|
+
[15.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v14.0.0...v15.0.0
|
78
94
|
[14.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v13.0.3...v14.0.0
|
79
95
|
[13.0.3]: https://github.com/cucumber/cucumber-ruby-core/compare/v13.0.2...v13.0.3
|
80
96
|
[13.0.2]: https://github.com/cucumber/cucumber-ruby-core/compare/v13.0.1...v13.0.2
|
data/README.md
CHANGED
@@ -119,7 +119,7 @@ processing: it should pass ✓
|
|
119
119
|
## Documentation and support
|
120
120
|
|
121
121
|
- Getting started with Cucumber, writing features, step definitions, and more: https://cucumber.io/docs
|
122
|
-
-
|
122
|
+
- Discord ([invite link here](https://cucumber.io/docs/community/get-in-touch/#discord))
|
123
123
|
- `cucumber-core` overview: [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)
|
124
124
|
- How to work with local repositories for `cucumber-gherkin`, `cucumber-messages` or `cucumber-ruby`: [CONTRIBUTING.md#working-with-local-cucumber-dependencies](./CONTRIBUTING.md#working-with-local-cucumber-dependencies)
|
125
125
|
|
@@ -18,7 +18,7 @@ module Cucumber
|
|
18
18
|
|
19
19
|
def initialize(receiver, gherkin_query, event_bus = nil)
|
20
20
|
@receiver = receiver
|
21
|
-
@id_generator = Cucumber::Messages::IdGenerator::UUID.new
|
21
|
+
@id_generator = Cucumber::Messages::Helpers::IdGenerator::UUID.new
|
22
22
|
@gherkin_query = gherkin_query
|
23
23
|
@event_bus = event_bus
|
24
24
|
end
|
@@ -41,17 +41,17 @@ module Cucumber
|
|
41
41
|
location = location_from_pickle(pickle)
|
42
42
|
parent_locations = parent_locations_from_pickle(pickle)
|
43
43
|
tags = tags_from_pickle(pickle, uri)
|
44
|
-
|
45
|
-
|
46
|
-
|
44
|
+
Test::Case.new(id_generator.new_id, pickle.name, test_steps, location, parent_locations, tags, pickle.language).tap do |test_case|
|
45
|
+
@event_bus&.test_case_created(test_case, pickle)
|
46
|
+
end
|
47
47
|
end
|
48
48
|
|
49
49
|
def create_test_step(pickle_step, uri)
|
50
50
|
location = location_from_pickle_step(pickle_step, uri)
|
51
51
|
multiline_arg = create_multiline_arg(pickle_step, uri)
|
52
|
-
|
53
|
-
|
54
|
-
|
52
|
+
Test::Step.new(id_generator.new_id, pickle_step.text, location, multiline_arg).tap do |test_step|
|
53
|
+
@event_bus&.test_step_created(test_step, pickle_step)
|
54
|
+
end
|
55
55
|
end
|
56
56
|
|
57
57
|
def create_multiline_arg(pickle_step, _uri)
|
data/lib/cucumber/core/event.rb
CHANGED
data/lib/cucumber/core/filter.rb
CHANGED
@@ -48,7 +48,7 @@ module Cucumber
|
|
48
48
|
|
49
49
|
define_method(:initialize) do |*args|
|
50
50
|
attributes.zip(args) do |name, value|
|
51
|
-
instance_variable_set("@#{name}"
|
51
|
+
instance_variable_set(:"@#{name}", value)
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
@@ -63,7 +63,7 @@ module Cucumber
|
|
63
63
|
end
|
64
64
|
|
65
65
|
define_method(:with_receiver) do |new_receiver|
|
66
|
-
args = attributes.map { |name| instance_variable_get("@#{name}"
|
66
|
+
args = attributes.map { |name| instance_variable_get(:"@#{name}") }
|
67
67
|
args[-1] = new_receiver
|
68
68
|
self.class.new(*args)
|
69
69
|
end
|
@@ -19,10 +19,6 @@ module Cucumber
|
|
19
19
|
@timer = Timer.new
|
20
20
|
end
|
21
21
|
|
22
|
-
def skip(*)
|
23
|
-
skipped
|
24
|
-
end
|
25
|
-
|
26
22
|
def execute(*args)
|
27
23
|
@timer.start
|
28
24
|
@block.call(*args)
|
@@ -37,6 +33,10 @@ module Cucumber
|
|
37
33
|
"#<#{self.class}: #{location}>"
|
38
34
|
end
|
39
35
|
|
36
|
+
def skip(*)
|
37
|
+
skipped
|
38
|
+
end
|
39
|
+
|
40
40
|
private
|
41
41
|
|
42
42
|
def passed
|
@@ -57,9 +57,7 @@ module Cucumber
|
|
57
57
|
end
|
58
58
|
|
59
59
|
def ==(other)
|
60
|
-
if other.respond_to?(:content_type)
|
61
|
-
return false unless content_type == other.content_type
|
62
|
-
end
|
60
|
+
return false if other.respond_to?(:content_type) && content_type != other.content_type
|
63
61
|
return content == other.to_str if other.respond_to?(:to_str)
|
64
62
|
|
65
63
|
false
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'cucumber/messages'
|
4
|
-
require 'cucumber/messages/time_conversion'
|
4
|
+
require 'cucumber/messages/helpers/time_conversion'
|
5
5
|
|
6
6
|
module Cucumber
|
7
7
|
module Core
|
@@ -17,8 +17,7 @@ module Cucumber
|
|
17
17
|
|
18
18
|
# Defines to_sym on a result class for the given result type
|
19
19
|
#
|
20
|
-
# Defines predicate methods on a result class with only the given one
|
21
|
-
# returning true
|
20
|
+
# Defines predicate methods on a result class with only the given one returning true
|
22
21
|
def self.query_methods(result_type)
|
23
22
|
Module.new do
|
24
23
|
define_method :to_sym do
|
@@ -166,8 +165,7 @@ module Cucumber
|
|
166
165
|
end
|
167
166
|
end
|
168
167
|
|
169
|
-
# Base class for exceptions that can be raised in a step definition causing
|
170
|
-
# the step to have that result.
|
168
|
+
# Base class for exceptions that can be raised in a step definition causing the step to have that result.
|
171
169
|
class Raisable < StandardError
|
172
170
|
attr_reader :message, :duration
|
173
171
|
|
@@ -295,7 +293,7 @@ module Cucumber
|
|
295
293
|
|
296
294
|
def strict?(type = nil)
|
297
295
|
if type.nil?
|
298
|
-
settings.
|
296
|
+
settings.each_value do |value|
|
299
297
|
return true if value == true
|
300
298
|
end
|
301
299
|
false
|
@@ -309,9 +307,7 @@ module Cucumber
|
|
309
307
|
|
310
308
|
def set_strict(setting, type = nil)
|
311
309
|
if type.nil?
|
312
|
-
STRICT_AFFECTED_TYPES.each
|
313
|
-
set_strict(setting, t)
|
314
|
-
end
|
310
|
+
STRICT_AFFECTED_TYPES.each { |type| set_strict(setting, type) }
|
315
311
|
else
|
316
312
|
settings[type] = setting
|
317
313
|
end
|
@@ -361,9 +357,7 @@ module Cucumber
|
|
361
357
|
|
362
358
|
def ok?(strict: StrictConfiguration.new)
|
363
359
|
TYPES.each do |type|
|
364
|
-
if get_total(type)
|
365
|
-
return false unless Result.ok?(type, strict: strict)
|
366
|
-
end
|
360
|
+
return false if get_total(type).positive? && !Result.ok?(type, strict: strict)
|
367
361
|
end
|
368
362
|
true
|
369
363
|
end
|
@@ -404,7 +398,7 @@ module Cucumber
|
|
404
398
|
end
|
405
399
|
|
406
400
|
class Duration
|
407
|
-
include Cucumber::Messages::TimeConversion
|
401
|
+
include Cucumber::Messages::Helpers::TimeConversion
|
408
402
|
|
409
403
|
attr_reader :nanoseconds
|
410
404
|
|
@@ -425,7 +419,7 @@ module Cucumber
|
|
425
419
|
end
|
426
420
|
|
427
421
|
class UnknownDuration
|
428
|
-
include Cucumber::Messages::TimeConversion
|
422
|
+
include Cucumber::Messages::Helpers::TimeConversion
|
429
423
|
|
430
424
|
def tap
|
431
425
|
self
|
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:
|
4
|
+
version: 15.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aslak Hellesøy
|
@@ -9,10 +9,10 @@ authors:
|
|
9
9
|
- Steve Tooke
|
10
10
|
- Oleg Sukhodolsky
|
11
11
|
- Tom Brand
|
12
|
-
autorequire:
|
12
|
+
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date:
|
15
|
+
date: 2025-02-28 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: cucumber-gherkin
|
@@ -23,7 +23,7 @@ dependencies:
|
|
23
23
|
version: '27'
|
24
24
|
- - "<"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '31'
|
27
27
|
type: :runtime
|
28
28
|
prerelease: false
|
29
29
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -33,27 +33,27 @@ dependencies:
|
|
33
33
|
version: '27'
|
34
34
|
- - "<"
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version: '
|
36
|
+
version: '31'
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: cucumber-messages
|
39
39
|
requirement: !ruby/object:Gem::Requirement
|
40
40
|
requirements:
|
41
41
|
- - ">"
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version: '
|
43
|
+
version: '26'
|
44
44
|
- - "<"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: '
|
46
|
+
version: '29'
|
47
47
|
type: :runtime
|
48
48
|
prerelease: false
|
49
49
|
version_requirements: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
51
|
- - ">"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: '
|
53
|
+
version: '26'
|
54
54
|
- - "<"
|
55
55
|
- !ruby/object:Gem::Version
|
56
|
-
version: '
|
56
|
+
version: '29'
|
57
57
|
- !ruby/object:Gem::Dependency
|
58
58
|
name: cucumber-tag-expressions
|
59
59
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,14 +108,14 @@ dependencies:
|
|
108
108
|
requirements:
|
109
109
|
- - "~>"
|
110
110
|
- !ruby/object:Gem::Version
|
111
|
-
version: 1.
|
111
|
+
version: 1.71.0
|
112
112
|
type: :development
|
113
113
|
prerelease: false
|
114
114
|
version_requirements: !ruby/object:Gem::Requirement
|
115
115
|
requirements:
|
116
116
|
- - "~>"
|
117
117
|
- !ruby/object:Gem::Version
|
118
|
-
version: 1.
|
118
|
+
version: 1.71.0
|
119
119
|
- !ruby/object:Gem::Dependency
|
120
120
|
name: rubocop-packaging
|
121
121
|
requirement: !ruby/object:Gem::Requirement
|
@@ -150,14 +150,14 @@ dependencies:
|
|
150
150
|
requirements:
|
151
151
|
- - "~>"
|
152
152
|
- !ruby/object:Gem::Version
|
153
|
-
version: 3.0
|
153
|
+
version: 3.4.0
|
154
154
|
type: :development
|
155
155
|
prerelease: false
|
156
156
|
version_requirements: !ruby/object:Gem::Requirement
|
157
157
|
requirements:
|
158
158
|
- - "~>"
|
159
159
|
- !ruby/object:Gem::Version
|
160
|
-
version: 3.0
|
160
|
+
version: 3.4.0
|
161
161
|
description: Core library for the Cucumber BDD app
|
162
162
|
email: cukes@googlegroups.com
|
163
163
|
executables: []
|
@@ -208,7 +208,8 @@ metadata:
|
|
208
208
|
documentation_uri: https://www.rubydoc.info/github/cucumber/cucumber-ruby-core
|
209
209
|
mailing_list_uri: https://groups.google.com/forum/#!forum/cukes
|
210
210
|
source_code_uri: https://github.com/cucumber/cucumber-ruby-core
|
211
|
-
|
211
|
+
funding_uri: https://opencollective.com/cucumber
|
212
|
+
post_install_message:
|
212
213
|
rdoc_options:
|
213
214
|
- "--charset=UTF-8"
|
214
215
|
require_paths:
|
@@ -217,15 +218,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
217
218
|
requirements:
|
218
219
|
- - ">="
|
219
220
|
- !ruby/object:Gem::Version
|
220
|
-
version: '
|
221
|
+
version: '3.0'
|
221
222
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
222
223
|
requirements:
|
223
224
|
- - ">="
|
224
225
|
- !ruby/object:Gem::Version
|
225
226
|
version: 3.2.8
|
226
227
|
requirements: []
|
227
|
-
rubygems_version: 3.
|
228
|
-
signing_key:
|
228
|
+
rubygems_version: 3.4.20
|
229
|
+
signing_key:
|
229
230
|
specification_version: 4
|
230
|
-
summary: cucumber-core-
|
231
|
+
summary: cucumber-core-15.1.0
|
231
232
|
test_files: []
|