cucumber 7.0.0 → 8.0.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.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +329 -170
  3. data/CONTRIBUTING.md +2 -6
  4. data/README.md +7 -5
  5. data/lib/autotest/cucumber_mixin.rb +5 -2
  6. data/lib/autotest/discover.rb +3 -2
  7. data/lib/cucumber/cli/configuration.rb +4 -1
  8. data/lib/cucumber/cli/main.rb +4 -3
  9. data/lib/cucumber/cli/options.rb +8 -2
  10. data/lib/cucumber/cli/profile_loader.rb +1 -5
  11. data/lib/cucumber/cli/rerun_file.rb +1 -1
  12. data/lib/cucumber/configuration.rb +5 -4
  13. data/lib/cucumber/constantize.rb +1 -1
  14. data/lib/cucumber/deprecate.rb +2 -1
  15. data/lib/cucumber/errors.rb +1 -1
  16. data/lib/cucumber/events/hook_test_step_created.rb +1 -2
  17. data/lib/cucumber/events/step_activated.rb +0 -6
  18. data/lib/cucumber/events/step_definition_registered.rb +0 -5
  19. data/lib/cucumber/events/test_case_created.rb +1 -2
  20. data/lib/cucumber/events/test_run_finished.rb +2 -1
  21. data/lib/cucumber/events/test_step_created.rb +1 -2
  22. data/lib/cucumber/events/undefined_parameter_type.rb +1 -2
  23. data/lib/cucumber/events.rb +2 -2
  24. data/lib/cucumber/file_specs.rb +2 -1
  25. data/lib/cucumber/filters/activate_steps.rb +1 -0
  26. data/lib/cucumber/filters/tag_limits/verifier.rb +1 -3
  27. data/lib/cucumber/filters/tag_limits.rb +1 -3
  28. data/lib/cucumber/formatter/ansicolor.rb +63 -63
  29. data/lib/cucumber/formatter/ast_lookup.rb +2 -2
  30. data/lib/cucumber/formatter/backtrace_filter.rb +2 -1
  31. data/lib/cucumber/formatter/console.rb +10 -2
  32. data/lib/cucumber/formatter/console_issues.rb +6 -1
  33. data/lib/cucumber/formatter/duration_extractor.rb +1 -0
  34. data/lib/cucumber/formatter/errors.rb +1 -0
  35. data/lib/cucumber/formatter/fanout.rb +1 -1
  36. data/lib/cucumber/formatter/http_io.rb +6 -1
  37. data/lib/cucumber/formatter/ignore_missing_messages.rb +1 -1
  38. data/lib/cucumber/formatter/io.rb +5 -3
  39. data/lib/cucumber/formatter/json.rb +8 -6
  40. data/lib/cucumber/formatter/junit.rb +6 -3
  41. data/lib/cucumber/formatter/message_builder.rb +3 -2
  42. data/lib/cucumber/formatter/pretty.rb +15 -5
  43. data/lib/cucumber/formatter/progress.rb +1 -0
  44. data/lib/cucumber/formatter/query/hook_by_test_step.rb +1 -0
  45. data/lib/cucumber/formatter/query/test_case_started_by_test_case.rb +2 -0
  46. data/lib/cucumber/formatter/rerun.rb +2 -0
  47. data/lib/cucumber/formatter/summary.rb +1 -0
  48. data/lib/cucumber/formatter/unicode.rb +4 -4
  49. data/lib/cucumber/formatter/usage.rb +3 -3
  50. data/lib/cucumber/gherkin/data_table_parser.rb +1 -0
  51. data/lib/cucumber/gherkin/formatter/ansi_escapes.rb +2 -2
  52. data/lib/cucumber/glue/dsl.rb +29 -15
  53. data/lib/cucumber/glue/hook.rb +6 -3
  54. data/lib/cucumber/glue/invoke_in_world.rb +4 -4
  55. data/lib/cucumber/glue/proto_world.rb +10 -9
  56. data/lib/cucumber/glue/registry_and_more.rb +22 -7
  57. data/lib/cucumber/glue/registry_wrapper.rb +31 -0
  58. data/lib/cucumber/glue/step_definition.rb +6 -3
  59. data/lib/cucumber/hooks.rb +1 -0
  60. data/lib/cucumber/multiline_argument/data_table/diff_matrices.rb +2 -1
  61. data/lib/cucumber/multiline_argument/data_table.rb +58 -71
  62. data/lib/cucumber/platform.rb +2 -2
  63. data/lib/cucumber/rake/task.rb +20 -9
  64. data/lib/cucumber/rspec/disable_option_parser.rb +6 -3
  65. data/lib/cucumber/running_test_case.rb +1 -0
  66. data/lib/cucumber/runtime/meta_message_builder.rb +106 -0
  67. data/lib/cucumber/runtime/support_code.rb +3 -0
  68. data/lib/cucumber/runtime/user_interface.rb +5 -4
  69. data/lib/cucumber/runtime.rb +36 -22
  70. data/lib/cucumber/step_match.rb +5 -3
  71. data/lib/cucumber/step_match_search.rb +3 -2
  72. data/lib/cucumber/term/ansicolor.rb +74 -50
  73. data/lib/cucumber/term/banner.rb +1 -0
  74. data/lib/cucumber/version +1 -1
  75. data/lib/cucumber.rb +2 -1
  76. data/lib/simplecov_setup.rb +1 -1
  77. metadata +96 -88
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.0
4
+ version: 8.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aslak Hellesøy
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2021-07-19 00:00:00.000000000 Z
13
+ date: 2022-05-19 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: builder
@@ -33,245 +33,245 @@ dependencies:
33
33
  - !ruby/object:Gem::Version
