cucumber 11.0.0 → 11.1.1

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 (54) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +15 -6
  3. data/VERSION +1 -1
  4. data/lib/cucumber/cli/main.rb +22 -0
  5. data/lib/cucumber/configuration.rb +4 -0
  6. data/lib/cucumber/events/attach_called.rb +19 -0
  7. data/lib/cucumber/events/base.rb +25 -0
  8. data/lib/cucumber/events/envelope.rb +11 -2
  9. data/lib/cucumber/events/gherkin_source_parsed.rb +12 -3
  10. data/lib/cucumber/events/gherkin_source_read.rb +11 -3
  11. data/lib/cucumber/events/hook_test_step_created.rb +12 -2
  12. data/lib/cucumber/events/step_activated.rb +13 -7
  13. data/lib/cucumber/events/step_definition_registered.rb +12 -4
  14. data/lib/cucumber/events/test_case_created.rb +11 -3
  15. data/lib/cucumber/events/test_case_finished.rb +12 -4
  16. data/lib/cucumber/events/test_case_ready.rb +10 -4
  17. data/lib/cucumber/events/test_case_started.rb +11 -2
  18. data/lib/cucumber/events/test_run_finished.rb +10 -3
  19. data/lib/cucumber/events/test_run_hook_finished.rb +11 -3
  20. data/lib/cucumber/events/test_run_hook_started.rb +10 -1
  21. data/lib/cucumber/events/test_run_started.rb +11 -2
  22. data/lib/cucumber/events/test_step_created.rb +12 -2
  23. data/lib/cucumber/events/test_step_finished.rb +12 -2
  24. data/lib/cucumber/events/test_step_started.rb +11 -2
  25. data/lib/cucumber/events/undefined_parameter_type.rb +11 -3
  26. data/lib/cucumber/events.rb +1 -0
  27. data/lib/cucumber/filters/fire_before_all_hooks.rb +36 -0
  28. data/lib/cucumber/formatter/console.rb +19 -11
  29. data/lib/cucumber/formatter/console_issues.rb +5 -5
  30. data/lib/cucumber/formatter/duration_extractor.rb +0 -2
  31. data/lib/cucumber/formatter/fail_fast.rb +3 -4
  32. data/lib/cucumber/formatter/global_hooks_summary.rb +36 -0
  33. data/lib/cucumber/formatter/html.rb +6 -4
  34. data/lib/cucumber/formatter/json.rb +14 -10
  35. data/lib/cucumber/formatter/junit.rb +4 -6
  36. data/lib/cucumber/formatter/message.rb +5 -6
  37. data/lib/cucumber/formatter/message_builder.rb +213 -205
  38. data/lib/cucumber/formatter/message_handlers.rb +13 -0
  39. data/lib/cucumber/formatter/pretty.rb +7 -9
  40. data/lib/cucumber/formatter/progress.rb +1 -2
  41. data/lib/cucumber/formatter/rerun.rb +12 -5
  42. data/lib/cucumber/formatter/summary.rb +15 -1
  43. data/lib/cucumber/formatter/usage.rb +1 -2
  44. data/lib/cucumber/glue/proto_world.rb +3 -2
  45. data/lib/cucumber/glue/registry_and_more.rb +98 -9
  46. data/lib/cucumber/runtime/user_interface.rb +4 -2
  47. data/lib/cucumber/runtime.rb +38 -17
  48. metadata +11 -15
  49. data/lib/cucumber/formatter/errors.rb +0 -9
  50. data/lib/cucumber/formatter/fanout.rb +0 -28
  51. data/lib/cucumber/formatter/query/hook_by_test_step.rb +0 -34
  52. data/lib/cucumber/formatter/query/pickle_by_test.rb +0 -28
  53. data/lib/cucumber/formatter/query/step_definitions_by_test_step.rb +0 -42
  54. data/lib/cucumber/formatter/query/test_case_started_by_test_case.rb +0 -45
@@ -1,45 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'cucumber/formatter/errors'
4
-
5
- module Cucumber
6
- module Formatter
7
- module Query
8
- class TestCaseStartedByTestCase
9
- def initialize(config)
10
- @config = config
11
- config.on_event :test_case_created, &method(:on_test_case_created)
12
- config.on_event :test_case_started, &method(:on_test_case_started)
13
-
14
- @attempts_by_test_case_id = {}
15
- @test_case_started_id_by_test_case_id = {}
16
- end
17
-
18
- def attempt_by_test_case(test_case)
19
- raise TestCaseUnknownError, "No test case found for #{test_case.id} }. Known: #{@attempts_by_test_case_id.keys}" unless @attempts_by_test_case_id.key?(test_case.id)
20
-
21
- @attempts_by_test_case_id[test_case.id]
22
- end
23
-
24
- def test_case_started_id_by_test_case(test_case)
25
- raise TestCaseUnknownError, "No test case found for #{test_case.id} }. Known: #{@test_case_started_id_by_test_case_id.keys}" unless @test_case_started_id_by_test_case_id.key?(test_case.id)
26
-
27
- @test_case_started_id_by_test_case_id[test_case.id]
28
- end
29
-
30
- private
31
-
32
- def on_test_case_created(event)
33
- @attempts_by_test_case_id[event.test_case.id] = 0
34
- @test_case_started_id_by_test_case_id[event.test_case.id] = nil
35
- end
36
-
37
- def on_test_case_started(event)
38
- # TODO: LH - Apr '26 -> Clarify if this should start with attempt 1 or attempt 0
39
- @attempts_by_test_case_id[event.test_case.id] += 1
40
- @test_case_started_id_by_test_case_id[event.test_case.id] = @config.id_generator.new_id
41
- end
42
- end
43
- end
44
- end
45
- end