cucumber-core 16.1.1 → 16.2.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: 1710a14ed278897b31a075938c655efc6614d353ec7ca37102f43460bc454934
4
- data.tar.gz: bd2fd69c1ddef3e4d41bcc3145495a3eb43b3e19645a3daf6f134debcc5e73e0
3
+ metadata.gz: 5192b979fbfa5fa71497c22b8b00f5b5b8ce8ab6cb19336cd30fbb1ba4b0d5c0
4
+ data.tar.gz: b7f2369ab7d140b6f994a4449da3aeaafc40b778ff13bbdfd39cc667dd364348
5
5
  SHA512:
6
- metadata.gz: 6c59caed7891d014027f2d83511961cf768066a66f7f033a05dd1f868cb88fc843c276c3645ecf5af5ac020e048a62c3966277672bc3a356ba1f3ea94d0e76c9
7
- data.tar.gz: 13a00c9ea789204fb36f2a45a71df9073e53f36953e1ef3640cd30c45baae405da85ff583f1d8d77edca34ffd97895bbd1b845cd7a345b7582cc817e2b85c7d6
6
+ metadata.gz: 07370ea41e4c119482539c14e9ddb72892978d099fdf28954e8530b3ff5e012f95843f933ec3d21b7021886f78ae4c63f4dbf900ea7384b90b79515e68af2bb6
7
+ data.tar.gz: 7c16479e598b3217b7bbaef0712c06b75212b66bc9b2b9d2f887a10914cb590f8a288affdc59dc487ee00e7542982e9069147293809f4b2191d620f598df9b21
data/CHANGELOG.md CHANGED
@@ -10,6 +10,11 @@ Please visit [cucumber/CONTRIBUTING.md](https://github.com/cucumber/cucumber/blo
10
10
 
11
11
  ## [Unreleased]
12
12
 
13
+ ## [16.2.0] - 2026-02-06
14
+ ### Changed
15
+ - Added the test result type 'ambiguous'
16
+ ([#311](https://github.com/cucumber/cucumber-ruby-core/pull/311))
17
+
13
18
  ## [16.1.1] - 2025-12-24
14
19
  ### Fixed
15
20
  - Added a fix that prevented the `Duration` class from not being able to calculate duration correctly
@@ -127,7 +132,8 @@ See upgrading notes for [13.0.0.md](upgrading_notes/13.0.0.md#upgrading-to-cucum
127
132
  ### Changed
128
133
  - Updated `cucumber-gherkin` and `cucumber-messages`
129
134
 
130
- [Unreleased]: https://github.com/cucumber/cucumber-ruby-core/compare/v16.1.1...HEAD
135
+ [Unreleased]: https://github.com/cucumber/cucumber-ruby-core/compare/v16.2.0...HEAD
136
+ [16.2.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v16.1.1...v16.2.0
131
137
  [16.1.1]: https://github.com/cucumber/cucumber-ruby-core/compare/v16.1.0...v16.1.1
132
138
  [16.1.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v16.0.0...v16.1.0
133
139
  [16.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v15.4.0...v16.0.0
@@ -7,7 +7,7 @@ module Cucumber
7
7
  module Core
8
8
  module Test
9
9
  module Result
10
- TYPES = %i[failed flaky skipped undefined pending passed unknown].freeze
10
+ TYPES = %i[failed ambiguous flaky skipped undefined pending passed unknown].freeze
11
11
  STRICT_AFFECTED_TYPES = %i[flaky undefined pending].freeze
12
12
 
13
13
  def self.ok?(type, strict: StrictConfiguration.new)
@@ -204,6 +204,31 @@ module Cucumber
204
204
  end
205
205
  end
206
206
 
207
+ class Ambiguous < Raisable
208
+ include Result.query_methods :ambiguous
209
+
210
+ def self.ok?(*)
211
+ false
212
+ end
213
+
214
+ def describe_to(visitor, *)
215
+ visitor.ambiguous(*)
216
+ visitor.duration(duration, *)
217
+ self
218
+ end
219
+
220
+ def to_s
221
+ 'A'
222
+ end
223
+
224
+ def to_message
225
+ Cucumber::Messages::TestStepResult.new(
226
+ status: Cucumber::Messages::TestStepResultStatus::AMBIGUOUS,
227
+ duration: duration.to_message_duration
228
+ )
229
+ end
230
+ end
231
+
207
232
  class Undefined < Raisable
208
233
  include Result.query_methods :undefined
209
234
 
@@ -63,6 +63,11 @@ module Cucumber
63
63
  self
64
64
  end
65
65
 
66
+ def ambiguous(step_result)
67
+ @status = Status::Ambiguous.new(step_result)
68
+ self
69
+ end
70
+
66
71
  def passed(step_result)
67
72
  @status = Status::Passing.new(step_result)
68
73
  self
@@ -144,6 +149,8 @@ module Cucumber
144
149
 
145
150
  Pending = Class.new(Failing)
146
151
 
152
+ Ambiguous = Class.new(Failing)
153
+
147
154
  class Skipping < Failing
148
155
  def result(duration)
149
156
  step_result.with_duration(duration)
@@ -40,6 +40,10 @@ module Cucumber
40
40
  self.class.new(id, text, location, multiline_arg, Test::Action::Defined.new(action_location, &))
41
41
  end
42
42
 
43
+ def with_unskippable_action(action_location = nil, &)
44
+ self.class.new(id, text, location, multiline_arg, Test::Action::Unskippable.new(action_location, &))
45
+ end
46
+
43
47
  def backtrace_line
44
48
  "#{location}:in `#{text}'"
45
49
  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: 16.1.1
4
+ version: 16.2.0
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: 2025-12-24 00:00:00.000000000 Z
15
+ date: 2026-02-06 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: cucumber-gherkin
@@ -247,5 +247,5 @@ requirements: []
247
247
  rubygems_version: 3.4.20
248
248
  signing_key:
249
249
  specification_version: 4
250
- summary: cucumber-core-16.1.1
250
+ summary: cucumber-core-16.2.0
251
251
  test_files: []