34
34
  version: 3.2.4
35
35
  - !ruby/object:Gem::Dependency
36
- name: cucumber-core
36
+ name: cucumber-ci-environment
37
37
  requirement: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: '10.0'
41
+ version: '9.0'
42
42
  - - ">="
43
43
  - !ruby/object:Gem::Version
44
- version: 10.0.1
44
+ version: 9.0.4
45
45
  type: :runtime
46
46
  prerelease: false
47
47
  version_requirements: !ruby/object:Gem::Requirement
48
48
  requirements:
49
49
  - - "~>"
50
50
  - !ruby/object:Gem::Version
51
- version: '10.0'
51
+ version: '9.0'
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: 10.0.1
54
+ version: 9.0.4
55
55
  - !ruby/object:Gem::Dependency
56
- name: cucumber-create-meta
56
+ name: cucumber-core
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '6.0'
61
+ version: '11.0'
62
62
  - - ">="
63
63
  - !ruby/object:Gem::Version
64
- version: 6.0.1
64
+ version: 11.0.0
65
65
  type: :runtime
66
66
  prerelease: false
67
67
  version_requirements: !ruby/object:Gem::Requirement
68
68
  requirements:
69
69
  - - "~>"
70
70
  - !ruby/object:Gem::Version
71
- version: '6.0'
71
+ version: '11.0'
72
72
  - - ">="
73
73
  - !ruby/object:Gem::Version
74
- version: 6.0.1
74
+ version: 11.0.0
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: cucumber-cucumber-expressions
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: '12.1'
81
+ version: '15.1'
82
82
  - - ">="
83
83
  - !ruby/object:Gem::Version
84
- version: 12.1.1
84
+ version: 15.1.1
85
85
  type: :runtime
86
86
  prerelease: false
87
87
  version_requirements: !ruby/object:Gem::Requirement
88
88
  requirements:
89
89
  - - "~>"
90
90
  - !ruby/object:Gem::Version
91
- version: '12.1'
91
+ version: '15.1'
92
92
  - - ">="
93
93
  - !ruby/object:Gem::Version
94
- version: 12.1.1
94
+ version: 15.1.1
95
95
  - !ruby/object:Gem::Dependency
96
96
  name: cucumber-gherkin
97
97
  requirement: !ruby/object:Gem::Requirement
98
98
  requirements:
99
99
  - - "~>"
100
100
  - !ruby/object:Gem::Version
101
- version: '20.0'
101
+ version: '23.0'
102
102
  - - ">="
103
103
  - !ruby/object:Gem::Version
104
- version: 20.0.1
104
+ version: 23.0.1
105
105
  type: :runtime
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
109
  - - "~>"
110
110
  - !ruby/object:Gem::Version
111
- version: '20.0'
111
+ version: '23.0'
112
112
  - - ">="
113
113
  - !ruby/object:Gem::Version
114
- version: 20.0.1
114
+ version: 23.0.1
115
115
  - !ruby/object:Gem::Dependency
116
116
  name: cucumber-html-formatter
117
117
  requirement: !ruby/object:Gem::Requirement
118
118
  requirements:
119
119
  - - "~>"
120
120
  - !ruby/object:Gem::Version
121
- version: '16.0'
121
+ version: '19.1'
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
- version: 16.0.1
124
+ version: 19.1.0
125
125
  type: :runtime
126
126
  prerelease: false
127
127
  version_requirements: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: '16.0'
131
+ version: '19.1'
132
132
  - - ">="
133
133
  - !ruby/object:Gem::Version
