cucumber-compatibility-kit 29.2.2 → 30.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 (52) hide show
  1. checksums.yaml +4 -4
  2. data/features/all-statuses/all-statuses.ndjson +1 -1
  3. data/features/ambiguous/ambiguous.ndjson +1 -1
  4. data/features/attachments/attachments.ndjson +1 -1
  5. data/features/backgrounds/backgrounds.ndjson +1 -1
  6. data/features/cdata/cdata.ndjson +1 -1
  7. data/features/data-tables/data-tables.ndjson +1 -1
  8. data/features/doc-strings/doc-strings.ndjson +1 -1
  9. data/features/empty/empty.ndjson +1 -1
  10. data/features/examples-tables/examples-tables.ndjson +1 -1
  11. data/features/examples-tables-attachment/examples-tables-attachment.ndjson +1 -1
  12. data/features/examples-tables-undefined/examples-tables-undefined.ndjson +6 -6
  13. data/features/examples-tables-undefined-multiple/examples-tables-undefined-multiple.feature +18 -0
  14. data/features/examples-tables-undefined-multiple/examples-tables-undefined-multiple.ndjson +57 -0
  15. data/features/failedish-combinations/failedish-combinations.ndjson +1 -1
  16. data/features/global-hooks/global-hooks.ndjson +1 -1
  17. data/features/global-hooks-afterall-error/global-hooks-afterall-error.ndjson +1 -1
  18. data/features/global-hooks-attachments/global-hooks-attachments.ndjson +1 -1
  19. data/features/global-hooks-beforeall-error/global-hooks-beforeall-error.ndjson +1 -1
  20. data/features/hooks/hooks.ndjson +1 -1
  21. data/features/hooks-attachment/hooks-attachment.ndjson +1 -1
  22. data/features/hooks-conditional/hooks-conditional.ndjson +1 -1
  23. data/features/hooks-named/hooks-named.ndjson +1 -1
  24. data/features/hooks-skipped/hooks-skipped.ndjson +1 -1
  25. data/features/hooks-undefined/hooks-undefined.ndjson +1 -1
  26. data/features/markdown/markdown.ndjson +1 -1
  27. data/features/minimal/minimal.ndjson +1 -1
  28. data/features/multiple-features/multiple-features.ndjson +1 -1
  29. data/features/multiple-features-reversed/multiple-features-reversed.ndjson +1 -1
  30. data/features/parameter-types/parameter-types.ndjson +1 -1
  31. data/features/pending/pending.ndjson +1 -1
  32. data/features/pending-exception/pending-exception.ndjson +1 -1
  33. data/features/regular-expression/regular-expression.ndjson +1 -1
  34. data/features/retry/retry.ndjson +1 -1
  35. data/features/retry-ambiguous/retry-ambiguous.ndjson +1 -1
  36. data/features/retry-pending/retry-pending.ndjson +1 -1
  37. data/features/retry-undefined/retry-undefined.ndjson +1 -1
  38. data/features/rules/rules.ndjson +1 -1
  39. data/features/rules-backgrounds/rules-backgrounds.ndjson +1 -1
  40. data/features/skipped/skipped.ndjson +1 -1
  41. data/features/skipped-exception/skipped-exception.ndjson +1 -1
  42. data/features/skipped-failing-hook/skipped-failing-hook.ndjson +1 -1
  43. data/features/stack-traces/stack-traces.ndjson +1 -1
  44. data/features/test-run-exception/test-run-exception.ndjson +1 -1
  45. data/features/undefined/undefined.ndjson +1 -1
  46. data/features/undefined-multiple/undefined-multiple.feature +42 -0
  47. data/features/undefined-multiple/undefined-multiple.ndjson +93 -0
  48. data/features/unknown-parameter-type/unknown-parameter-type.ndjson +1 -1
  49. data/features/unused-steps/unused-steps.ndjson +1 -1
  50. data/lib/cucumber/compatibility_kit.rb +12 -12
  51. metadata +15 -11
  52. /data/features/examples-tables-undefined/{examples-undefined.feature → examples-tables-undefined.feature} +0 -0
