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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 570471feb1c7ceb0d00c12ffda878f8520993ec3a8cf31059f38f4eb4e045923
4
- data.tar.gz: 5e303f42a9aecf8290351f657f9aa763d0a046623e6479083c466cd040cfa8c6
3
+ metadata.gz: 9e9dbd2568f293c3a7a88f2e21ab370e26618aa71cf785d6bf40f78be92a0144
4
+ data.tar.gz: 379f363886fcf0b0c6c0631194de61f52650cf87041ee9807230809942e3b81d
5
5
  SHA512:
6
- metadata.gz: def6d99174f68b29d3daa43256175014306168b77f484341d5fb78b3e2446cf539dff514a9fb85eabb65ec9c342507855121bfa87135b848ea16d29ddcc19a4f
7
- data.tar.gz: 8873beb624b2cbc3144e8b46cb3d03709855491cfbeba79b796e5f15bdc6540eaa1ec3c59cc67dd43be4b20815ac4ecfc55885ea1cb8034212f924f06197110c
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 auto-correct cops in the codebase
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/v14.0.0...HEAD
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
- - Slack: [register for an account](https://cucumberbdd-slack-invite.herokuapp.com/) then head over to [#intro](https://cucumberbdd.slack.com/messages/C5WD8SA21/)
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
- test_case = Test::Case.new(id_generator.new_id, pickle.name, test_steps, location, parent_locations, tags, pickle.language)
45
- @event_bus&.test_case_created(test_case, pickle)
46
- test_case
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
- step = Test::Step.new(id_generator.new_id, pickle_step.text, location, multiline_arg)
53
- @event_bus&.test_step_created(step, pickle_step)
54
- step
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)
@@ -19,7 +19,7 @@ module Cucumber
19
19
 
20
20
  define_method(:initialize) do |*attributes|
21
21
  events.zip(attributes) do |name, value|
22
- instance_variable_set("@#{name}".to_sym, value)
22
+ instance_variable_set(:"@#{name}", value)
23
23
  end
24
24
  end
25
25
 
@@ -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}".to_sym, value)
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}".to_sym) }
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
@@ -24,7 +24,7 @@ module Cucumber
24
24
  if file.index(pwd)
25
25
  file = file[pwd.length + 1..]
26
26
  elsif file =~ /.*\/gems\/(.*\.rb)$/
27
- file = $1
27
+ file = Regexp.last_match(1)
28
28
  end
29
29
  new(file, line)
30
30
  end
@@ -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.each do |_key, value|
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 do |t|
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) > 0
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: 14.0.0
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: 2024-08-08 00:00:00.000000000 Z
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: '30'
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: '30'
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: '22'
43
+ version: '26'
44
44
  - - "<"
45
45
  - !ruby/object:Gem::Version
46
- version: '27'
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: '22'
53
+ version: '26'
54
54
  - - "<"
55
55
  - !ruby/object:Gem::Version
56
- version: '27'
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.61.0
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.61.0
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.1
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.1
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
- post_install_message:
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: '2.7'
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.3.5
228
- signing_key:
228
+ rubygems_version: 3.4.20
229
+ signing_key:
229
230
  specification_version: 4
230
- summary: cucumber-core-14.0.0
231
+ summary: cucumber-core-15.1.0
231
232
  test_files: []