134
- version: 16.0.1
134
+ version: 19.1.0
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: cucumber-messages
137
137
  requirement: !ruby/object:Gem::Requirement
138
138
  requirements:
139
139
  - - "~>"
140
140
  - !ruby/object:Gem::Version
141
- version: '17.0'
141
+ version: '18.0'
142
142
  - - ">="
143
143
  - !ruby/object:Gem::Version
144
- version: 17.0.1
144
+ version: 18.0.0
145
145
  type: :runtime
146
146
  prerelease: false
147
147
  version_requirements: !ruby/object:Gem::Requirement
148
148
  requirements:
149
149
  - - "~>"
150
150
  - !ruby/object:Gem::Version
151
- version: '17.0'
151
+ version: '18.0'
152
152
  - - ">="
153
153
  - !ruby/object:Gem::Version
154
- version: 17.0.1
154
+ version: 18.0.0
155
155
  - !ruby/object:Gem::Dependency
156
- name: cucumber-wire
156
+ name: diff-lcs
157
157
  requirement: !ruby/object:Gem::Requirement
158
158
  requirements:
159
159
  - - "~>"
160
160
  - !ruby/object:Gem::Version
161
- version: '6.0'
161
+ version: '1.5'
162
162
  - - ">="
163
163
  - !ruby/object:Gem::Version
164
- version: 6.0.1
164
+ version: 1.5.0
165
165
  type: :runtime
166
166
  prerelease: false
167
167
  version_requirements: !ruby/object:Gem::Requirement
168
168
  requirements:
169
169
  - - "~>"
170
170
  - !ruby/object:Gem::Version
171
- version: '6.0'
171
+ version: '1.5'
172
172
  - - ">="
173
173
  - !ruby/object:Gem::Version
174
- version: 6.0.1
174
+ version: 1.5.0
175
175
  - !ruby/object:Gem::Dependency
176
- name: diff-lcs
176
+ name: mime-types
177
177
  requirement: !ruby/object:Gem::Requirement
178
178
  requirements:
179
179
  - - "~>"
180
180
  - !ruby/object:Gem::Version
181
- version: '1.4'
181
+ version: '3.4'
182
182
  - - ">="
183
183
  - !ruby/object:Gem::Version
184
- version: 1.4.4
184
+ version: 3.4.1
185
185
  type: :runtime
186
186
  prerelease: false
187
187
  version_requirements: !ruby/object:Gem::Requirement
188
188
  requirements:
189
189
  - - "~>"
190
190
  - !ruby/object:Gem::Version
191
- version: '1.4'
191
+ version: '3.4'
192
192
  - - ">="
193
193
  - !ruby/object:Gem::Version
194
- version: 1.4.4
194
+ version: 3.4.1
195
195
  - !ruby/object:Gem::Dependency
196
- name: mime-types
196
+ name: multi_test
197
197
  requirement: !ruby/object:Gem::Requirement
198
198
  requirements:
199
199
  - - "~>"
200
200
  - !ruby/object:Gem::Version
201
- version: '3.3'
201
+ version: '1.1'
202
202
  - - ">="
203
203
  - !ruby/object:Gem::Version
204
- version: 3.3.1
204
+ version: 1.1.0
205
205
  type: :runtime
206
206
  prerelease: false
207
207
  version_requirements: !ruby/object:Gem::Requirement
208
208
  requirements:
209
209
  - - "~>"
210
210
  - !ruby/object:Gem::Version
211
- version: '3.3'
211
+ version: '1.1'
212
212
  - - ">="
213
213
  - !ruby/object:Gem::Version
214
- version: 3.3.1
214
+ version: 1.1.0
215
215
  - !ruby/object:Gem::Dependency
216
- name: multi_test
216
+ name: sys-uname
217
217
  requirement: !ruby/object:Gem::Requirement
218
218
  requirements:
219
219
  - - "~>"
220
220
  - !ruby/object:Gem::Version
221
- version: '0.1'
221
+ version: '1.2'
222
222
  - - ">="
223
223
  - !ruby/object:Gem::Version
224
- version: 0.1.2
224
+ version: 1.2.2
225
225
  type: :runtime
226
226
  prerelease: false
227
227
  version_requirements: !ruby/object:Gem::Requirement
228
228
  requirements:
229
229
  - - "~>"
230
230
  - !ruby/object:Gem::Version
231
- version: '0.1'
231
+ version: '1.2'
232
232
  - - ">="
233
233
  - !ruby/object:Gem::Version
234
- version: 0.1.2
234
+ version: 1.2.2
235
235
  - !ruby/object:Gem::Dependency
236
- name: sys-uname
236
+ name: cucumber-compatibility-kit
237
237
  requirement: !ruby/object:Gem::Requirement
