cucumber-compatibility-kit 28.0.1 → 29.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 41b582bbbb624177c62e9b943d8aee39b99098433b582eade3eefe2b6a630cdb
4
- data.tar.gz: c7ec25b64f3cfd9cdeb2c0a345b816d87d816db1da18a0fdabca4a14044cda0d
3
+ metadata.gz: 4ab049141819a3c809af7fb1410dd72cf129f32bb624e34ad8c16197c23c0d7c
4
+ data.tar.gz: 9983b2e6eb9e2aab4450989957001a520b7c5a0d1871c3b6cdaea444b9b4f0b5
5
5
  SHA512:
6
- metadata.gz: e1c308539bb2dcef5cf9089a149c0bd01af954c22e9fbe0f8dc15139db128db05c25f31c8063b48b61acfcc966ec534c49160d1ab02cee93296c2f6ae4916a53
7
- data.tar.gz: 4ea5af92112a2b5978965efff2296443700d5fac0f23afe77039968c13d90678cd3da883d3e79e9de1fd106eaf7eb2eb53723502092d029a1e824db3dc26b21d
6
+ metadata.gz: 5267419b741ce0eaa057dc6fe7d6471317f7dd0cf216809db2c1ae9cb4db8f620e600b3e40926366bed4637fbd03520ff23f671d5e11a20bc38a7d3847f02a84
7
+ data.tar.gz: aa7465e2f42b4d4d65e193a873afcf7910e5010f819f9cd60b3901507925dd5bce10b84ce18d78e95890efa5250267a6cf411aac99d6ed248765ad966d1187d6
@@ -40,7 +40,7 @@
40
40
  {"testStepStarted":{"testCaseStartedId":"81","testStepId":"64","timestamp":{"seconds":0,"nanos":18000000}}}
41
41
  {"testStepFinished":{"testCaseStartedId":"81","testStepId":"64","testStepResult":{"status":"PASSED","duration":{"seconds":0,"nanos":1000000}},"timestamp":{"seconds":0,"nanos":19000000}}}
42
42
  {"testStepStarted":{"testCaseStartedId":"81","testStepId":"65","timestamp":{"seconds":0,"nanos":20000000}}}
43
- {"testStepFinished":{"testCaseStartedId":"81","testStepId":"65","testStepResult":{"status":"PENDING","message":"TODO","duration":{"seconds":0,"nanos":1000000}},"timestamp":{"seconds":0,"nanos":21000000}}}
43
+ {"testStepFinished":{"testCaseStartedId":"81","testStepId":"65","testStepResult":{"status":"PENDING","duration":{"seconds":0,"nanos":1000000}},"timestamp":{"seconds":0,"nanos":21000000}}}
44
44
  {"testStepStarted":{"testCaseStartedId":"81","testStepId":"66","timestamp":{"seconds":0,"nanos":22000000}}}
45
45
  {"testStepFinished":{"testCaseStartedId":"81","testStepId":"66","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":23000000}}}
46
46
  {"testCaseFinished":{"testCaseStartedId":"81","timestamp":{"seconds":0,"nanos":24000000},"willBeRetried":false}}