@@ -0,0 +1,93 @@
1
+ {"meta":{"protocolVersion":"33.0.4","implementation":{"name":"fake-cucumber","version":"123.45.6"},"cpu":{"name":"arm64"},"os":{"name":"darwin","version":"24.5.0"},"runtime":{"name":"Node.js","version":"24.4.1"},"ci":{"name":"GitHub Actions","url":"https://github.com/cucumber-ltd/shouty.rb/actions/runs/154666429","buildNumber":"154666429","git":{"revision":"99684bcacf01d95875834d87903dcb072306c9ad","remote":"https://github.com/cucumber-ltd/shouty.rb.git","branch":"main"}}}}
2
+ {"source":{"data":"Feature: Undefined steps\n\n At runtime, Cucumber may encounter many steps in a scenario that it cannot match to a step definition.\n\n In these cases, the scenario is not able to run and so the step status will be UNDEFINED, with\n subsequent steps being SKIPPED and the overall result will be FAILURE.\n\n Scenario: An undefined step causes a failure\n Given a step that is yet to be defined\n\n Scenario: All steps are executed before a single undefined step\n Given an implemented step\n And an implemented step\n And a step that is yet to be defined\n\n Scenario: Multiple undefined steps will all remain as undefined\n Given an implemented step\n And an implemented step\n And a step that is yet to be defined\n And another step that is also yet to be defined\n And a third step that is yet to be defined\n\n Scenario: Multiple defined steps after undefined steps are all skipped\n Given a step that is yet to be defined\n And a step that will be skipped\n And a step that will be skipped\n\n Scenario: Multiple undefined steps after skipped steps will also remain as undefined\n Given a step that is yet to be defined\n And a step that will be skipped\n And a step that will be skipped\n And a step that is yet to be defined\n And another step that is also yet to be defined\n\n Scenario: Multiple missing snippets reflect parameter types\n Given a list of 8 things\n And a list of 3.14 things\n And a list of \"many\" things\n\n Scenario: Multiple undefined steps also cause a failure\n Given a step that is yet to be defined\n And another step that is also yet to be defined\n","uri":"samples/undefined-multiple/undefined-multiple.feature","mediaType":"text/x.cucumber.gherkin+plain"}}
3
+ {"gherkinDocument":{"feature":{"tags":[],"location":{"line":1,"column":1},"language":"en","keyword":"Feature","name":"Undefined steps","description":" At runtime, Cucumber may encounter many steps in a scenario that it cannot match to a step definition.\n\n In these cases, the scenario is not able to run and so the step status will be UNDEFINED, with\n subsequent steps being SKIPPED and the overall result will be FAILURE.","children":[{"scenario":{"id":"1","tags":[],"location":{"line":8,"column":3},"keyword":"Scenario","name":"An undefined step causes a failure","description":"","steps":[{"id":"0","location":{"line":9,"column":5},"keyword":"Given ","keywordType":"Context","text":"a step that is yet to be defined"}],"examples":[]}},{"scenario":{"id":"5","tags":[],"location":{"line":11,"column":3},"keyword":"Scenario","name":"All steps are executed before a single undefined step","description":"","steps":[{"id":"2","location":{"line":12,"column":5},"keyword":"Given ","keywordType":"Context","text":"an implemented step"},{"id":"3","location":{"line":13,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"an implemented step"},{"id":"4","location":{"line":14,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"a step that is yet to be defined"}],"examples":[]}},{"scenario":{"id":"11","tags":[],"location":{"line":16,"column":3},"keyword":"Scenario","name":"Multiple undefined steps will all remain as undefined","description":"","steps":[{"id":"6","location":{"line":17,"column":5},"keyword":"Given ","keywordType":"Context","text":"an implemented step"},{"id":"7","location":{"line":18,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"an implemented step"},{"id":"8","location":{"line":19,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"a step that is yet to be defined"},{"id":"9","location":{"line":20,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"another step that is also yet to be defined"},{"id":"10","location":{"line":21,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"a third step that is yet to be defined"}],"examples":[]}},{"scenario":{"id":"15","tags":[],"location":{"line":23,"column":3},"keyword":"Scenario","name":"Multiple defined steps after undefined steps are all skipped","description":"","steps":[{"id":"12","location":{"line":24,"column":5},"keyword":"Given ","keywordType":"Context","text":"a step that is yet to be defined"},{"id":"13","location":{"line":25,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"a step that will be skipped"},{"id":"14","location":{"line":26,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"a step that will be skipped"}],"examples":[]}},{"scenario":{"id":"21","tags":[],"location":{"line":28,"column":3},"keyword":"Scenario","name":"Multiple undefined steps after skipped steps will also remain as undefined","description":"","steps":[{"id":"16","location":{"line":29,"column":5},"keyword":"Given ","keywordType":"Context","text":"a step that is yet to be defined"},{"id":"17","location":{"line":30,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"a step that will be skipped"},{"id":"18","location":{"line":31,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"a step that will be skipped"},{"id":"19","location":{"line":32,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"a step that is yet to be defined"},{"id":"20","location":{"line":33,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"another step that is also yet to be defined"}],"examples":[]}},{"scenario":{"id":"25","tags":[],"location":{"line":35,"column":3},"keyword":"Scenario","name":"Multiple missing snippets reflect parameter types","description":"","steps":[{"id":"22","location":{"line":36,"column":5},"keyword":"Given ","keywordType":"Context","text":"a list of 8 things"},{"id":"23","location":{"line":37,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"a list of 3.14 things"},{"id":"24","location":{"line":38,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"a list of \"many\" things"}],"examples":[]}},{"scenario":{"id":"28","tags":[],"location":{"line":40,"column":3},"keyword":"Scenario","name":"Multiple undefined steps also cause a failure","description":"","steps":[{"id":"26","location":{"line":41,"column":5},"keyword":"Given ","keywordType":"Context","text":"a step that is yet to be defined"},{"id":"27","location":{"line":42,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"another step that is also yet to be defined"}],"examples":[]}}]},"comments":[],"uri":"samples/undefined-multiple/undefined-multiple.feature"}}
4
+ {"pickle":{"id":"30","uri":"samples/undefined-multiple/undefined-multiple.feature","location":{"line":8,"column":3},"astNodeIds":["1"],"tags":[],"name":"An undefined step causes a failure","language":"en","steps":[{"id":"29","text":"a step that is yet to be defined","type":"Context","astNodeIds":["0"]}]}}
5
+ {"pickle":{"id":"34","uri":"samples/undefined-multiple/undefined-multiple.feature","location":{"line":11,"column":3},"astNodeIds":["5"],"tags":[],"name":"All steps are executed before a single undefined step","language":"en","steps":[{"id":"31","text":"an implemented step","type":"Context","astNodeIds":["2"]},{"id":"32","text":"an implemented step","type":"Context","astNodeIds":["3"]},{"id":"33","text":"a step that is yet to be defined","type":"Context","astNodeIds":["4"]}]}}
6
+ {"pickle":{"id":"40","uri":"samples/undefined-multiple/undefined-multiple.feature","location":{"line":16,"column":3},"astNodeIds":["11"],"tags":[],"name":"Multiple undefined steps will all remain as undefined","language":"en","steps":[{"id":"35","text":"an implemented step","type":"Context","astNodeIds":["6"]},{"id":"36","text":"an implemented step","type":"Context","astNodeIds":["7"]},{"id":"37","text":"a step that is yet to be defined","type":"Context","astNodeIds":["8"]},{"id":"38","text":"another step that is also yet to be defined","type":"Context","astNodeIds":["9"]},{"id":"39","text":"a third step that is yet to be defined","type":"Context","astNodeIds":["10"]}]}}
7
+ {"pickle":{"id":"44","uri":"samples/undefined-multiple/undefined-multiple.feature","location":{"line":23,"column":3},"astNodeIds":["15"],"tags":[],"name":"Multiple defined steps after undefined steps are all skipped","language":"en","steps":[{"id":"41","text":"a step that is yet to be defined","type":"Context","astNodeIds":["12"]},{"id":"42","text":"a step that will be skipped","type":"Context","astNodeIds":["13"]},{"id":"43","text":"a step that will be skipped","type":"Context","astNodeIds":["14"]}]}}
8
+ {"pickle":{"id":"50","uri":"samples/undefined-multiple/undefined-multiple.feature","location":{"line":28,"column":3},"astNodeIds":["21"],"tags":[],"name":"Multiple undefined steps after skipped steps will also remain as undefined","language":"en","steps":[{"id":"45","text":"a step that is yet to be defined","type":"Context","astNodeIds":["16"]},{"id":"46","text":"a step that will be skipped","type":"Context","astNodeIds":["17"]},{"id":"47","text":"a step that will be skipped","type":"Context","astNodeIds":["18"]},{"id":"48","text":"a step that is yet to be defined","type":"Context","astNodeIds":["19"]},{"id":"49","text":"another step that is also yet to be defined","type":"Context","astNodeIds":["20"]}]}}
9
+ {"pickle":{"id":"54","uri":"samples/undefined-multiple/undefined-multiple.feature","location":{"line":35,"column":3},"astNodeIds":["25"],"tags":[],"name":"Multiple missing snippets reflect parameter types","language":"en","steps":[{"id":"51","text":"a list of 8 things","type":"Context","astNodeIds":["22"]},{"id":"52","text":"a list of 3.14 things","type":"Context","astNodeIds":["23"]},{"id":"53","text":"a list of \"many\" things","type":"Context","astNodeIds":["24"]}]}}
10
+ {"pickle":{"id":"57","uri":"samples/undefined-multiple/undefined-multiple.feature","location":{"line":40,"column":3},"astNodeIds":["28"],"tags":[],"name":"Multiple undefined steps also cause a failure","language":"en","steps":[{"id":"55","text":"a step that is yet to be defined","type":"Context","astNodeIds":["26"]},{"id":"56","text":"another step that is also yet to be defined","type":"Context","astNodeIds":["27"]}]}}
11
+ {"stepDefinition":{"id":"58","pattern":{"type":"CUCUMBER_EXPRESSION","source":"an implemented step"},"sourceReference":{"uri":"samples/undefined-multiple/undefined-multiple.ts","location":{"line":3}}}}
12
+ {"stepDefinition":{"id":"59","pattern":{"type":"CUCUMBER_EXPRESSION","source":"a step that will be skipped"},"sourceReference":{"uri":"samples/undefined-multiple/undefined-multiple.ts","location":{"line":7}}}}
13
+ {"testRunStarted":{"id":"60","timestamp":{"seconds":0,"nanos":0}}}
14
+ {"testCase":{"id":"61","pickleId":"30","testSteps":[{"id":"62","pickleStepId":"29","stepDefinitionIds":[],"stepMatchArgumentsLists":[]}],"testRunStartedId":"60"}}
15
+ {"testCase":{"id":"63","pickleId":"34","testSteps":[{"id":"64","pickleStepId":"31","stepDefinitionIds":["58"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"65","pickleStepId":"32","stepDefinitionIds":["58"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"66","pickleStepId":"33","stepDefinitionIds":[],"stepMatchArgumentsLists":[]}],"testRunStartedId":"60"}}
16
+ {"testCase":{"id":"67","pickleId":"40","testSteps":[{"id":"68","pickleStepId":"35","stepDefinitionIds":["58"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"69","pickleStepId":"36","stepDefinitionIds":["58"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"70","pickleStepId":"37","stepDefinitionIds":[],"stepMatchArgumentsLists":[]},{"id":"71","pickleStepId":"38","stepDefinitionIds":[],"stepMatchArgumentsLists":[]},{"id":"72","pickleStepId":"39","stepDefinitionIds":[],"stepMatchArgumentsLists":[]}],"testRunStartedId":"60"}}
17
+ {"testCase":{"id":"73","pickleId":"44","testSteps":[{"id":"74","pickleStepId":"41","stepDefinitionIds":[],"stepMatchArgumentsLists":[]},{"id":"75","pickleStepId":"42","stepDefinitionIds":["59"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"76","pickleStepId":"43","stepDefinitionIds":["59"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]}],"testRunStartedId":"60"}}
18
+ {"testCase":{"id":"77","pickleId":"50","testSteps":[{"id":"78","pickleStepId":"45","stepDefinitionIds":[],"stepMatchArgumentsLists":[]},{"id":"79","pickleStepId":"46","stepDefinitionIds":["59"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"80","pickleStepId":"47","stepDefinitionIds":["59"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"81","pickleStepId":"48","stepDefinitionIds":[],"stepMatchArgumentsLists":[]},{"id":"82","pickleStepId":"49","stepDefinitionIds":[],"stepMatchArgumentsLists":[]}],"testRunStartedId":"60"}}
19
+ {"testCase":{"id":"83","pickleId":"54","testSteps":[{"id":"84","pickleStepId":"51","stepDefinitionIds":[],"stepMatchArgumentsLists":[]},{"id":"85","pickleStepId":"52","stepDefinitionIds":[],"stepMatchArgumentsLists":[]},{"id":"86","pickleStepId":"53","stepDefinitionIds":[],"stepMatchArgumentsLists":[]}],"testRunStartedId":"60"}}
20
+ {"testCase":{"id":"87","pickleId":"57","testSteps":[{"id":"88","pickleStepId":"55","stepDefinitionIds":[],"stepMatchArgumentsLists":[]},{"id":"89","pickleStepId":"56","stepDefinitionIds":[],"stepMatchArgumentsLists":[]}],"testRunStartedId":"60"}}
21
+ {"testCaseStarted":{"id":"90","testCaseId":"61","timestamp":{"seconds":0,"nanos":1000000},"attempt":0}}
22
+ {"testStepStarted":{"testCaseStartedId":"90","testStepId":"62","timestamp":{"seconds":0,"nanos":2000000}}}
23
+ {"suggestion":{"id":"91","pickleStepId":"29","snippets":[{"language":"typescript","code":"Given(\"a step that is yet to be defined\", () => {\n return \"pending\"\n})"}]}}
24
+ {"testStepFinished":{"testCaseStartedId":"90","testStepId":"62","testStepResult":{"status":"UNDEFINED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":3000000}}}
25
+ {"testCaseFinished":{"testCaseStartedId":"90","timestamp":{"seconds":0,"nanos":4000000},"willBeRetried":false}}
26
+ {"testCaseStarted":{"id":"92","testCaseId":"63","timestamp":{"seconds":0,"nanos":5000000},"attempt":0}}
27
+ {"testStepStarted":{"testCaseStartedId":"92","testStepId":"64","timestamp":{"seconds":0,"nanos":6000000}}}
28
+ {"testStepFinished":{"testCaseStartedId":"92","testStepId":"64","testStepResult":{"status":"PASSED","duration":{"seconds":0,"nanos":1000000}},"timestamp":{"seconds":0,"nanos":7000000}}}
29
+ {"testStepStarted":{"testCaseStartedId":"92","testStepId":"65","timestamp":{"seconds":0,"nanos":8000000}}}
30
+ {"testStepFinished":{"testCaseStartedId":"92","testStepId":"65","testStepResult":{"status":"PASSED","duration":{"seconds":0,"nanos":1000000}},"timestamp":{"seconds":0,"nanos":9000000}}}
31
+ {"testStepStarted":{"testCaseStartedId":"92","testStepId":"66","timestamp":{"seconds":0,"nanos":10000000}}}
32
+ {"suggestion":{"id":"93","pickleStepId":"33","snippets":[{"language":"typescript","code":"Given(\"a step that is yet to be defined\", () => {\n return \"pending\"\n})"}]}}
33
+ {"testStepFinished":{"testCaseStartedId":"92","testStepId":"66","testStepResult":{"status":"UNDEFINED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":11000000}}}
34
+ {"testCaseFinished":{"testCaseStartedId":"92","timestamp":{"seconds":0,"nanos":12000000},"willBeRetried":false}}
35
+ {"testCaseStarted":{"id":"94","testCaseId":"67","timestamp":{"seconds":0,"nanos":13000000},"attempt":0}}
36
+ {"testStepStarted":{"testCaseStartedId":"94","testStepId":"68","timestamp":{"seconds":0,"nanos":14000000}}}
37
+ {"testStepFinished":{"testCaseStartedId":"94","testStepId":"68","testStepResult":{"status":"PASSED","duration":{"seconds":0,"nanos":1000000}},"timestamp":{"seconds":0,"nanos":15000000}}}
38
+ {"testStepStarted":{"testCaseStartedId":"94","testStepId":"69","timestamp":{"seconds":0,"nanos":16000000}}}
39
+ {"testStepFinished":{"testCaseStartedId":"94","testStepId":"69","testStepResult":{"status":"PASSED","duration":{"seconds":0,"nanos":1000000}},"timestamp":{"seconds":0,"nanos":17000000}}}
40
+ {"testStepStarted":{"testCaseStartedId":"94","testStepId":"70","timestamp":{"seconds":0,"nanos":18000000}}}
41
+ {"suggestion":{"id":"95","pickleStepId":"37","snippets":[{"language":"typescript","code":"Given(\"a step that is yet to be defined\", () => {\n return \"pending\"\n})"}]}}
42
+ {"testStepFinished":{"testCaseStartedId":"94","testStepId":"70","testStepResult":{"status":"UNDEFINED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":19000000}}}
43
+ {"testStepStarted":{"testCaseStartedId":"94","testStepId":"71","timestamp":{"seconds":0,"nanos":20000000}}}
44
+ {"suggestion":{"id":"96","pickleStepId":"38","snippets":[{"language":"typescript","code":"Given(\"another step that is also yet to be defined\", () => {\n return \"pending\"\n})"}]}}
45
+ {"testStepFinished":{"testCaseStartedId":"94","testStepId":"71","testStepResult":{"status":"UNDEFINED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":21000000}}}
46
+ {"testStepStarted":{"testCaseStartedId":"94","testStepId":"72","timestamp":{"seconds":0,"nanos":22000000}}}
47
+ {"suggestion":{"id":"97","pickleStepId":"39","snippets":[{"language":"typescript","code":"Given(\"a third step that is yet to be defined\", () => {\n return \"pending\"\n})"}]}}
48
+ {"testStepFinished":{"testCaseStartedId":"94","testStepId":"72","testStepResult":{"status":"UNDEFINED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":23000000}}}
49
+ {"testCaseFinished":{"testCaseStartedId":"94","timestamp":{"seconds":0,"nanos":24000000},"willBeRetried":false}}
50
+ {"testCaseStarted":{"id":"98","testCaseId":"73","timestamp":{"seconds":0,"nanos":25000000},"attempt":0}}
51
+ {"testStepStarted":{"testCaseStartedId":"98","testStepId":"74","timestamp":{"seconds":0,"nanos":26000000}}}
52
+ {"suggestion":{"id":"99","pickleStepId":"41","snippets":[{"language":"typescript","code":"Given(\"a step that is yet to be defined\", () => {\n return \"pending\"\n})"}]}}
53
+ {"testStepFinished":{"testCaseStartedId":"98","testStepId":"74","testStepResult":{"status":"UNDEFINED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":27000000}}}
54
+ {"testStepStarted":{"testCaseStartedId":"98","testStepId":"75","timestamp":{"seconds":0,"nanos":28000000}}}
55
+ {"testStepFinished":{"testCaseStartedId":"98","testStepId":"75","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":29000000}}}
56
+ {"testStepStarted":{"testCaseStartedId":"98","testStepId":"76","timestamp":{"seconds":0,"nanos":30000000}}}
57
+ {"testStepFinished":{"testCaseStartedId":"98","testStepId":"76","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":31000000}}}
58
+ {"testCaseFinished":{"testCaseStartedId":"98","timestamp":{"seconds":0,"nanos":32000000},"willBeRetried":false}}
59
+ {"testCaseStarted":{"id":"100","testCaseId":"77","timestamp":{"seconds":0,"nanos":33000000},"attempt":0}}
60
+ {"testStepStarted":{"testCaseStartedId":"100","testStepId":"78","timestamp":{"seconds":0,"nanos":34000000}}}
61
+ {"suggestion":{"id":"101","pickleStepId":"45","snippets":[{"language":"typescript","code":"Given(\"a step that is yet to be defined\", () => {\n return \"pending\"\n})"}]}}
62
+ {"testStepFinished":{"testCaseStartedId":"100","testStepId":"78","testStepResult":{"status":"UNDEFINED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":35000000}}}
63
+ {"testStepStarted":{"testCaseStartedId":"100","testStepId":"79","timestamp":{"seconds":0,"nanos":36000000}}}
64
+ {"testStepFinished":{"testCaseStartedId":"100","testStepId":"79","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":37000000}}}
65
+ {"testStepStarted":{"testCaseStartedId":"100","testStepId":"80","timestamp":{"seconds":0,"nanos":38000000}}}
66
+ {"testStepFinished":{"testCaseStartedId":"100","testStepId":"80","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":39000000}}}
67
+ {"testStepStarted":{"testCaseStartedId":"100","testStepId":"81","timestamp":{"seconds":0,"nanos":40000000}}}
68
+ {"suggestion":{"id":"102","pickleStepId":"48","snippets":[{"language":"typescript","code":"Given(\"a step that is yet to be defined\", () => {\n return \"pending\"\n})"}]}}
69
+ {"testStepFinished":{"testCaseStartedId":"100","testStepId":"81","testStepResult":{"status":"UNDEFINED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":41000000}}}
70
+ {"testStepStarted":{"testCaseStartedId":"100","testStepId":"82","timestamp":{"seconds":0,"nanos":42000000}}}
71
+ {"suggestion":{"id":"103","pickleStepId":"49","snippets":[{"language":"typescript","code":"Given(\"another step that is also yet to be defined\", () => {\n return \"pending\"\n})"}]}}
72
+ {"testStepFinished":{"testCaseStartedId":"100","testStepId":"82","testStepResult":{"status":"UNDEFINED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":43000000}}}
73
+ {"testCaseFinished":{"testCaseStartedId":"100","timestamp":{"seconds":0,"nanos":44000000},"willBeRetried":false}}
74
+ {"testCaseStarted":{"id":"104","testCaseId":"83","timestamp":{"seconds":0,"nanos":45000000},"attempt":0}}
75
+ {"testStepStarted":{"testCaseStartedId":"104","testStepId":"84","timestamp":{"seconds":0,"nanos":46000000}}}
76
+ {"suggestion":{"id":"105","pickleStepId":"51","snippets":[{"language":"typescript","code":"Given(\"a list of {int} things\", (int: number) => {\n return \"pending\"\n})"},{"language":"typescript","code":"Given(\"a list of {float} things\", (float: number) => {\n return \"pending\"\n})"}]}}
77
+ {"testStepFinished":{"testCaseStartedId":"104","testStepId":"84","testStepResult":{"status":"UNDEFINED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":47000000}}}
78
+ {"testStepStarted":{"testCaseStartedId":"104","testStepId":"85","timestamp":{"seconds":0,"nanos":48000000}}}
79
+ {"suggestion":{"id":"106","pickleStepId":"52","snippets":[{"language":"typescript","code":"Given(\"a list of {float} things\", (float: number) => {\n return \"pending\"\n})"}]}}
80
+ {"testStepFinished":{"testCaseStartedId":"104","testStepId":"85","testStepResult":{"status":"UNDEFINED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":49000000}}}
81
+ {"testStepStarted":{"testCaseStartedId":"104","testStepId":"86","timestamp":{"seconds":0,"nanos":50000000}}}
82
+ {"suggestion":{"id":"107","pickleStepId":"53","snippets":[{"language":"typescript","code":"Given(\"a list of {string} things\", (string: string) => {\n return \"pending\"\n})"}]}}
83
+ {"testStepFinished":{"testCaseStartedId":"104","testStepId":"86","testStepResult":{"status":"UNDEFINED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":51000000}}}
84
+ {"testCaseFinished":{"testCaseStartedId":"104","timestamp":{"seconds":0,"nanos":52000000},"willBeRetried":false}}
85
+ {"testCaseStarted":{"id":"108","testCaseId":"87","timestamp":{"seconds":0,"nanos":53000000},"attempt":0}}
86
+ {"testStepStarted":{"testCaseStartedId":"108","testStepId":"88","timestamp":{"seconds":0,"nanos":54000000}}}
87
+ {"suggestion":{"id":"109","pickleStepId":"55","snippets":[{"language":"typescript","code":"Given(\"a step that is yet to be defined\", () => {\n return \"pending\"\n})"}]}}
88
+ {"testStepFinished":{"testCaseStartedId":"108","testStepId":"88","testStepResult":{"status":"UNDEFINED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":55000000}}}
89
+ {"testStepStarted":{"testCaseStartedId":"108","testStepId":"89","timestamp":{"seconds":0,"nanos":56000000}}}
90
+ {"suggestion":{"id":"110","pickleStepId":"56","snippets":[{"language":"typescript","code":"Given(\"another step that is also yet to be defined\", () => {\n return \"pending\"\n})"}]}}
91
+ {"testStepFinished":{"testCaseStartedId":"108","testStepId":"89","testStepResult":{"status":"UNDEFINED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":57000000}}}
92
+ {"testCaseFinished":{"testCaseStartedId":"108","timestamp":{"seconds":0,"nanos":58000000},"willBeRetried":false}}
93
+ {"testRunFinished":{"testRunStartedId":"60","timestamp":{"seconds":0,"nanos":59000000},"success":false}}
@@ -1,4 +1,4 @@
1
- {"meta":{"protocolVersion":"31.1.0","implementation":{"name":"fake-cucumber","version":"123.45.6"},"cpu":{"name":"arm64"},"os":{"name":"darwin","version":"24.5.0"},"runtime":{"name":"Node.js","version":"24.4.1"},"ci":{"name":"GitHub Actions","url":"https://github.com/cucumber-ltd/shouty.rb/actions/runs/154666429","buildNumber":"154666429","git":{"revision":"99684bcacf01d95875834d87903dcb072306c9ad","remote":"https://github.com/cucumber-ltd/shouty.rb.git","branch":"main"}}}}
1
+ {"meta":{"protocolVersion":"33.0.4","implementation":{"name":"fake-cucumber","version":"123.45.6"},"cpu":{"name":"arm64"},"os":{"name":"darwin","version":"24.5.0"},"runtime":{"name":"Node.js","version":"24.4.1"},"ci":{"name":"GitHub Actions","url":"https://github.com/cucumber-ltd/shouty.rb/actions/runs/154666429","buildNumber":"154666429","git":{"revision":"99684bcacf01d95875834d87903dcb072306c9ad","remote":"https://github.com/cucumber-ltd/shouty.rb.git","branch":"main"}}}}
2
2
  {"source":{"data":"Feature: Parameter Types\n Cucumber will generate an error message if a step definition registers\n an unknown parameter type, but the suite will run. Additionally, because\n the step is effectively undefined, a suggestion will also be created.\n\n Scenario: undefined parameter type\n Given CDG is closed because of a strike\n","uri":"samples/unknown-parameter-type/unknown-parameter-type.feature","mediaType":"text/x.cucumber.gherkin+plain"}}
3
3
  {"gherkinDocument":{"feature":{"tags":[],"location":{"line":1,"column":1},"language":"en","keyword":"Feature","name":"Parameter Types","description":" Cucumber will generate an error message if a step definition registers\n an unknown parameter type, but the suite will run. Additionally, because\n the step is effectively undefined, a suggestion will also be created.","children":[{"scenario":{"id":"1","tags":[],"location":{"line":6,"column":3},"keyword":"Scenario","name":"undefined parameter type","description":"","steps":[{"id":"0","location":{"line":7,"column":5},"keyword":"Given ","keywordType":"Context","text":"CDG is closed because of a strike"}],"examples":[]}}]},"comments":[],"uri":"samples/unknown-parameter-type/unknown-parameter-type.feature"}}
4
4
  {"pickle":{"id":"3","uri":"samples/unknown-parameter-type/unknown-parameter-type.feature","location":{"line":6,"column":3},"astNodeIds":["1"],"tags":[],"name":"undefined parameter type","language":"en","steps":[{"id":"2","text":"CDG is closed because of a strike","type":"Context","astNodeIds":["0"]}]}}
@@ -1,4 +1,4 @@
1
- {"meta":{"protocolVersion":"31.1.0","implementation":{"name":"fake-cucumber","version":"123.45.6"},"cpu":{"name":"arm64"},"os":{"name":"darwin","version":"24.5.0"},"runtime":{"name":"Node.js","version":"24.4.1"},"ci":{"name":"GitHub Actions","url":"https://github.com/cucumber-ltd/shouty.rb/actions/runs/154666429","buildNumber":"154666429","git":{"revision":"99684bcacf01d95875834d87903dcb072306c9ad","remote":"https://github.com/cucumber-ltd/shouty.rb.git","branch":"main"}}}}
1
+ {"meta":{"protocolVersion":"33.0.4","implementation":{"name":"fake-cucumber","version":"123.45.6"},"cpu":{"name":"arm64"},"os":{"name":"darwin","version":"24.5.0"},"runtime":{"name":"Node.js","version":"24.4.1"},"ci":{"name":"GitHub Actions","url":"https://github.com/cucumber-ltd/shouty.rb/actions/runs/154666429","buildNumber":"154666429","git":{"revision":"99684bcacf01d95875834d87903dcb072306c9ad","remote":"https://github.com/cucumber-ltd/shouty.rb.git","branch":"main"}}}}
2
2
  {"source":{"data":"Feature: Unused steps\n Depending on the run, some step definitions may not be used. This is valid, and the step definitions are still\n includes in the stream of messages, which allows formatters to report on step usage if desired.\n\n Scenario: a scenario\n Given a step that is used\n","uri":"samples/unused-steps/unused-steps.feature","mediaType":"text/x.cucumber.gherkin+plain"}}
3
3
  {"gherkinDocument":{"feature":{"tags":[],"location":{"line":1,"column":1},"language":"en","keyword":"Feature","name":"Unused steps","description":" Depending on the run, some step definitions may not be used. This is valid, and the step definitions are still\n includes in the stream of messages, which allows formatters to report on step usage if desired.","children":[{"scenario":{"id":"1","tags":[],"location":{"line":5,"column":3},"keyword":"Scenario","name":"a scenario","description":"","steps":[{"id":"0","location":{"line":6,"column":5},"keyword":"Given ","keywordType":"Context","text":"a step that is used"}],"examples":[]}}]},"comments":[],"uri":"samples/unused-steps/unused-steps.feature"}}
4
4
  {"pickle":{"id":"3","uri":"samples/unused-steps/unused-steps.feature","location":{"line":5,"column":3},"astNodeIds":["1"],"tags":[],"name":"a scenario","language":"en","steps":[{"id":"2","text":"a step that is used","type":"Context","astNodeIds":["0"]}]}}
@@ -4,6 +4,18 @@ module Cucumber
4
4
  # CompatibilityKit contains a series of helper methods to determine paths for each relevant item(s)
5
5
  class CompatibilityKit
6
6
  class << self
7
+ # Return the path for a specific example scenario based on its name
8
+ #
9
+ # i.e. 'attachments' would return the fully qualified path to the attachments folder
10
+ # which contains the feature, the ndjson file and any applicable assets to run the example
11
+ def feature_code_for(example_name)
12
+ path = File.join(cck_features_folder_location, example_name)
13
+
14
+ return path if File.directory?(path)
15
+
16
+ raise ArgumentError, "No feature code directory found in gem for CCK example: #{example_name}"
17
+ end
18
+
7
19
  # Return the paths for each example that is of 'gherkin' type
8
20
  def gherkin
9
21
  Dir.entries(cck_features_folder_location).select do |file_or_folder|
@@ -23,18 +35,6 @@ module Cucumber
23
35
  end
24
36
  end
25
37
 
26
- # Return the path for a specific example scenario based on its name
27
- #
28
- # i.e. 'attachments' would return the fully qualified path to the attachments folder
29
- # which contains the feature, the ndjson file and any applicable assets to run the example
30
- def feature_code_for(example_name)
31
- path = File.join(cck_features_folder_location, example_name)
32
-
33
- return path if File.directory?(path)
34
-
35
- raise ArgumentError, "No feature code directory found in gem for CCK example: #{example_name}"
36
- end
37
-
38
38
  private
39
39
 
40
40
  def cck_features_folder_location
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber-compatibility-kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 29.2.2
4
+ version: 30.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aurélien Reeves
@@ -33,42 +33,42 @@ dependencies:
33
33
  requirements:
34
34
  - - "~>"
35
35
  - !ruby/object:Gem::Version
36
- version: 1.81.0
36
+ version: 1.88.0
37
37
  type: :development
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
41
  - - "~>"
42
42
  - !ruby/object:Gem::Version
43
- version: 1.81.0
43
+ version: 1.88.0
44
44
  - !ruby/object:Gem::Dependency
45
45
  name: rubocop-performance
46
46
  requirement: !ruby/object:Gem::Requirement
47
47
  requirements:
48
48
  - - "~>"
49
49
  - !ruby/object:Gem::Version
50
- version: 1.26.0
50
+ version: 1.26.1
51
51
  type: :development
52
52
  prerelease: false
53
53
  version_requirements: !ruby/object:Gem::Requirement
54
54
  requirements:
55
55
  - - "~>"
56
56
  - !ruby/object:Gem::Version
57
- version: 1.26.0
57
+ version: 1.26.1
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rubocop-rspec
60
60
  requirement: !ruby/object:Gem::Requirement
61
61
  requirements:
62
62
  - - "~>"
63
63
  - !ruby/object:Gem::Version
64
- version: 3.7.0
64
+ version: 3.10.2
65
65
  type: :development
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: 3.7.0
71
+ version: 3.10.2
72
72
  description: Kit to check compatibility with official cucumber ruby implementation
73
73
  email: cukebot@cucumber.io
74
74
  executables: []
@@ -100,8 +100,10 @@ files:
100
100
  - features/examples-tables-attachment/cucumber.png
101
101
  - features/examples-tables-attachment/examples-tables-attachment.feature
102
102
  - features/examples-tables-attachment/examples-tables-attachment.ndjson
103
+ - features/examples-tables-undefined-multiple/examples-tables-undefined-multiple.feature
104
+ - features/examples-tables-undefined-multiple/examples-tables-undefined-multiple.ndjson
105
+ - features/examples-tables-undefined/examples-tables-undefined.feature
103
106
  - features/examples-tables-undefined/examples-tables-undefined.ndjson
104
- - features/examples-tables-undefined/examples-undefined.feature
105
107
  - features/examples-tables/examples-tables.feature
106
108
  - features/examples-tables/examples-tables.ndjson
107
109
  - features/failedish-combinations/failedish-combinations.feature
@@ -175,6 +177,8 @@ files:
175
177
  - features/test-run-exception/test-run-exception.arguments.txt
176
178
  - features/test-run-exception/test-run-exception.feature
177
179
  - features/test-run-exception/test-run-exception.ndjson
180
+ - features/undefined-multiple/undefined-multiple.feature
181
+ - features/undefined-multiple/undefined-multiple.ndjson
178
182
  - features/undefined/undefined.feature
179
183
  - features/undefined/undefined.ndjson
180
184
  - features/unknown-parameter-type/unknown-parameter-type.feature
@@ -199,14 +203,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
199
203
  requirements:
200
204
  - - ">="
201
205
  - !ruby/object:Gem::Version
202
- version: '3.1'
206
+ version: '3.2'
203
207
  required_rubygems_version: !ruby/object:Gem::Requirement
204
208
  requirements:
205
209
  - - ">="
206
210
  - !ruby/object:Gem::Version
207
211
  version: 3.2.8
208
212
  requirements: []
209
- rubygems_version: 3.6.9
213
+ rubygems_version: 4.0.16
210
214
  specification_version: 4
211
- summary: cucumber-compatibility-kit-29.2.2
215
+ summary: cucumber-compatibility-kit-30.0.0
212
216
  test_files: []