238
238
  requirements:
239
239
  - - "~>"
240
240
  - !ruby/object:Gem::Version
241
- version: '1.2'
241
+ version: '9.2'
242
242
  - - ">="
243
243
  - !ruby/object:Gem::Version
244
- version: 1.2.2
245
- type: :runtime
244
+ version: 9.2.1
245
+ type: :development
246
246
  prerelease: false
247
247
  version_requirements: !ruby/object:Gem::Requirement
248
248
  requirements:
249
249
  - - "~>"
250
250
  - !ruby/object:Gem::Version
251
- version: '1.2'
251
+ version: '9.2'
252
252
  - - ">="
253
253
  - !ruby/object:Gem::Version
254
- version: 1.2.2
254
+ version: 9.2.1
255
255
  - !ruby/object:Gem::Dependency
256
256
  name: nokogiri
257
257
  requirement: !ruby/object:Gem::Requirement
258
258
  requirements:
259
259
  - - "~>"
260
260
  - !ruby/object:Gem::Version
261
- version: '1.11'
261
+ version: '1.13'
262
262
  - - ">="
263
263
  - !ruby/object:Gem::Version
264
- version: 1.11.7
264
+ version: 1.13.6
265
265
  type: :development
266
266
  prerelease: false
267
267
  version_requirements: !ruby/object:Gem::Requirement
268
268
  requirements:
269
269
  - - "~>"
270
270
  - !ruby/object:Gem::Version
271
- version: '1.11'
271
+ version: '1.13'
272
272
  - - ">="
273
273
  - !ruby/object:Gem::Version
274
- version: 1.11.7
274
+ version: 1.13.6
275
275
  - !ruby/object:Gem::Dependency
276
276
  name: pry
277
277
  requirement: !ruby/object:Gem::Requirement
@@ -318,20 +318,20 @@ dependencies:
318
318
  requirements:
319
319
  - - "~>"
320
320
  - !ruby/object:Gem::Version
321
- version: '3.10'
321
+ version: '3.11'
322
322
  - - ">="
323
323
  - !ruby/object:Gem::Version
324
- version: 3.10.0
324
+ version: 3.11.0
325
325
  type: :development
326
326
  prerelease: false
327
327
  version_requirements: !ruby/object:Gem::Requirement
328
328
  requirements:
329
329
  - - "~>"
330
330
  - !ruby/object:Gem::Version
331
- version: '3.10'
331
+ version: '3.11'
332
332
  - - ">="
333
333
  - !ruby/object:Gem::Version
334
- version: 3.10.0
334
+ version: 3.11.0
335
335
  - !ruby/object:Gem::Dependency
336
336
  name: simplecov
337
337
  requirement: !ruby/object:Gem::Requirement
@@ -378,20 +378,20 @@ dependencies:
378
378
  requirements:
379
379
  - - "~>"
380
380
  - !ruby/object:Gem::Version
381
- version: '3.4'
381
+ version: '3.5'
382
382
  - - ">="
383
383
  - !ruby/object:Gem::Version
384
- version: 3.4.4
384
+ version: 3.5.3
385
385
  type: :development
386
386
  prerelease: false
387
387
  version_requirements: !ruby/object:Gem::Requirement
388
388
  requirements:
389
389
  - - "~>"
390
390
  - !ruby/object:Gem::Version
391
- version: '3.4'
391
+ version: '3.5'
392
392
  - - ">="
393
393
  - !ruby/object:Gem::Version
394
- version: 3.4.4
394
+ version: 3.5.3
395
395
  - !ruby/object:Gem::Dependency
396
396
  name: webrick
397
397
  requirement: !ruby/object:Gem::Requirement
@@ -418,80 +418,86 @@ dependencies:
418
418
  requirements:
419
419
  - - "~>"
420
420
  - !ruby/object:Gem::Version
421
- version: '4.21'
421
+ version: '4.22'
422
422
  - - ">="
423
423
  - !ruby/object:Gem::Version
424
- version: 4.21.0
424
+ version: 4.22.0
425
425
  type: :development
426
426
  prerelease: false
427
427
  version_requirements: !ruby/object:Gem::Requirement
428
428
  requirements:
429
429
  - - "~>"
430
430
  - !ruby/object:Gem::Version
431
- version: '4.21'
431
+ version: '4.22'
432
432
  - - ">="
433
433
  - !ruby/object:Gem::Version
434
- version: 4.21.0
434
+ version: 4.22.0
435
435
  - !ruby/object:Gem::Dependency
436
- name: rack-test
436
+ name: capybara
437
437
  requirement: !ruby/object:Gem::Requirement