@@ -0,0 +1,54 @@
1
+ Feature: Failed-ish combinations
2
+ Sometimes the first failed-ish (not passed or skipped) step's status
3
+ is not the only one.
4
+
5
+ Rule: Undefined and ambiguous steps can follow a failed-ish step
6
+
7
+ Scenario: Pending as the first failed-ish step
8
+ Given a pending step
9
+ And an undefined step
10
+ And an ambiguous step
11
+
12
+ Scenario: Undefined as the first failed-ish step
13
+ Given an undefined step
14
+ And an undefined step
15
+ And an ambiguous step
16
+
17
+ Scenario: Ambiguous as the first failed-ish step
18
+ Given an ambiguous step
19
+ And an undefined step
20
+ And an ambiguous step
21
+
22
+ Scenario: Failed as the first failed-ish step
23
+ Given a failing step
24
+ And an undefined step
25
+ And an ambiguous step
26
+
27
+ Rule: Failed and pending steps do not follow a failed-ish step
28
+
29
+ Scenario: Pending as the first failed-ish step
30
+ Given a pending step
31
+ And a pending step
32
+ And a failing step
33
+
34
+ Scenario: Undefined as the first failed-ish step
35
+ Given an undefined step
36
+ And a pending step
37
+ And a failing step
38
+
39
+ Scenario: Ambiguous as the first failed-ish step
40
+ Given an ambiguous step
41
+ And a pending step
42
+ And a failing step
43
+
44
+ Scenario: Failed as the first failed-ish step
45
+ Given a failing step
46
+ And a pending step
47
+ And a failing step
48
+
49
+ Rule: No pickle steps follow a skipped step
50
+
51
+ Scenario: Step marks itself skipped
52
+ Given a skipped step
53
+ And an undefined step
54
+ And an ambiguous step
@@ -0,0 +1,107 @@
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"}}}}
2
+ {"source":{"data":"Feature: Failed-ish combinations\n Sometimes the first failed-ish (not passed or skipped) step's status\n is not the only one.\n\n Rule: Undefined and ambiguous steps can follow a failed-ish step\n\n Scenario: Pending as the first failed-ish step\n Given a pending step\n And an undefined step\n And an ambiguous step\n\n Scenario: Undefined as the first failed-ish step\n Given an undefined step\n And an undefined step\n And an ambiguous step\n\n Scenario: Ambiguous as the first failed-ish step\n Given an ambiguous step\n And an undefined step\n And an ambiguous step\n\n Scenario: Failed as the first failed-ish step\n Given a failing step\n And an undefined step\n And an ambiguous step\n\n Rule: Failed and pending steps do not follow a failed-ish step\n\n Scenario: Pending as the first failed-ish step\n Given a pending step\n And a pending step\n And a failing step\n\n Scenario: Undefined as the first failed-ish step\n Given an undefined step\n And a pending step\n And a failing step\n\n Scenario: Ambiguous as the first failed-ish step\n Given an ambiguous step\n And a pending step\n And a failing step\n\n Scenario: Failed as the first failed-ish step\n Given a failing step\n And a pending step\n And a failing step\n\n Rule: No pickle steps follow a skipped step\n\n Scenario: Step marks itself skipped\n Given a skipped step\n And an undefined step\n And an ambiguous step\n","uri":"samples/failedish-combinations/failedish-combinations.feature","mediaType":"text/x.cucumber.gherkin+plain"}}
3
+ {"gherkinDocument":{"feature":{"tags":[],"location":{"line":1,"column":1},"language":"en","keyword":"Feature","name":"Failed-ish combinations","description":" Sometimes the first failed-ish (not passed or skipped) step's status\n is not the only one.","children":[{"rule":{"id":"16","location":{"line":5,"column":3},"keyword":"Rule","name":"Undefined and ambiguous steps can follow a failed-ish step","description":"","children":[{"scenario":{"id":"3","tags":[],"location":{"line":7,"column":5},"keyword":"Scenario","name":"Pending as the first failed-ish step","description":"","steps":[{"id":"0","location":{"line":8,"column":7},"keyword":"Given ","keywordType":"Context","text":"a pending step"},{"id":"1","location":{"line":9,"column":7},"keyword":"And ","keywordType":"Conjunction","text":"an undefined step"},{"id":"2","location":{"line":10,"column":7},"keyword":"And ","keywordType":"Conjunction","text":"an ambiguous step"}],"examples":[]}},{"scenario":{"id":"7","tags":[],"location":{"line":12,"column":5},"keyword":"Scenario","name":"Undefined as the first failed-ish step","description":"","steps":[{"id":"4","location":{"line":13,"column":7},"keyword":"Given ","keywordType":"Context","text":"an undefined step"},{"id":"5","location":{"line":14,"column":7},"keyword":"And ","keywordType":"Conjunction","text":"an undefined step"},{"id":"6","location":{"line":15,"column":7},"keyword":"And ","keywordType":"Conjunction","text":"an ambiguous step"}],"examples":[]}},{"scenario":{"id":"11","tags":[],"location":{"line":17,"column":5},"keyword":"Scenario","name":"Ambiguous as the first failed-ish step","description":"","steps":[{"id":"8","location":{"line":18,"column":7},"keyword":"Given ","keywordType":"Context","text":"an ambiguous step"},{"id":"9","location":{"line":19,"column":7},"keyword":"And ","keywordType":"Conjunction","text":"an undefined step"},{"id":"10","location":{"line":20,"column":7},"keyword":"And ","keywordType":"Conjunction","text":"an ambiguous step"}],"examples":[]}},{"scenario":{"id":"15","tags":[],"location":{"line":22,"column":5},"keyword":"Scenario","name":"Failed as the first failed-ish step","description":"","steps":[{"id":"12","location":{"line":23,"column":7},"keyword":"Given ","keywordType":"Context","text":"a failing step"},{"id":"13","location":{"line":24,"column":7},"keyword":"And ","keywordType":"Conjunction","text":"an undefined step"},{"id":"14","location":{"line":25,"column":7},"keyword":"And ","keywordType":"Conjunction","text":"an ambiguous step"}],"examples":[]}}],"tags":[]}},{"rule":{"id":"33","location":{"line":27,"column":3},"keyword":"Rule","name":"Failed and pending steps do not follow a failed-ish step","description":"","children":[{"scenario":{"id":"20","tags":[],"location":{"line":29,"column":5},"keyword":"Scenario","name":"Pending as the first failed-ish step","description":"","steps":[{"id":"17","location":{"line":30,"column":7},"keyword":"Given ","keywordType":"Context","text":"a pending step"},{"id":"18","location":{"line":31,"column":7},"keyword":"And ","keywordType":"Conjunction","text":"a pending step"},{"id":"19","location":{"line":32,"column":7},"keyword":"And ","keywordType":"Conjunction","text":"a failing step"}],"examples":[]}},{"scenario":{"id":"24","tags":[],"location":{"line":34,"column":5},"keyword":"Scenario","name":"Undefined as the first failed-ish step","description":"","steps":[{"id":"21","location":{"line":35,"column":7},"keyword":"Given ","keywordType":"Context","text":"an undefined step"},{"id":"22","location":{"line":36,"column":7},"keyword":"And ","keywordType":"Conjunction","text":"a pending step"},{"id":"23","location":{"line":37,"column":7},"keyword":"And ","keywordType":"Conjunction","text":"a failing step"}],"examples":[]}},{"scenario":{"id":"28","tags":[],"location":{"line":39,"column":5},"keyword":"Scenario","name":"Ambiguous as the first failed-ish step","description":"","steps":[{"id":"25","location":{"line":40,"column":7},"keyword":"Given ","keywordType":"Context","text":"an ambiguous step"},{"id":"26","location":{"line":41,"column":7},"keyword":"And ","keywordType":"Conjunction","text":"a pending step"},{"id":"27","location":{"line":42,"column":7},"keyword":"And ","keywordType":"Conjunction","text":"a failing step"}],"examples":[]}},{"scenario":{"id":"32","tags":[],"location":{"line":44,"column":5},"keyword":"Scenario","name":"Failed as the first failed-ish step","description":"","steps":[{"id":"29","location":{"line":45,"column":7},"keyword":"Given ","keywordType":"Context","text":"a failing step"},{"id":"30","location":{"line":46,"column":7},"keyword":"And ","keywordType":"Conjunction","text":"a pending step"},{"id":"31","location":{"line":47,"column":7},"keyword":"And ","keywordType":"Conjunction","text":"a failing step"}],"examples":[]}}],"tags":[]}},{"rule":{"id":"38","location":{"line":49,"column":3},"keyword":"Rule","name":"No pickle steps follow a skipped step","description":"","children":[{"scenario":{"id":"37","tags":[],"location":{"line":51,"column":5},"keyword":"Scenario","name":"Step marks itself skipped","description":"","steps":[{"id":"34","location":{"line":52,"column":7},"keyword":"Given ","keywordType":"Context","text":"a skipped step"},{"id":"35","location":{"line":53,"column":7},"keyword":"And ","keywordType":"Conjunction","text":"an undefined step"},{"id":"36","location":{"line":54,"column":7},"keyword":"And ","keywordType":"Conjunction","text":"an ambiguous step"}],"examples":[]}}],"tags":[]}}]},"comments":[],"uri":"samples/failedish-combinations/failedish-combinations.feature"}}
4
+ {"pickle":{"id":"42","uri":"samples/failedish-combinations/failedish-combinations.feature","location":{"line":7,"column":5},"astNodeIds":["3"],"tags":[],"name":"Pending as the first failed-ish step","language":"en","steps":[{"id":"39","text":"a pending step","type":"Context","astNodeIds":["0"]},{"id":"40","text":"an undefined step","type":"Context","astNodeIds":["1"]},{"id":"41","text":"an ambiguous step","type":"Context","astNodeIds":["2"]}]}}
5
+ {"pickle":{"id":"46","uri":"samples/failedish-combinations/failedish-combinations.feature","location":{"line":12,"column":5},"astNodeIds":["7"],"tags":[],"name":"Undefined as the first failed-ish step","language":"en","steps":[{"id":"43","text":"an undefined step","type":"Context","astNodeIds":["4"]},{"id":"44","text":"an undefined step","type":"Context","astNodeIds":["5"]},{"id":"45","text":"an ambiguous step","type":"Context","astNodeIds":["6"]}]}}
6
+ {"pickle":{"id":"50","uri":"samples/failedish-combinations/failedish-combinations.feature","location":{"line":17,"column":5},"astNodeIds":["11"],"tags":[],"name":"Ambiguous as the first failed-ish step","language":"en","steps":[{"id":"47","text":"an ambiguous step","type":"Context","astNodeIds":["8"]},{"id":"48","text":"an undefined step","type":"Context","astNodeIds":["9"]},{"id":"49","text":"an ambiguous step","type":"Context","astNodeIds":["10"]}]}}
7
+ {"pickle":{"id":"54","uri":"samples/failedish-combinations/failedish-combinations.feature","location":{"line":22,"column":5},"astNodeIds":["15"],"tags":[],"name":"Failed as the first failed-ish step","language":"en","steps":[{"id":"51","text":"a failing step","type":"Context","astNodeIds":["12"]},{"id":"52","text":"an undefined step","type":"Context","astNodeIds":["13"]},{"id":"53","text":"an ambiguous step","type":"Context","astNodeIds":["14"]}]}}
8
+ {"pickle":{"id":"58","uri":"samples/failedish-combinations/failedish-combinations.feature","location":{"line":29,"column":5},"astNodeIds":["20"],"tags":[],"name":"Pending as the first failed-ish step","language":"en","steps":[{"id":"55","text":"a pending step","type":"Context","astNodeIds":["17"]},{"id":"56","text":"a pending step","type":"Context","astNodeIds":["18"]},{"id":"57","text":"a failing step","type":"Context","astNodeIds":["19"]}]}}
9
+ {"pickle":{"id":"62","uri":"samples/failedish-combinations/failedish-combinations.feature","location":{"line":34,"column":5},"astNodeIds":["24"],"tags":[],"name":"Undefined as the first failed-ish step","language":"en","steps":[{"id":"59","text":"an undefined step","type":"Context","astNodeIds":["21"]},{"id":"60","text":"a pending step","type":"Context","astNodeIds":["22"]},{"id":"61","text":"a failing step","type":"Context","astNodeIds":["23"]}]}}
10
+ {"pickle":{"id":"66","uri":"samples/failedish-combinations/failedish-combinations.feature","location":{"line":39,"column":5},"astNodeIds":["28"],"tags":[],"name":"Ambiguous as the first failed-ish step","language":"en","steps":[{"id":"63","text":"an ambiguous step","type":"Context","astNodeIds":["25"]},{"id":"64","text":"a pending step","type":"Context","astNodeIds":["26"]},{"id":"65","text":"a failing step","type":"Context","astNodeIds":["27"]}]}}
11
+ {"pickle":{"id":"70","uri":"samples/failedish-combinations/failedish-combinations.feature","location":{"line":44,"column":5},"astNodeIds":["32"],"tags":[],"name":"Failed as the first failed-ish step","language":"en","steps":[{"id":"67","text":"a failing step","type":"Context","astNodeIds":["29"]},{"id":"68","text":"a pending step","type":"Context","astNodeIds":["30"]},{"id":"69","text":"a failing step","type":"Context","astNodeIds":["31"]}]}}
12
+ {"pickle":{"id":"74","uri":"samples/failedish-combinations/failedish-combinations.feature","location":{"line":51,"column":5},"astNodeIds":["37"],"tags":[],"name":"Step marks itself skipped","language":"en","steps":[{"id":"71","text":"a skipped step","type":"Context","astNodeIds":["34"]},{"id":"72","text":"an undefined step","type":"Context","astNodeIds":["35"]},{"id":"73","text":"an ambiguous step","type":"Context","astNodeIds":["36"]}]}}
13
+ {"stepDefinition":{"id":"75","pattern":{"type":"REGULAR_EXPRESSION","source":"^a step$"},"sourceReference":{"uri":"samples/failedish-combinations/failedish-combinations.ts","location":{"line":3}}}}
14
+ {"stepDefinition":{"id":"76","pattern":{"type":"REGULAR_EXPRESSION","source":"^a skipped step$"},"sourceReference":{"uri":"samples/failedish-combinations/failedish-combinations.ts","location":{"line":7}}}}
15
+ {"stepDefinition":{"id":"77","pattern":{"type":"REGULAR_EXPRESSION","source":"^a pending step$"},"sourceReference":{"uri":"samples/failedish-combinations/failedish-combinations.ts","location":{"line":11}}}}
16
+ {"stepDefinition":{"id":"78","pattern":{"type":"REGULAR_EXPRESSION","source":"^an ambiguous (.*?)$"},"sourceReference":{"uri":"samples/failedish-combinations/failedish-combinations.ts","location":{"line":15}}}}
17
+ {"stepDefinition":{"id":"79","pattern":{"type":"REGULAR_EXPRESSION","source":"^(.*?) ambiguous step$"},"sourceReference":{"uri":"samples/failedish-combinations/failedish-combinations.ts","location":{"line":17}}}}
18
+ {"stepDefinition":{"id":"80","pattern":{"type":"REGULAR_EXPRESSION","source":"^a failing step$"},"sourceReference":{"uri":"samples/failedish-combinations/failedish-combinations.ts","location":{"line":19}}}}
19
+ {"testRunStarted":{"id":"81","timestamp":{"seconds":0,"nanos":0}}}
20
+ {"testCase":{"id":"82","pickleId":"42","testSteps":[{"id":"83","pickleStepId":"39","stepDefinitionIds":["77"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"84","pickleStepId":"40","stepDefinitionIds":[],"stepMatchArgumentsLists":[]},{"id":"85","pickleStepId":"41","stepDefinitionIds":["78","79"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":13,"value":"step"}}]},{"stepMatchArguments":[{"group":{"start":0,"value":"an"}}]}]}],"testRunStartedId":"81"}}
21
+ {"testCase":{"id":"86","pickleId":"46","testSteps":[{"id":"87","pickleStepId":"43","stepDefinitionIds":[],"stepMatchArgumentsLists":[]},{"id":"88","pickleStepId":"44","stepDefinitionIds":[],"stepMatchArgumentsLists":[]},{"id":"89","pickleStepId":"45","stepDefinitionIds":["78","79"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":13,"value":"step"}}]},{"stepMatchArguments":[{"group":{"start":0,"value":"an"}}]}]}],"testRunStartedId":"81"}}
22
+ {"testCase":{"id":"90","pickleId":"50","testSteps":[{"id":"91","pickleStepId":"47","stepDefinitionIds":["78","79"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":13,"value":"step"}}]},{"stepMatchArguments":[{"group":{"start":0,"value":"an"}}]}]},{"id":"92","pickleStepId":"48","stepDefinitionIds":[],"stepMatchArgumentsLists":[]},{"id":"93","pickleStepId":"49","stepDefinitionIds":["78","79"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":13,"value":"step"}}]},{"stepMatchArguments":[{"group":{"start":0,"value":"an"}}]}]}],"testRunStartedId":"81"}}
23
+ {"testCase":{"id":"94","pickleId":"54","testSteps":[{"id":"95","pickleStepId":"51","stepDefinitionIds":["80"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"96","pickleStepId":"52","stepDefinitionIds":[],"stepMatchArgumentsLists":[]},{"id":"97","pickleStepId":"53","stepDefinitionIds":["78","79"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":13,"value":"step"}}]},{"stepMatchArguments":[{"group":{"start":0,"value":"an"}}]}]}],"testRunStartedId":"81"}}
24
+ {"testCase":{"id":"98","pickleId":"58","testSteps":[{"id":"99","pickleStepId":"55","stepDefinitionIds":["77"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"100","pickleStepId":"56","stepDefinitionIds":["77"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"101","pickleStepId":"57","stepDefinitionIds":["80"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]}],"testRunStartedId":"81"}}
25
+ {"testCase":{"id":"102","pickleId":"62","testSteps":[{"id":"103","pickleStepId":"59","stepDefinitionIds":[],"stepMatchArgumentsLists":[]},{"id":"104","pickleStepId":"60","stepDefinitionIds":["77"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"105","pickleStepId":"61","stepDefinitionIds":["80"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]}],"testRunStartedId":"81"}}
26
+ {"testCase":{"id":"106","pickleId":"66","testSteps":[{"id":"107","pickleStepId":"63","stepDefinitionIds":["78","79"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":13,"value":"step"}}]},{"stepMatchArguments":[{"group":{"start":0,"value":"an"}}]}]},{"id":"108","pickleStepId":"64","stepDefinitionIds":["77"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"109","pickleStepId":"65","stepDefinitionIds":["80"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]}],"testRunStartedId":"81"}}
27
+ {"testCase":{"id":"110","pickleId":"70","testSteps":[{"id":"111","pickleStepId":"67","stepDefinitionIds":["80"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"112","pickleStepId":"68","stepDefinitionIds":["77"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"113","pickleStepId":"69","stepDefinitionIds":["80"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]}],"testRunStartedId":"81"}}
28
+ {"testCase":{"id":"114","pickleId":"74","testSteps":[{"id":"115","pickleStepId":"71","stepDefinitionIds":["76"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"116","pickleStepId":"72","stepDefinitionIds":[],"stepMatchArgumentsLists":[]},{"id":"117","pickleStepId":"73","stepDefinitionIds":["78","79"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":13,"value":"step"}}]},{"stepMatchArguments":[{"group":{"start":0,"value":"an"}}]}]}],"testRunStartedId":"81"}}
29
+ {"testCaseStarted":{"id":"118","testCaseId":"82","timestamp":{"seconds":0,"nanos":1000000},"attempt":0}}
30
+ {"testStepStarted":{"testCaseStartedId":"118","testStepId":"83","timestamp":{"seconds":0,"nanos":2000000}}}
31
+ {"testStepFinished":{"testCaseStartedId":"118","testStepId":"83","testStepResult":{"status":"PENDING","duration":{"seconds":0,"nanos":1000000}},"timestamp":{"seconds":0,"nanos":3000000}}}
32
+ {"testStepStarted":{"testCaseStartedId":"118","testStepId":"84","timestamp":{"seconds":0,"nanos":4000000}}}
33
+ {"suggestion":{"id":"119","pickleStepId":"40","snippets":[{"language":"typescript","code":"Given(\"an undefined step\", () => {\n return \"pending\"\n})"}]}}
34
+ {"testStepFinished":{"testCaseStartedId":"118","testStepId":"84","testStepResult":{"status":"UNDEFINED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":5000000}}}
35
+ {"testStepStarted":{"testCaseStartedId":"118","testStepId":"85","timestamp":{"seconds":0,"nanos":6000000}}}
36
+ {"testStepFinished":{"testCaseStartedId":"118","testStepId":"85","testStepResult":{"status":"AMBIGUOUS","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":7000000}}}
37
+ {"testCaseFinished":{"testCaseStartedId":"118","timestamp":{"seconds":0,"nanos":8000000},"willBeRetried":false}}
38
+ {"testCaseStarted":{"id":"120","testCaseId":"86","timestamp":{"seconds":0,"nanos":9000000},"attempt":0}}
39
+ {"testStepStarted":{"testCaseStartedId":"120","testStepId":"87","timestamp":{"seconds":0,"nanos":10000000}}}
40
+ {"suggestion":{"id":"121","pickleStepId":"43","snippets":[{"language":"typescript","code":"Given(\"an undefined step\", () => {\n return \"pending\"\n})"}]}}
41
+ {"testStepFinished":{"testCaseStartedId":"120","testStepId":"87","testStepResult":{"status":"UNDEFINED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":11000000}}}
42
+ {"testStepStarted":{"testCaseStartedId":"120","testStepId":"88","timestamp":{"seconds":0,"nanos":12000000}}}
43
+ {"suggestion":{"id":"122","pickleStepId":"44","snippets":[{"language":"typescript","code":"Given(\"an undefined step\", () => {\n return \"pending\"\n})"}]}}
44
+ {"testStepFinished":{"testCaseStartedId":"120","testStepId":"88","testStepResult":{"status":"UNDEFINED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":13000000}}}
45
+ {"testStepStarted":{"testCaseStartedId":"120","testStepId":"89","timestamp":{"seconds":0,"nanos":14000000}}}
46
+ {"testStepFinished":{"testCaseStartedId":"120","testStepId":"89","testStepResult":{"status":"AMBIGUOUS","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":15000000}}}
47
+ {"testCaseFinished":{"testCaseStartedId":"120","timestamp":{"seconds":0,"nanos":16000000},"willBeRetried":false}}
48
+ {"testCaseStarted":{"id":"123","testCaseId":"90","timestamp":{"seconds":0,"nanos":17000000},"attempt":0}}
49
+ {"testStepStarted":{"testCaseStartedId":"123","testStepId":"91","timestamp":{"seconds":0,"nanos":18000000}}}
50
+ {"testStepFinished":{"testCaseStartedId":"123","testStepId":"91","testStepResult":{"status":"AMBIGUOUS","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":19000000}}}
51
+ {"testStepStarted":{"testCaseStartedId":"123","testStepId":"92","timestamp":{"seconds":0,"nanos":20000000}}}
52
+ {"suggestion":{"id":"124","pickleStepId":"48","snippets":[{"language":"typescript","code":"Given(\"an undefined step\", () => {\n return \"pending\"\n})"}]}}
53
+ {"testStepFinished":{"testCaseStartedId":"123","testStepId":"92","testStepResult":{"status":"UNDEFINED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":21000000}}}
54
+ {"testStepStarted":{"testCaseStartedId":"123","testStepId":"93","timestamp":{"seconds":0,"nanos":22000000}}}
55
+ {"testStepFinished":{"testCaseStartedId":"123","testStepId":"93","testStepResult":{"status":"AMBIGUOUS","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":23000000}}}
56
+ {"testCaseFinished":{"testCaseStartedId":"123","timestamp":{"seconds":0,"nanos":24000000},"willBeRetried":false}}
57
+ {"testCaseStarted":{"id":"125","testCaseId":"94","timestamp":{"seconds":0,"nanos":25000000},"attempt":0}}
58
+ {"testStepStarted":{"testCaseStartedId":"125","testStepId":"95","timestamp":{"seconds":0,"nanos":26000000}}}
59
+ {"testStepFinished":{"testCaseStartedId":"125","testStepId":"95","testStepResult":{"message":"whoops","exception":{"type":"Error","message":"whoops","stackTrace":"Error: whoops\nsamples/failedish-combinations/failedish-combinations.feature:23"},"status":"FAILED","duration":{"seconds":0,"nanos":1000000}},"timestamp":{"seconds":0,"nanos":27000000}}}
60
+ {"testStepStarted":{"testCaseStartedId":"125","testStepId":"96","timestamp":{"seconds":0,"nanos":28000000}}}
61
+ {"suggestion":{"id":"126","pickleStepId":"52","snippets":[{"language":"typescript","code":"Given(\"an undefined step\", () => {\n return \"pending\"\n})"}]}}
62
+ {"testStepFinished":{"testCaseStartedId":"125","testStepId":"96","testStepResult":{"status":"UNDEFINED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":29000000}}}
63
+ {"testStepStarted":{"testCaseStartedId":"125","testStepId":"97","timestamp":{"seconds":0,"nanos":30000000}}}
64
+ {"testStepFinished":{"testCaseStartedId":"125","testStepId":"97","testStepResult":{"status":"AMBIGUOUS","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":31000000}}}
65
+ {"testCaseFinished":{"testCaseStartedId":"125","timestamp":{"seconds":0,"nanos":32000000},"willBeRetried":false}}
66
+ {"testCaseStarted":{"id":"127","testCaseId":"98","timestamp":{"seconds":0,"nanos":33000000},"attempt":0}}
67
+ {"testStepStarted":{"testCaseStartedId":"127","testStepId":"99","timestamp":{"seconds":0,"nanos":34000000}}}
68
+ {"testStepFinished":{"testCaseStartedId":"127","testStepId":"99","testStepResult":{"status":"PENDING","duration":{"seconds":0,"nanos":1000000}},"timestamp":{"seconds":0,"nanos":35000000}}}
69
+ {"testStepStarted":{"testCaseStartedId":"127","testStepId":"100","timestamp":{"seconds":0,"nanos":36000000}}}
70
+ {"testStepFinished":{"testCaseStartedId":"127","testStepId":"100","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":37000000}}}
71
+ {"testStepStarted":{"testCaseStartedId":"127","testStepId":"101","timestamp":{"seconds":0,"nanos":38000000}}}
72
+ {"testStepFinished":{"testCaseStartedId":"127","testStepId":"101","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":39000000}}}
73
+ {"testCaseFinished":{"testCaseStartedId":"127","timestamp":{"seconds":0,"nanos":40000000},"willBeRetried":false}}
74
+ {"testCaseStarted":{"id":"128","testCaseId":"102","timestamp":{"seconds":0,"nanos":41000000},"attempt":0}}
75
+ {"testStepStarted":{"testCaseStartedId":"128","testStepId":"103","timestamp":{"seconds":0,"nanos":42000000}}}
76
+ {"suggestion":{"id":"129","pickleStepId":"59","snippets":[{"language":"typescript","code":"Given(\"an undefined step\", () => {\n return \"pending\"\n})"}]}}
77
+ {"testStepFinished":{"testCaseStartedId":"128","testStepId":"103","testStepResult":{"status":"UNDEFINED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":43000000}}}
78
+ {"testStepStarted":{"testCaseStartedId":"128","testStepId":"104","timestamp":{"seconds":0,"nanos":44000000}}}
79
+ {"testStepFinished":{"testCaseStartedId":"128","testStepId":"104","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":45000000}}}
80
+ {"testStepStarted":{"testCaseStartedId":"128","testStepId":"105","timestamp":{"seconds":0,"nanos":46000000}}}
81
+ {"testStepFinished":{"testCaseStartedId":"128","testStepId":"105","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":47000000}}}
82
+ {"testCaseFinished":{"testCaseStartedId":"128","timestamp":{"seconds":0,"nanos":48000000},"willBeRetried":false}}
83
+ {"testCaseStarted":{"id":"130","testCaseId":"106","timestamp":{"seconds":0,"nanos":49000000},"attempt":0}}
84
+ {"testStepStarted":{"testCaseStartedId":"130","testStepId":"107","timestamp":{"seconds":0,"nanos":50000000}}}
85
+ {"testStepFinished":{"testCaseStartedId":"130","testStepId":"107","testStepResult":{"status":"AMBIGUOUS","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":51000000}}}
86
+ {"testStepStarted":{"testCaseStartedId":"130","testStepId":"108","timestamp":{"seconds":0,"nanos":52000000}}}
87
+ {"testStepFinished":{"testCaseStartedId":"130","testStepId":"108","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":53000000}}}
88
+ {"testStepStarted":{"testCaseStartedId":"130","testStepId":"109","timestamp":{"seconds":0,"nanos":54000000}}}
89
+ {"testStepFinished":{"testCaseStartedId":"130","testStepId":"109","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":55000000}}}
90
+ {"testCaseFinished":{"testCaseStartedId":"130","timestamp":{"seconds":0,"nanos":56000000},"willBeRetried":false}}
91
+ {"testCaseStarted":{"id":"131","testCaseId":"110","timestamp":{"seconds":0,"nanos":57000000},"attempt":0}}
92
+ {"testStepStarted":{"testCaseStartedId":"131","testStepId":"111","timestamp":{"seconds":0,"nanos":58000000}}}
93
+ {"testStepFinished":{"testCaseStartedId":"131","testStepId":"111","testStepResult":{"message":"whoops","exception":{"type":"Error","message":"whoops","stackTrace":"Error: whoops\nsamples/failedish-combinations/failedish-combinations.feature:45"},"status":"FAILED","duration":{"seconds":0,"nanos":1000000}},"timestamp":{"seconds":0,"nanos":59000000}}}
94
+ {"testStepStarted":{"testCaseStartedId":"131","testStepId":"112","timestamp":{"seconds":0,"nanos":60000000}}}
95
+ {"testStepFinished":{"testCaseStartedId":"131","testStepId":"112","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":61000000}}}
96
+ {"testStepStarted":{"testCaseStartedId":"131","testStepId":"113","timestamp":{"seconds":0,"nanos":62000000}}}
97
+ {"testStepFinished":{"testCaseStartedId":"131","testStepId":"113","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":63000000}}}
98
+ {"testCaseFinished":{"testCaseStartedId":"131","timestamp":{"seconds":0,"nanos":64000000},"willBeRetried":false}}
99
+ {"testCaseStarted":{"id":"132","testCaseId":"114","timestamp":{"seconds":0,"nanos":65000000},"attempt":0}}
100
+ {"testStepStarted":{"testCaseStartedId":"132","testStepId":"115","timestamp":{"seconds":0,"nanos":66000000}}}
101
+ {"testStepFinished":{"testCaseStartedId":"132","testStepId":"115","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":1000000}},"timestamp":{"seconds":0,"nanos":67000000}}}
102
+ {"testStepStarted":{"testCaseStartedId":"132","testStepId":"116","timestamp":{"seconds":0,"nanos":68000000}}}
103
+ {"testStepFinished":{"testCaseStartedId":"132","testStepId":"116","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":69000000}}}
104
+ {"testStepStarted":{"testCaseStartedId":"132","testStepId":"117","timestamp":{"seconds":0,"nanos":70000000}}}
105
+ {"testStepFinished":{"testCaseStartedId":"132","testStepId":"117","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":71000000}}}
106
+ {"testCaseFinished":{"testCaseStartedId":"132","timestamp":{"seconds":0,"nanos":72000000},"willBeRetried":false}}
107
+ {"testRunFinished":{"testRunStartedId":"81","timestamp":{"seconds":0,"nanos":73000000},"success":false}}
@@ -13,17 +13,17 @@
13
13
  {"testCase":{"id":"25","pickleId":"15","testSteps":[{"id":"26","pickleStepId":"13","stepDefinitionIds":["18"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"27","pickleStepId":"14","stepDefinitionIds":["17"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]}],"testRunStartedId":"19"}}
14
14
  {"testCaseStarted":{"id":"28","testCaseId":"20","timestamp":{"seconds":0,"nanos":1000000},"attempt":0}}
15
15
  {"testStepStarted":{"testCaseStartedId":"28","testStepId":"21","timestamp":{"seconds":0,"nanos":2000000}}}
16
- {"testStepFinished":{"testCaseStartedId":"28","testStepId":"21","testStepResult":{"status":"PENDING","message":"TODO","duration":{"seconds":0,"nanos":1000000}},"timestamp":{"seconds":0,"nanos":3000000}}}
16
+ {"testStepFinished":{"testCaseStartedId":"28","testStepId":"21","testStepResult":{"status":"PENDING","duration":{"seconds":0,"nanos":1000000}},"timestamp":{"seconds":0,"nanos":3000000}}}
17
17
  {"testCaseFinished":{"testCaseStartedId":"28","timestamp":{"seconds":0,"nanos":4000000},"willBeRetried":false}}
18
18
  {"testCaseStarted":{"id":"29","testCaseId":"22","timestamp":{"seconds":0,"nanos":5000000},"attempt":0}}
19
19
  {"testStepStarted":{"testCaseStartedId":"29","testStepId":"23","timestamp":{"seconds":0,"nanos":6000000}}}
20
20
  {"testStepFinished":{"testCaseStartedId":"29","testStepId":"23","testStepResult":{"status":"PASSED","duration":{"seconds":0,"nanos":1000000}},"timestamp":{"seconds":0,"nanos":7000000}}}
21
21
  {"testStepStarted":{"testCaseStartedId":"29","testStepId":"24","timestamp":{"seconds":0,"nanos":8000000}}}
22
- {"testStepFinished":{"testCaseStartedId":"29","testStepId":"24","testStepResult":{"status":"PENDING","message":"TODO","duration":{"seconds":0,"nanos":1000000}},"timestamp":{"seconds":0,"nanos":9000000}}}
22
+ {"testStepFinished":{"testCaseStartedId":"29","testStepId":"24","testStepResult":{"status":"PENDING","duration":{"seconds":0,"nanos":1000000}},"timestamp":{"seconds":0,"nanos":9000000}}}
23
23
  {"testCaseFinished":{"testCaseStartedId":"29","timestamp":{"seconds":0,"nanos":10000000},"willBeRetried":false}}
24
24
  {"testCaseStarted":{"id":"30","testCaseId":"25","timestamp":{"seconds":0,"nanos":11000000},"attempt":0}}
25
25
  {"testStepStarted":{"testCaseStartedId":"30","testStepId":"26","timestamp":{"seconds":0,"nanos":12000000}}}
26
- {"testStepFinished":{"testCaseStartedId":"30","testStepId":"26","testStepResult":{"status":"PENDING","message":"TODO","duration":{"seconds":0,"nanos":1000000}},"timestamp":{"seconds":0,"nanos":13000000}}}
26
+ {"testStepFinished":{"testCaseStartedId":"30","testStepId":"26","testStepResult":{"status":"PENDING","duration":{"seconds":0,"nanos":1000000}},"timestamp":{"seconds":0,"nanos":13000000}}}
27
27
  {"testStepStarted":{"testCaseStartedId":"30","testStepId":"27","timestamp":{"seconds":0,"nanos":14000000}}}
28
28
  {"testStepFinished":{"testCaseStartedId":"30","testStepId":"27","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":0,"nanos":15000000}}}
29
29
  {"testCaseFinished":{"testCaseStartedId":"30","timestamp":{"seconds":0,"nanos":16000000},"willBeRetried":false}}
@@ -0,0 +1,6 @@
1
+ Feature: Pending steps via exception
2
+ Some implementations support marking a step pending via throwing
3
+ an exception, which can include a message
4
+
5
+ Scenario: Pending via an exception
6
+ Given an unimplemented pending step
@@ -0,0 +1,12 @@
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"}}}}
2
+ {"source":{"data":"Feature: Pending steps via exception\n Some implementations support marking a step pending via throwing\n an exception, which can include a message\n\n Scenario: Pending via an exception\n Given an unimplemented pending step\n","uri":"samples/pending-exception/pending-exception.feature","mediaType":"text/x.cucumber.gherkin+plain"}}
3
+ {"gherkinDocument":{"feature":{"tags":[],"location":{"line":1,"column":1},"language":"en","keyword":"Feature","name":"Pending steps via exception","description":" Some implementations support marking a step pending via throwing\n an exception, which can include a message","children":[{"scenario":{"id":"1","tags":[],"location":{"line":5,"column":3},"keyword":"Scenario","name":"Pending via an exception","description":"","steps":[{"id":"0","location":{"line":6,"column":5},"keyword":"Given ","keywordType":"Context","text":"an unimplemented pending step"}],"examples":[]}}]},"comments":[],"uri":"samples/pending-exception/pending-exception.feature"}}
4
+ {"pickle":{"id":"3","uri":"samples/pending-exception/pending-exception.feature","location":{"line":5,"column":3},"astNodeIds":["1"],"tags":[],"name":"Pending via an exception","language":"en","steps":[{"id":"2","text":"an unimplemented pending step","type":"Context","astNodeIds":["0"]}]}}
5
+ {"stepDefinition":{"id":"4","pattern":{"type":"CUCUMBER_EXPRESSION","source":"an unimplemented pending step"},"sourceReference":{"uri":"samples/pending-exception/pending-exception.ts","location":{"line":3}}}}
6
+ {"testRunStarted":{"id":"5","timestamp":{"seconds":0,"nanos":0}}}
7
+ {"testCase":{"id":"6","pickleId":"3","testSteps":[{"id":"7","pickleStepId":"2","stepDefinitionIds":["4"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]}],"testRunStartedId":"5"}}
8
+ {"testCaseStarted":{"id":"8","testCaseId":"6","timestamp":{"seconds":0,"nanos":1000000},"attempt":0}}
9
+ {"testStepStarted":{"testCaseStartedId":"8","testStepId":"7","timestamp":{"seconds":0,"nanos":2000000}}}
10
+ {"testStepFinished":{"testCaseStartedId":"8","testStepId":"7","testStepResult":{"message":"TODO","exception":{"type":"PendingException","message":"TODO","stackTrace":"PendingException: TODO\nsamples/pending-exception/pending-exception.feature:6"},"status":"PENDING","duration":{"seconds":0,"nanos":1000000}},"timestamp":{"seconds":0,"nanos":3000000}}}
11
+ {"testCaseFinished":{"testCaseStartedId":"8","timestamp":{"seconds":0,"nanos":4000000},"willBeRetried":false}}
12
+ {"testRunFinished":{"testRunStartedId":"5","timestamp":{"seconds":0,"nanos":5000000},"success":false}}
@@ -7,6 +7,6 @@
7
7
  {"testCase":{"id":"6","pickleId":"3","testSteps":[{"id":"7","pickleStepId":"2","stepDefinitionIds":["4"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]}],"testRunStartedId":"5"}}
8
8
  {"testCaseStarted":{"id":"8","testCaseId":"6","timestamp":{"seconds":0,"nanos":1000000},"attempt":0}}
9
9
  {"testStepStarted":{"testCaseStartedId":"8","testStepId":"7","timestamp":{"seconds":0,"nanos":2000000}}}
10
- {"testStepFinished":{"testCaseStartedId":"8","testStepId":"7","testStepResult":{"status":"PENDING","message":"TODO","duration":{"seconds":0,"nanos":1000000}},"timestamp":{"seconds":0,"nanos":3000000}}}
10
+ {"testStepFinished":{"testCaseStartedId":"8","testStepId":"7","testStepResult":{"status":"PENDING","duration":{"seconds":0,"nanos":1000000}},"timestamp":{"seconds":0,"nanos":3000000}}}
11
11
  {"testCaseFinished":{"testCaseStartedId":"8","timestamp":{"seconds":0,"nanos":4000000},"willBeRetried":false}}
12
12
  {"testRunFinished":{"testRunStartedId":"5","timestamp":{"seconds":0,"nanos":5000000},"success":false}}
@@ -0,0 +1,7 @@
1
+ Feature: Skipping scenarios via exception
2
+
3
+ Some implementations support marking a step skipped via throwing
4
+ an exception, which can include a message
5
+
6
+ Scenario: Skipping via an exception
7
+ Given I skip a step
@@ -0,0 +1,12 @@
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"}}}}
2
+ {"source":{"data":"Feature: Skipping scenarios via exception\n\n Some implementations support marking a step skipped via throwing\n an exception, which can include a message\n\n Scenario: Skipping via an exception\n Given I skip a step\n","uri":"samples/skipped-exception/skipped-exception.feature","mediaType":"text/x.cucumber.gherkin+plain"}}
3
+ {"gherkinDocument":{"feature":{"tags":[],"location":{"line":1,"column":1},"language":"en","keyword":"Feature","name":"Skipping scenarios via exception","description":" Some implementations support marking a step skipped via throwing\n an exception, which can include a message","children":[{"scenario":{"id":"1","tags":[],"location":{"line":6,"column":3},"keyword":"Scenario","name":"Skipping via an exception","description":"","steps":[{"id":"0","location":{"line":7,"column":5},"keyword":"Given ","keywordType":"Context","text":"I skip a step"}],"examples":[]}}]},"comments":[],"uri":"samples/skipped-exception/skipped-exception.feature"}}
4
+ {"pickle":{"id":"3","uri":"samples/skipped-exception/skipped-exception.feature","location":{"line":6,"column":3},"astNodeIds":["1"],"tags":[],"name":"Skipping via an exception","language":"en","steps":[{"id":"2","text":"I skip a step","type":"Context","astNodeIds":["0"]}]}}
5
+ {"stepDefinition":{"id":"4","pattern":{"type":"CUCUMBER_EXPRESSION","source":"I skip a step"},"sourceReference":{"uri":"samples/skipped-exception/skipped-exception.ts","location":{"line":3}}}}
6
+ {"testRunStarted":{"id":"5","timestamp":{"seconds":0,"nanos":0}}}
7
+ {"testCase":{"id":"6","pickleId":"3","testSteps":[{"id":"7","pickleStepId":"2","stepDefinitionIds":["4"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]}],"testRunStartedId":"5"}}
8
+ {"testCaseStarted":{"id":"8","testCaseId":"6","timestamp":{"seconds":0,"nanos":1000000},"attempt":0}}
9
+ {"testStepStarted":{"testCaseStartedId":"8","testStepId":"7","timestamp":{"seconds":0,"nanos":2000000}}}
10
+ {"testStepFinished":{"testCaseStartedId":"8","testStepId":"7","testStepResult":{"message":"skipping","exception":{"type":"SkippedException","message":"skipping","stackTrace":"SkippedException: skipping\nsamples/skipped-exception/skipped-exception.feature:7"},"status":"SKIPPED","duration":{"seconds":0,"nanos":1000000}},"timestamp":{"seconds":0,"nanos":3000000}}}
11
+ {"testCaseFinished":{"testCaseStartedId":"8","timestamp":{"seconds":0,"nanos":4000000},"willBeRetried":false}}
12
+ {"testRunFinished":{"testRunStartedId":"5","timestamp":{"seconds":0,"nanos":5000000},"success":true}}
@@ -0,0 +1,7 @@
1
+ Feature: Skipped followed by failing hook
2
+
3
+ Failure in an After hook following a skipped step will cause that test case to be considered failed
4
+ overall.
5
+
6
+ Scenario: Failure in an After hook
7
+ Given a step that skips
@@ -0,0 +1,15 @@
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"}}}}
2
+ {"source":{"data":"Feature: Skipped followed by failing hook\n\n Failure in an After hook following a skipped step will cause that test case to be considered failed\n overall.\n\n Scenario: Failure in an After hook\n Given a step that skips\n","uri":"samples/skipped-failing-hook/skipped-failing-hook.feature","mediaType":"text/x.cucumber.gherkin+plain"}}
3
+ {"gherkinDocument":{"feature":{"tags":[],"location":{"line":1,"column":1},"language":"en","keyword":"Feature","name":"Skipped followed by failing hook","description":" Failure in an After hook following a skipped step will cause that test case to be considered failed\n overall.","children":[{"scenario":{"id":"1","tags":[],"location":{"line":6,"column":3},"keyword":"Scenario","name":"Failure in an After hook","description":"","steps":[{"id":"0","location":{"line":7,"column":5},"keyword":"Given ","keywordType":"Context","text":"a step that skips"}],"examples":[]}}]},"comments":[],"uri":"samples/skipped-failing-hook/skipped-failing-hook.feature"}}
4
+ {"pickle":{"id":"3","uri":"samples/skipped-failing-hook/skipped-failing-hook.feature","location":{"line":6,"column":3},"astNodeIds":["1"],"tags":[],"name":"Failure in an After hook","language":"en","steps":[{"id":"2","text":"a step that skips","type":"Context","astNodeIds":["0"]}]}}
5
+ {"stepDefinition":{"id":"4","pattern":{"type":"CUCUMBER_EXPRESSION","source":"a step that skips"},"sourceReference":{"uri":"samples/skipped-failing-hook/skipped-failing-hook.ts","location":{"line":3}}}}
6
+ {"hook":{"id":"5","type":"AFTER_TEST_CASE","sourceReference":{"uri":"samples/skipped-failing-hook/skipped-failing-hook.ts","location":{"line":7}}}}
7
+ {"testRunStarted":{"id":"6","timestamp":{"seconds":0,"nanos":0}}}
8
+ {"testCase":{"id":"7","pickleId":"3","testSteps":[{"id":"8","pickleStepId":"2","stepDefinitionIds":["4"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"9","hookId":"5"}],"testRunStartedId":"6"}}
9
+ {"testCaseStarted":{"id":"10","testCaseId":"7","timestamp":{"seconds":0,"nanos":1000000},"attempt":0}}
10
+ {"testStepStarted":{"testCaseStartedId":"10","testStepId":"8","timestamp":{"seconds":0,"nanos":2000000}}}
11
+ {"testStepFinished":{"testCaseStartedId":"10","testStepId":"8","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":1000000}},"timestamp":{"seconds":0,"nanos":3000000}}}
12
+ {"testStepStarted":{"testCaseStartedId":"10","testStepId":"9","timestamp":{"seconds":0,"nanos":4000000}}}
13
+ {"testStepFinished":{"testCaseStartedId":"10","testStepId":"9","testStepResult":{"message":"whoops","exception":{"type":"Error","message":"whoops","stackTrace":"Error: whoops\nsamples/skipped-failing-hook/skipped-failing-hook.feature:6"},"status":"FAILED","duration":{"seconds":0,"nanos":1000000}},"timestamp":{"seconds":0,"nanos":5000000}}}
14
+ {"testCaseFinished":{"testCaseStartedId":"10","timestamp":{"seconds":0,"nanos":6000000},"willBeRetried":false}}
15
+ {"testRunFinished":{"testRunStartedId":"6","timestamp":{"seconds":0,"nanos":7000000},"success":false}}
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: 28.0.1
4
+ version: 29.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aurélien Reeves
@@ -104,6 +104,8 @@ files:
104
104
  - features/examples-tables-undefined/examples-undefined.feature
105
105
  - features/examples-tables/examples-tables.feature
106
106
  - features/examples-tables/examples-tables.ndjson
107
+ - features/failedish-combinations/failedish-combinations.feature
108
+ - features/failedish-combinations/failedish-combinations.ndjson
107
109
  - features/global-hooks-afterall-error/global-hooks-afterall-error.feature
108
110
  - features/global-hooks-afterall-error/global-hooks-afterall-error.ndjson
109
111
  - features/global-hooks-attachments/global-hooks-attachments.feature
@@ -140,6 +142,8 @@ files:
140
142
  - features/multiple-features/multiple-features.ndjson
141
143
  - features/parameter-types/parameter-types.feature
142
144
  - features/parameter-types/parameter-types.ndjson
145
+ - features/pending-exception/pending-exception.feature
146
+ - features/pending-exception/pending-exception.ndjson
143
147
  - features/pending/pending.feature
144
148
  - features/pending/pending.ndjson
145
149
  - features/regular-expression/regular-expression.feature
@@ -160,6 +164,10 @@ files:
160
164
  - features/rules-backgrounds/rules-backgrounds.ndjson
161
165
  - features/rules/rules.feature
162
166
  - features/rules/rules.ndjson
167
+ - features/skipped-exception/skipped-exception.feature
168
+ - features/skipped-exception/skipped-exception.ndjson
169
+ - features/skipped-failing-hook/skipped-failing-hook.feature
170
+ - features/skipped-failing-hook/skipped-failing-hook.ndjson
163
171
  - features/skipped/skipped.feature
164
172
  - features/skipped/skipped.ndjson
165
173
  - features/stack-traces/stack-traces.feature
@@ -200,5 +208,5 @@ required_rubygems_version: !ruby/object:Gem::Requirement
200
208
  requirements: []
201
209
  rubygems_version: 3.6.9
202
210
  specification_version: 4
203
- summary: cucumber-compatibility-kit-28.0.1
211
+ summary: cucumber-compatibility-kit-29.0.0
204
212
  test_files: []