438
438
  requirements:
439
439
  - - "~>"
440
440
  - !ruby/object:Gem::Version
441
- version: '1.1'
441
+ version: '3.36'
442
442
  - - ">="
443
443
  - !ruby/object:Gem::Version
444
- version: 1.1.0
444
+ version: 3.36.0
445
+ - - "<"
446
+ - !ruby/object:Gem::Version
447
+ version: '3.37'
445
448
  type: :development
446
449
  prerelease: false
447
450
  version_requirements: !ruby/object:Gem::Requirement
448
451
  requirements:
449
452
  - - "~>"
450
453
  - !ruby/object:Gem::Version
451
- version: '1.1'
454
+ version: '3.36'
452
455
  - - ">="
453
456
  - !ruby/object:Gem::Version
454
- version: 1.1.0
457
+ version: 3.36.0
458
+ - - "<"
459
+ - !ruby/object:Gem::Version
460
+ version: '3.37'
455
461
  - !ruby/object:Gem::Dependency
456
- name: sinatra
462
+ name: rack-test
457
463
  requirement: !ruby/object:Gem::Requirement
458
464
  requirements:
459
465
  - - "~>"
460
466
  - !ruby/object:Gem::Version
461
- version: '2.1'
467
+ version: '1.1'
462
468
  - - ">="
463
469
  - !ruby/object:Gem::Version
464
- version: 2.1.0
470
+ version: 1.1.0
465
471
  type: :development
466
472
  prerelease: false
467
473
  version_requirements: !ruby/object:Gem::Requirement
468
474
  requirements:
469
475
  - - "~>"
470
476
  - !ruby/object:Gem::Version
471
- version: '2.1'
477
+ version: '1.1'
472
478
  - - ">="
473
479
  - !ruby/object:Gem::Version
474
- version: 2.1.0
480
+ version: 1.1.0
475
481
  - !ruby/object:Gem::Dependency
476
- name: capybara
482
+ name: sinatra
477
483
  requirement: !ruby/object:Gem::Requirement
478
484
  requirements:
479
485
  - - "~>"
480
486
  - !ruby/object:Gem::Version
481
- version: '3.35'
487
+ version: '2.2'
482
488
  - - ">="
483
489
  - !ruby/object:Gem::Version
484
- version: 3.35.3
490
+ version: 2.2.0
485
491
  type: :development
486
492
  prerelease: false
487
493
  version_requirements: !ruby/object:Gem::Requirement
488
494
  requirements:
489
495
  - - "~>"
490
496
  - !ruby/object:Gem::Version
491
- version: '3.35'
497
+ version: '2.2'
492
498
  - - ">="
493
499
  - !ruby/object:Gem::Version
494
- version: 3.35.3
500
+ version: 2.2.0
495
501
  description: Behaviour Driven Development with elegance and joy
496
502
  email: cukes@googlegroups.com
497
503
  executables:
@@ -602,6 +608,7 @@ files:
602
608
  - lib/cucumber/glue/invoke_in_world.rb
603
609
  - lib/cucumber/glue/proto_world.rb
604
610
  - lib/cucumber/glue/registry_and_more.rb
611
+ - lib/cucumber/glue/registry_wrapper.rb
605
612
  - lib/cucumber/glue/snippet.rb
606
613
  - lib/cucumber/glue/step_definition.rb
607
614
  - lib/cucumber/glue/world_factory.rb
@@ -621,6 +628,7 @@ files:
621
628
  - lib/cucumber/runtime/after_hooks.rb
622
629
  - lib/cucumber/runtime/before_hooks.rb
623
630
  - lib/cucumber/runtime/for_programming_languages.rb
631
+ - lib/cucumber/runtime/meta_message_builder.rb
624
632
  - lib/cucumber/runtime/step_hooks.rb
625
633
  - lib/cucumber/runtime/support_code.rb
626
634
  - lib/cucumber/runtime/user_interface.rb
@@ -651,15 +659,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
651
659
  requirements:
652
660
  - - ">="
653
661
  - !ruby/object:Gem::Version
654
- version: '2.5'
662
+ version: '2.6'
655
663
  required_rubygems_version: !ruby/object:Gem::Requirement
656
664
  requirements:
657
665
  - - ">="
658
666
  - !ruby/object:Gem::Version
659
- version: '0'
667
+ version: 1.6.1
660
668
  requirements: []
661
669
  rubygems_version: 3.1.2
662
670
  signing_key:
663
671
  specification_version: 4
664
- summary: cucumber-7.0.0
672
+ summary: cucumber-8.0.0
665
673
  test_files: []