From 169fcffcd38d59d233fd0bfc9a78312c4d2664fc Mon Sep 17 00:00:00 2001 From: 50U10FCA7 <31173478+50U10FCA7@users.noreply.github.com> Date: Mon, 16 Oct 2023 10:21:44 -0500 Subject: [PATCH] Cover basic and colored output regressions with unit tests (#302, #299) Additionally: - use deterministic order of possible matches in `AmbiguousMatchError` - reduce count of cursor moves in `writer::out::WriteStrExt::clear_last_lines()` - unify code style of lines accessing `writer::Basic` Co-authored-by: 50U10FCA7 --- CHANGELOG.md | 3 +- src/step.rs | 2 + src/writer/basic.rs | 10 +- src/writer/out.rs | 8 +- tests/features/output/.feature.basic.out | 5 + tests/features/output/.feature.colored.out | 8 + .../{.feature.out => .feature.debug.out} | 8 +- .../output/ambiguous_step.feature.basic.out | 8 + .../output/ambiguous_step.feature.colored.out | 9 + ...e.out => ambiguous_step.feature.debug.out} | 4 +- .../output/background_rule.feature.basic.out | 7 + .../background_rule.feature.colored.out | 11 + ....out => background_rule.feature.debug.out} | 10 +- ...ckground_rule_background.feature.basic.out | 8 + ...ground_rule_background.feature.colored.out | 13 + ...kground_rule_background.feature.debug.out} | 12 +- ..._rule_background_outline.feature.basic.out | 8 + ...ule_background_outline.feature.colored.out | 13 + ...rule_background_outline.feature.debug.out} | 12 +- .../background_rule_outline.feature.basic.out | 7 + ...ackground_rule_outline.feature.colored.out | 11 + ...background_rule_outline.feature.debug.out} | 10 +- .../background_scenario.feature.basic.out | 6 + .../background_scenario.feature.colored.out | 10 + ... => background_scenario.feature.debug.out} | 10 +- ...kground_scenario_outline.feature.basic.out | 6 + ...round_scenario_outline.feature.colored.out | 10 + ...ground_scenario_outline.feature.debug.out} | 10 +- .../output/descriptions.feature.basic.out | 17 ++ .../output/descriptions.feature.colored.out | 25 ++ ...ure.out => descriptions.feature.debug.out} | 18 +- ...on_with_allowed_keywords.feature.basic.out | 5 + ..._with_allowed_keywords.feature.colored.out | 8 + ...n_with_allowed_keywords.feature.debug.out} | 8 +- .../output/non_default_lang.feature.basic.out | 5 + .../non_default_lang.feature.colored.out | 8 + ...out => non_default_lang.feature.debug.out} | 8 +- .../output/parsing_failed.feature.basic.out | 1 + .../output/parsing_failed.feature.colored.out | 1 + ...e.out => parsing_failed.feature.debug.out} | 2 +- tests/features/output/rule.feature.basic.out | 6 + .../features/output/rule.feature.colored.out | 9 + ...ule.feature.out => rule.feature.debug.out} | 8 +- .../output/rule_background.feature.basic.out | 7 + .../rule_background.feature.colored.out | 11 + ....out => rule_background.feature.debug.out} | 10 +- .../rule_background_outline.feature.basic.out | 7 + ...ule_background_outline.feature.colored.out | 11 + ...rule_background_outline.feature.debug.out} | 10 +- .../output/rule_outline.feature.basic.out | 6 + .../output/rule_outline.feature.colored.out | 9 + ...ure.out => rule_outline.feature.debug.out} | 8 +- .../output/scenario.feature.basic.out | 5 + .../output/scenario.feature.colored.out | 8 + ...feature.out => scenario.feature.debug.out} | 8 +- .../output/scenario_outline.feature.basic.out | 5 + .../scenario_outline.feature.colored.out | 8 + ...out => scenario_outline.feature.debug.out} | 8 +- ...tline_adjacent_templates.feature.basic.out | 10 + ...ine_adjacent_templates.feature.colored.out | 12 + ...line_adjacent_templates.feature.debug.out} | 6 +- .../scenario_outline_table.feature.basic.out | 19 ++ ...scenario_outline_table.feature.colored.out | 29 ++ ... scenario_outline_table.feature.debug.out} | 10 +- ...ine_with_basic_dosctring.feature.basic.out | 5 + ...e_with_basic_dosctring.feature.colored.out | 8 + ...ne_with_basic_dosctring.feature.debug.out} | 8 +- ..._with_expanded_dosctring.feature.basic.out | 5 + ...ith_expanded_dosctring.feature.colored.out | 8 + ...with_expanded_dosctring.feature.debug.out} | 8 +- ...e_with_multiple_examples.feature.basic.out | 13 + ...with_multiple_examples.feature.colored.out | 17 ++ ..._with_multiple_examples.feature.debug.out} | 10 +- ...enario_outline_with_tags.feature.basic.out | 5 + ...ario_outline_with_tags.feature.colored.out | 8 + ...nario_outline_with_tags.feature.debug.out} | 8 +- ...e_with_tags_and_comments.feature.basic.out | 5 + ...with_tags_and_comments.feature.colored.out | 8 + ..._with_tags_and_comments.feature.debug.out} | 8 +- ...unknown_scenario_outline.feature.basic.out | 1 + ...known_scenario_outline.feature.colored.out | 1 + ...nknown_scenario_outline.feature.debug.out} | 2 +- tests/libtest.rs | 1 - tests/output.rs | 254 +++++++++--------- 84 files changed, 714 insertions(+), 244 deletions(-) create mode 100644 tests/features/output/.feature.basic.out create mode 100644 tests/features/output/.feature.colored.out rename tests/features/output/{.feature.out => .feature.debug.out} (98%) create mode 100644 tests/features/output/ambiguous_step.feature.basic.out create mode 100644 tests/features/output/ambiguous_step.feature.colored.out rename tests/features/output/{ambiguous_step.feature.out => ambiguous_step.feature.debug.out} (97%) create mode 100644 tests/features/output/background_rule.feature.basic.out create mode 100644 tests/features/output/background_rule.feature.colored.out rename tests/features/output/{background_rule.feature.out => background_rule.feature.debug.out} (99%) create mode 100644 tests/features/output/background_rule_background.feature.basic.out create mode 100644 tests/features/output/background_rule_background.feature.colored.out rename tests/features/output/{background_rule_background.feature.out => background_rule_background.feature.debug.out} (99%) create mode 100644 tests/features/output/background_rule_background_outline.feature.basic.out create mode 100644 tests/features/output/background_rule_background_outline.feature.colored.out rename tests/features/output/{background_rule_background_outline.feature.out => background_rule_background_outline.feature.debug.out} (99%) create mode 100644 tests/features/output/background_rule_outline.feature.basic.out create mode 100644 tests/features/output/background_rule_outline.feature.colored.out rename tests/features/output/{background_rule_outline.feature.out => background_rule_outline.feature.debug.out} (99%) create mode 100644 tests/features/output/background_scenario.feature.basic.out create mode 100644 tests/features/output/background_scenario.feature.colored.out rename tests/features/output/{background_scenario.feature.out => background_scenario.feature.debug.out} (98%) create mode 100644 tests/features/output/background_scenario_outline.feature.basic.out create mode 100644 tests/features/output/background_scenario_outline.feature.colored.out rename tests/features/output/{background_scenario_outline.feature.out => background_scenario_outline.feature.debug.out} (99%) create mode 100644 tests/features/output/descriptions.feature.basic.out create mode 100644 tests/features/output/descriptions.feature.colored.out rename tests/features/output/{descriptions.feature.out => descriptions.feature.debug.out} (99%) create mode 100644 tests/features/output/feature_description_with_allowed_keywords.feature.basic.out create mode 100644 tests/features/output/feature_description_with_allowed_keywords.feature.colored.out rename tests/features/output/{feature_description_with_allowed_keywords.feature.out => feature_description_with_allowed_keywords.feature.debug.out} (98%) create mode 100644 tests/features/output/non_default_lang.feature.basic.out create mode 100644 tests/features/output/non_default_lang.feature.colored.out rename tests/features/output/{non_default_lang.feature.out => non_default_lang.feature.debug.out} (98%) create mode 100644 tests/features/output/parsing_failed.feature.basic.out create mode 100644 tests/features/output/parsing_failed.feature.colored.out rename tests/features/output/{parsing_failed.feature.out => parsing_failed.feature.debug.out} (92%) create mode 100644 tests/features/output/rule.feature.basic.out create mode 100644 tests/features/output/rule.feature.colored.out rename tests/features/output/{rule.feature.out => rule.feature.debug.out} (99%) create mode 100644 tests/features/output/rule_background.feature.basic.out create mode 100644 tests/features/output/rule_background.feature.colored.out rename tests/features/output/{rule_background.feature.out => rule_background.feature.debug.out} (99%) create mode 100644 tests/features/output/rule_background_outline.feature.basic.out create mode 100644 tests/features/output/rule_background_outline.feature.colored.out rename tests/features/output/{rule_background_outline.feature.out => rule_background_outline.feature.debug.out} (99%) create mode 100644 tests/features/output/rule_outline.feature.basic.out create mode 100644 tests/features/output/rule_outline.feature.colored.out rename tests/features/output/{rule_outline.feature.out => rule_outline.feature.debug.out} (99%) create mode 100644 tests/features/output/scenario.feature.basic.out create mode 100644 tests/features/output/scenario.feature.colored.out rename tests/features/output/{scenario.feature.out => scenario.feature.debug.out} (98%) create mode 100644 tests/features/output/scenario_outline.feature.basic.out create mode 100644 tests/features/output/scenario_outline.feature.colored.out rename tests/features/output/{scenario_outline.feature.out => scenario_outline.feature.debug.out} (99%) create mode 100644 tests/features/output/scenario_outline_adjacent_templates.feature.basic.out create mode 100644 tests/features/output/scenario_outline_adjacent_templates.feature.colored.out rename tests/features/output/{scenario_outline_adjacent_templates.feature.out => scenario_outline_adjacent_templates.feature.debug.out} (98%) create mode 100644 tests/features/output/scenario_outline_table.feature.basic.out create mode 100644 tests/features/output/scenario_outline_table.feature.colored.out rename tests/features/output/{scenario_outline_table.feature.out => scenario_outline_table.feature.debug.out} (99%) create mode 100644 tests/features/output/scenario_outline_with_basic_dosctring.feature.basic.out create mode 100644 tests/features/output/scenario_outline_with_basic_dosctring.feature.colored.out rename tests/features/output/{scenario_outline_with_basic_dosctring.feature.out => scenario_outline_with_basic_dosctring.feature.debug.out} (98%) create mode 100644 tests/features/output/scenario_outline_with_expanded_dosctring.feature.basic.out create mode 100644 tests/features/output/scenario_outline_with_expanded_dosctring.feature.colored.out rename tests/features/output/{scenario_outline_with_expanded_dosctring.feature.out => scenario_outline_with_expanded_dosctring.feature.debug.out} (98%) create mode 100644 tests/features/output/scenario_outline_with_multiple_examples.feature.basic.out create mode 100644 tests/features/output/scenario_outline_with_multiple_examples.feature.colored.out rename tests/features/output/{scenario_outline_with_multiple_examples.feature.out => scenario_outline_with_multiple_examples.feature.debug.out} (99%) create mode 100644 tests/features/output/scenario_outline_with_tags.feature.basic.out create mode 100644 tests/features/output/scenario_outline_with_tags.feature.colored.out rename tests/features/output/{scenario_outline_with_tags.feature.out => scenario_outline_with_tags.feature.debug.out} (99%) create mode 100644 tests/features/output/scenario_outline_with_tags_and_comments.feature.basic.out create mode 100644 tests/features/output/scenario_outline_with_tags_and_comments.feature.colored.out rename tests/features/output/{scenario_outline_with_tags_and_comments.feature.out => scenario_outline_with_tags_and_comments.feature.debug.out} (99%) create mode 100644 tests/features/output/unknown_scenario_outline.feature.basic.out create mode 100644 tests/features/output/unknown_scenario_outline.feature.colored.out rename tests/features/output/{unknown_scenario_outline.feature.out => unknown_scenario_outline.feature.debug.out} (92%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 25732391..547307b7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,11 +14,12 @@ All user visible changes to `cucumber` crate will be documented in this file. Th ### Fixed - Incorrect terminal width detection when its height is low. ([#298]) -- Incorrect terminal lines clearing in interactive mode. ([#300], [#299]) +- Incorrect terminal lines clearing in interactive mode. ([#300], [#302], [#299]) [#298]: /../../pull/298 [#299]: /../../issues/299 [#300]: /../../pull/300 +[#302]: /../../pull/302 diff --git a/src/step.rs b/src/step.rs index 4e4922ef..337ff1f8 100644 --- a/src/step.rs +++ b/src/step.rs @@ -24,6 +24,7 @@ use std::{ use derive_more::{Deref, DerefMut, Display, Error}; use futures::future::LocalBoxFuture; use gherkin::StepType; +use itertools::Itertools as _; use regex::Regex; /// Alias for a [`gherkin::Step`] function that returns a [`LocalBoxFuture`]. @@ -199,6 +200,7 @@ impl Collection { possible_matches: captures .into_iter() .map(|(re, loc, ..)| (re.clone(), *loc)) + .sorted() .collect(), }) } diff --git a/src/writer/basic.rs b/src/writer/basic.rs index f3675d0a..55ee3309 100644 --- a/src/writer/basic.rs +++ b/src/writer/basic.rs @@ -548,7 +548,7 @@ impl Basic { indent = " ".repeat(self.indent), ); self.lines_to_clear += self.styles.lines_count(&out); - self.write_line(&out)?; + self.output.write_line(&out)?; } Ok(()) } @@ -734,7 +734,8 @@ impl Basic { .unwrap_or_default(), )); - self.write_line(&format!("{step_keyword}{step_value}{diagnostics}")) + self.output + .write_line(&format!("{step_keyword}{step_value}{diagnostics}")) } /// Outputs the [`Background`] [`Step`]'s @@ -823,7 +824,7 @@ impl Basic { indent = " ".repeat(self.indent.saturating_sub(2)), ); self.lines_to_clear += self.styles.lines_count(&out); - self.write_line(&out)?; + self.output.write_line(&out)?; } Ok(()) } @@ -1011,7 +1012,8 @@ impl Basic { .unwrap_or_default(), )); - self.write_line(&format!("{step_keyword}{step_value}{diagnostics}")) + self.output + .write_line(&format!("{step_keyword}{step_value}{diagnostics}")) } } diff --git a/src/writer/out.rs b/src/writer/out.rs index a401ecce..b7f3fef2 100644 --- a/src/writer/out.rs +++ b/src/writer/out.rs @@ -250,16 +250,18 @@ pub trait WriteStrExt: io::Write { /// Writes a special sequence into this writer clearing the last `n` lines. /// + /// __NOTE:__ This method doesn't clear the current line, only the `n` lines + /// above it. + /// /// # Errors /// /// If this writer fails to write a special sequence. fn clear_last_lines(&mut self, n: usize) -> io::Result<()> { - self.move_cursor_up(n)?; for _ in 0..n { + self.move_cursor_up(1)?; self.clear_line()?; - self.move_cursor_down(1)?; } - self.move_cursor_up(n) + Ok(()) } /// Writes a special sequence into this writer clearing the last line. diff --git a/tests/features/output/.feature.basic.out b/tests/features/output/.feature.basic.out new file mode 100644 index 00000000..31ad5252 --- /dev/null +++ b/tests/features/output/.feature.basic.out @@ -0,0 +1,5 @@ +Feature: output + Scenario: output + ✔ Given foo is 0 + ✔ When foo is 1 + ✔ Then foo is 2 diff --git a/tests/features/output/.feature.colored.out b/tests/features/output/.feature.colored.out new file mode 100644 index 00000000..40090f3f --- /dev/null +++ b/tests/features/output/.feature.colored.out @@ -0,0 +1,8 @@ +Feature: output + Scenario: output + Given foo is 0 +  ✔ Given foo is 0 + When foo is 1 +  ✔ When foo is 1 + Then foo is 2 +  ✔ Then foo is 2 diff --git a/tests/features/output/.feature.out b/tests/features/output/.feature.debug.out similarity index 98% rename from tests/features/output/.feature.out rename to tests/features/output/.feature.debug.out index a8bb8394..af93e9a2 100644 --- a/tests/features/output/.feature.out +++ b/tests/features/output/.feature.debug.out @@ -3,11 +3,11 @@ Started Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Started) Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }, RetryableScenario { event: Started, retries: None })) Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 15, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }, RetryableScenario { event: Finished, retries: None })) Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Finished) -Finished +Finished \ No newline at end of file diff --git a/tests/features/output/ambiguous_step.feature.basic.out b/tests/features/output/ambiguous_step.feature.basic.out new file mode 100644 index 00000000..57fc7a0f --- /dev/null +++ b/tests/features/output/ambiguous_step.feature.basic.out @@ -0,0 +1,8 @@ +Feature: ambiguous + Scenario: ambiguous + ✘ Given foo is 0 ambiguous + Step failed: + Defined: tests/features/output/ambiguous_step.feature:3:5 + Step match is ambiguous: Possible matches: + foo is (\d+) --> tests/output.rs:12:1 + foo is (\d+) ambiguous --> tests/output.rs:20:1 diff --git a/tests/features/output/ambiguous_step.feature.colored.out b/tests/features/output/ambiguous_step.feature.colored.out new file mode 100644 index 00000000..fc2f0fb1 --- /dev/null +++ b/tests/features/output/ambiguous_step.feature.colored.out @@ -0,0 +1,9 @@ +Feature: ambiguous + Scenario: ambiguous + Given foo is 0 ambiguous +  ✘ Given foo is 0 ambiguous + Step failed: + Defined: tests/features/output/ambiguous_step.feature:3:5 + Step match is ambiguous: Possible matches: + foo is (\d+) --> tests/output.rs:12:1 + foo is (\d+) ambiguous --> tests/output.rs:20:1 diff --git a/tests/features/output/ambiguous_step.feature.out b/tests/features/output/ambiguous_step.feature.debug.out similarity index 97% rename from tests/features/output/ambiguous_step.feature.out rename to tests/features/output/ambiguous_step.feature.debug.out index 37a765e7..167e2f19 100644 --- a/tests/features/output/ambiguous_step.feature.out +++ b/tests/features/output/ambiguous_step.feature.debug.out @@ -3,7 +3,7 @@ Started Feature(Feature { keyword: "Feature", name: "ambiguous", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "ambiguous", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0 ambiguous", docstring: None, table: None, position: LineCol { line: 3 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Started) Feature(Feature { keyword: "Feature", name: "ambiguous", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "ambiguous", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0 ambiguous", docstring: None, table: None, position: LineCol { line: 3 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "ambiguous", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0 ambiguous", docstring: None, table: None, position: LineCol { line: 3 } }], examples: [], tags: [], position: LineCol { line: 2 } }, RetryableScenario { event: Started, retries: None })) Feature(Feature { keyword: "Feature", name: "ambiguous", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "ambiguous", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0 ambiguous", docstring: None, table: None, position: LineCol { line: 3 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "ambiguous", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0 ambiguous", docstring: None, table: None, position: LineCol { line: 3 } }], examples: [], tags: [], position: LineCol { line: 2 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0 ambiguous", docstring: None, table: None, position: LineCol { line: 3 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "ambiguous", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "ambiguous", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0 ambiguous", docstring: None, table: None, position: LineCol { line: 3 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "ambiguous", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0 ambiguous", docstring: None, table: None, position: LineCol { line: 3 } }], examples: [], tags: [], position: LineCol { line: 2 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0 ambiguous", docstring: None, table: None, position: LineCol { line: 3 } }, Failed(None, None, None, AmbiguousMatch(AmbiguousMatchError { possible_matches: [(HashableRegex(Regex("foo is (\\d+)")), Some(Location { line: 13, column: 1 })), (HashableRegex(Regex("foo is (\\d+) ambiguous")), Some(Location { line: 21, column: 1 }))] }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "ambiguous", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "ambiguous", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0 ambiguous", docstring: None, table: None, position: LineCol { line: 3 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "ambiguous", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0 ambiguous", docstring: None, table: None, position: LineCol { line: 3 } }], examples: [], tags: [], position: LineCol { line: 2 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0 ambiguous", docstring: None, table: None, position: LineCol { line: 3 } }, Failed(None, None, None, AmbiguousMatch(AmbiguousMatchError { possible_matches: [(HashableRegex(Regex("foo is (\\d+)")), Some(Location { line: 12, column: 1 })), (HashableRegex(Regex("foo is (\\d+) ambiguous")), Some(Location { line: 20, column: 1 }))] }))), retries: None })) Feature(Feature { keyword: "Feature", name: "ambiguous", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "ambiguous", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0 ambiguous", docstring: None, table: None, position: LineCol { line: 3 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "ambiguous", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0 ambiguous", docstring: None, table: None, position: LineCol { line: 3 } }], examples: [], tags: [], position: LineCol { line: 2 } }, RetryableScenario { event: Finished, retries: None })) Feature(Feature { keyword: "Feature", name: "ambiguous", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "ambiguous", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0 ambiguous", docstring: None, table: None, position: LineCol { line: 3 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Finished) -Finished +Finished \ No newline at end of file diff --git a/tests/features/output/background_rule.feature.basic.out b/tests/features/output/background_rule.feature.basic.out new file mode 100644 index 00000000..e3a39108 --- /dev/null +++ b/tests/features/output/background_rule.feature.basic.out @@ -0,0 +1,7 @@ +Feature: output +Rule: output + Scenario: output + ✔> Given foo is 0 + ✔ Given foo is 1 + ✔ When foo is 2 + ✔ Then foo is 3 diff --git a/tests/features/output/background_rule.feature.colored.out b/tests/features/output/background_rule.feature.colored.out new file mode 100644 index 00000000..b0f0a68f --- /dev/null +++ b/tests/features/output/background_rule.feature.colored.out @@ -0,0 +1,11 @@ +Feature: output +Rule: output + Scenario: output + > Given foo is 0 +  ✔> Given foo is 0 + Given foo is 1 +  ✔ Given foo is 1 + When foo is 2 +  ✔ When foo is 2 + Then foo is 3 +  ✔ Then foo is 3 diff --git a/tests/features/output/background_rule.feature.out b/tests/features/output/background_rule.feature.debug.out similarity index 99% rename from tests/features/output/background_rule.feature.out rename to tests/features/output/background_rule.feature.debug.out index 6a2fa0d0..fe0cd1c7 100644 --- a/tests/features/output/background_rule.feature.out +++ b/tests/features/output/background_rule.feature.debug.out @@ -4,14 +4,14 @@ Feature(Feature { keyword: "Feature", name: "output", description: None, backgro Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }, Started)) Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }, RetryableScenario { event: Started, retries: None }))) Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 15, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }, RetryableScenario { event: Finished, retries: None }))) Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }, Finished)) Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Finished) -Finished +Finished \ No newline at end of file diff --git a/tests/features/output/background_rule_background.feature.basic.out b/tests/features/output/background_rule_background.feature.basic.out new file mode 100644 index 00000000..8fdbd489 --- /dev/null +++ b/tests/features/output/background_rule_background.feature.basic.out @@ -0,0 +1,8 @@ +Feature: output +Rule: output + Scenario: output + ✔> Given foo is 0 + ✔> Given foo is 1 + ✔ Given foo is 2 + ✔ When foo is 3 + ✔ Then foo is 4 diff --git a/tests/features/output/background_rule_background.feature.colored.out b/tests/features/output/background_rule_background.feature.colored.out new file mode 100644 index 00000000..d22b3927 --- /dev/null +++ b/tests/features/output/background_rule_background.feature.colored.out @@ -0,0 +1,13 @@ +Feature: output +Rule: output + Scenario: output + > Given foo is 0 +  ✔> Given foo is 0 + > Given foo is 1 +  ✔> Given foo is 1 + Given foo is 2 +  ✔ Given foo is 2 + When foo is 3 +  ✔ When foo is 3 + Then foo is 4 +  ✔ Then foo is 4 diff --git a/tests/features/output/background_rule_background.feature.out b/tests/features/output/background_rule_background.feature.debug.out similarity index 99% rename from tests/features/output/background_rule_background.feature.out rename to tests/features/output/background_rule_background.feature.debug.out index 123007c4..4ae46b11 100644 --- a/tests/features/output/background_rule_background.feature.out +++ b/tests/features/output/background_rule_background.feature.debug.out @@ -4,16 +4,16 @@ Feature(Feature { keyword: "Feature", name: "output", description: None, backgro Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }, Started)) Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }, RetryableScenario { event: Started, retries: None }))) Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 15, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }, RetryableScenario { event: Finished, retries: None }))) Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }, Finished)) Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [], tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Finished) -Finished +Finished \ No newline at end of file diff --git a/tests/features/output/background_rule_background_outline.feature.basic.out b/tests/features/output/background_rule_background_outline.feature.basic.out new file mode 100644 index 00000000..45ab00bc --- /dev/null +++ b/tests/features/output/background_rule_background_outline.feature.basic.out @@ -0,0 +1,8 @@ +Feature: Outline +Rule: outline + Scenario Outline: foo 2 + ✔> Given foo is 0 + ✔> Given foo is 1 + ✔ Given foo is 2 + ✔ When foo is 3 + ✔ Then foo is 4 diff --git a/tests/features/output/background_rule_background_outline.feature.colored.out b/tests/features/output/background_rule_background_outline.feature.colored.out new file mode 100644 index 00000000..8a1b92ac --- /dev/null +++ b/tests/features/output/background_rule_background_outline.feature.colored.out @@ -0,0 +1,13 @@ +Feature: Outline +Rule: outline + Scenario Outline: foo 2 + > Given foo is 0 +  ✔> Given foo is 0 + > Given foo is 1 +  ✔> Given foo is 1 + Given foo is 2 +  ✔ Given foo is 2 + When foo is 3 +  ✔ When foo is 3 + Then foo is 4 +  ✔ Then foo is 4 diff --git a/tests/features/output/background_rule_background_outline.feature.out b/tests/features/output/background_rule_background_outline.feature.debug.out similarity index 99% rename from tests/features/output/background_rule_background_outline.feature.out rename to tests/features/output/background_rule_background_outline.feature.debug.out index 468c21a4..68a9ddfa 100644 --- a/tests/features/output/background_rule_background_outline.feature.out +++ b/tests/features/output/background_rule_background_outline.feature.debug.out @@ -4,16 +4,16 @@ Feature(Feature { keyword: "Feature", name: "Outline", description: None, backgr Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }, Started)) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }, RetryableScenario { event: Started, retries: None }))) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 15, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }, RetryableScenario { event: Finished, retries: None }))) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }, Finished)) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }], position: LineCol { line: 8 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo 2", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Step { keyword: "When ", ty: When, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 13 } }, Step { keyword: "Then ", ty: Then, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 14 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["2", "3", "4"]], position: LineCol { line: 17 } }), tags: [], position: LineCol { line: 16 } }], tags: [], position: LineCol { line: 18 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Finished) -Finished +Finished \ No newline at end of file diff --git a/tests/features/output/background_rule_outline.feature.basic.out b/tests/features/output/background_rule_outline.feature.basic.out new file mode 100644 index 00000000..b5ac33d5 --- /dev/null +++ b/tests/features/output/background_rule_outline.feature.basic.out @@ -0,0 +1,7 @@ +Feature: Outline +Rule: outline + Scenario Outline: foo + ✔> Given foo is 0 + ✔ Given foo is 1 + ✔ When foo is 2 + ✔ Then foo is 3 diff --git a/tests/features/output/background_rule_outline.feature.colored.out b/tests/features/output/background_rule_outline.feature.colored.out new file mode 100644 index 00000000..d3a58172 --- /dev/null +++ b/tests/features/output/background_rule_outline.feature.colored.out @@ -0,0 +1,11 @@ +Feature: Outline +Rule: outline + Scenario Outline: foo + > Given foo is 0 +  ✔> Given foo is 0 + Given foo is 1 +  ✔ Given foo is 1 + When foo is 2 +  ✔ When foo is 2 + Then foo is 3 +  ✔ Then foo is 3 diff --git a/tests/features/output/background_rule_outline.feature.out b/tests/features/output/background_rule_outline.feature.debug.out similarity index 99% rename from tests/features/output/background_rule_outline.feature.out rename to tests/features/output/background_rule_outline.feature.debug.out index 74297c82..28a4466e 100644 --- a/tests/features/output/background_rule_outline.feature.out +++ b/tests/features/output/background_rule_outline.feature.debug.out @@ -4,14 +4,14 @@ Feature(Feature { keyword: "Feature", name: "Outline", description: None, backgr Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }, Started)) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }, RetryableScenario { event: Started, retries: None }))) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 15, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }, RetryableScenario { event: Finished, retries: None }))) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }, Finished)) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 14 } }), tags: [], position: LineCol { line: 13 } }], tags: [], position: LineCol { line: 15 } }], tags: [], position: LineCol { line: 6 } }], tags: [], position: LineCol { line: 1 }, }, Finished) -Finished +Finished \ No newline at end of file diff --git a/tests/features/output/background_scenario.feature.basic.out b/tests/features/output/background_scenario.feature.basic.out new file mode 100644 index 00000000..78bbd87d --- /dev/null +++ b/tests/features/output/background_scenario.feature.basic.out @@ -0,0 +1,6 @@ +Feature: output + Scenario: output + ✔> Given foo is 0 + ✔ Given foo is 1 + ✔ When foo is 2 + ✔ Then foo is 3 diff --git a/tests/features/output/background_scenario.feature.colored.out b/tests/features/output/background_scenario.feature.colored.out new file mode 100644 index 00000000..a972c454 --- /dev/null +++ b/tests/features/output/background_scenario.feature.colored.out @@ -0,0 +1,10 @@ +Feature: output + Scenario: output + > Given foo is 0 +  ✔> Given foo is 0 + Given foo is 1 +  ✔ Given foo is 1 + When foo is 2 +  ✔ When foo is 2 + Then foo is 3 +  ✔ Then foo is 3 diff --git a/tests/features/output/background_scenario.feature.out b/tests/features/output/background_scenario.feature.debug.out similarity index 98% rename from tests/features/output/background_scenario.feature.out rename to tests/features/output/background_scenario.feature.debug.out index 401a13d4..3e1e0ef9 100644 --- a/tests/features/output/background_scenario.feature.out +++ b/tests/features/output/background_scenario.feature.debug.out @@ -3,13 +3,13 @@ Started Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Started) Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }, RetryableScenario { event: Started, retries: None })) Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 15, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }, RetryableScenario { event: Finished, retries: None })) Feature(Feature { keyword: "Feature", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [], tags: [], position: LineCol { line: 6 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Finished) -Finished +Finished \ No newline at end of file diff --git a/tests/features/output/background_scenario_outline.feature.basic.out b/tests/features/output/background_scenario_outline.feature.basic.out new file mode 100644 index 00000000..e2c95144 --- /dev/null +++ b/tests/features/output/background_scenario_outline.feature.basic.out @@ -0,0 +1,6 @@ +Feature: Outline + Scenario Outline: foo + ✔> Given foo is 0 + ✔ Given foo is 1 + ✔ When foo is 2 + ✔ Then foo is 3 diff --git a/tests/features/output/background_scenario_outline.feature.colored.out b/tests/features/output/background_scenario_outline.feature.colored.out new file mode 100644 index 00000000..da049536 --- /dev/null +++ b/tests/features/output/background_scenario_outline.feature.colored.out @@ -0,0 +1,10 @@ +Feature: Outline + Scenario Outline: foo + > Given foo is 0 +  ✔> Given foo is 0 + Given foo is 1 +  ✔ Given foo is 1 + When foo is 2 +  ✔ When foo is 2 + Then foo is 3 +  ✔ Then foo is 3 diff --git a/tests/features/output/background_scenario_outline.feature.out b/tests/features/output/background_scenario_outline.feature.debug.out similarity index 99% rename from tests/features/output/background_scenario_outline.feature.out rename to tests/features/output/background_scenario_outline.feature.debug.out index 92863d8d..da3a4218 100644 --- a/tests/features/output/background_scenario_outline.feature.out +++ b/tests/features/output/background_scenario_outline.feature.debug.out @@ -3,13 +3,13 @@ Started Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Started) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Started, retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 15, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Finished, retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }], position: LineCol { line: 3 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 7 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Finished) -Finished +Finished \ No newline at end of file diff --git a/tests/features/output/descriptions.feature.basic.out b/tests/features/output/descriptions.feature.basic.out new file mode 100644 index 00000000..d4e29fad --- /dev/null +++ b/tests/features/output/descriptions.feature.basic.out @@ -0,0 +1,17 @@ +Feature: Descriptions everywhere + Scenario: two lines + ✔ Given foo is 0 + Scenario: without indentation + ✔ Given foo is 0 + Scenario: empty lines in the middle + ✔ Given foo is 0 + Scenario: empty lines around + ✔ Given foo is 0 + Scenario: comment after description + ✔ Given foo is 0 + Scenario: comment right after description + ✔ Given foo is 0 + Scenario: description with escaped docstring separator + ✔ Given foo is 0 + Scenario Outline: scenario outline with a description + ✔ Given foo is 0 diff --git a/tests/features/output/descriptions.feature.colored.out b/tests/features/output/descriptions.feature.colored.out new file mode 100644 index 00000000..385ec81d --- /dev/null +++ b/tests/features/output/descriptions.feature.colored.out @@ -0,0 +1,25 @@ +Feature: Descriptions everywhere + Scenario: two lines + Given foo is 0 +  ✔ Given foo is 0 + Scenario: without indentation + Given foo is 0 +  ✔ Given foo is 0 + Scenario: empty lines in the middle + Given foo is 0 +  ✔ Given foo is 0 + Scenario: empty lines around + Given foo is 0 +  ✔ Given foo is 0 + Scenario: comment after description + Given foo is 0 +  ✔ Given foo is 0 + Scenario: comment right after description + Given foo is 0 +  ✔ Given foo is 0 + Scenario: description with escaped docstring separator + Given foo is 0 +  ✔ Given foo is 0 + Scenario Outline: scenario outline with a description + Given foo is 0 +  ✔ Given foo is 0 diff --git a/tests/features/output/descriptions.feature.out b/tests/features/output/descriptions.feature.debug.out similarity index 99% rename from tests/features/output/descriptions.feature.out rename to tests/features/output/descriptions.feature.debug.out index bfb26cab..c10e32c4 100644 --- a/tests/features/output/descriptions.feature.out +++ b/tests/features/output/descriptions.feature.debug.out @@ -3,35 +3,35 @@ Started Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Started) Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, RetryableScenario { event: Started, retries: None })) Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, RetryableScenario { event: Finished, retries: None })) Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, RetryableScenario { event: Started, retries: None })) Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, RetryableScenario { event: Finished, retries: None })) Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Started, retries: None })) Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Finished, retries: None })) Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, RetryableScenario { event: Started, retries: None })) Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, RetryableScenario { event: Finished, retries: None })) Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, RetryableScenario { event: Started, retries: None })) Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, RetryableScenario { event: Finished, retries: None })) Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, RetryableScenario { event: Started, retries: None })) Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, RetryableScenario { event: Finished, retries: None })) Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, RetryableScenario { event: Started, retries: None })) Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, RetryableScenario { event: Finished, retries: None })) Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }, RetryableScenario { event: Started, retries: None })) Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }, RetryableScenario { event: Finished, retries: None })) Feature(Feature { keyword: "Feature", name: "Descriptions everywhere", description: Some("This is a single line description"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "two lines", description: Some("This description\nhas two lines and indented with two spaces"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [], tags: [], position: LineCol { line: 4 } }, Scenario { keyword: "Scenario", name: "without indentation", description: Some("This is a description without indentation"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 9 } }, Scenario { keyword: "Scenario", name: "empty lines in the middle", description: Some("This description\nhas an empty line in the middle"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 17 } }], examples: [], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario", name: "empty lines around", description: Some("This description\nhas an empty lines around"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 24 } }], examples: [], tags: [], position: LineCol { line: 19 } }, Scenario { keyword: "Scenario", name: "comment after description", description: Some("This description\nhas a comment after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 31 } }], examples: [], tags: [], position: LineCol { line: 26 } }, Scenario { keyword: "Scenario", name: "comment right after description", description: Some("This description\nhas a comment right after"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 38 } }], examples: [], tags: [], position: LineCol { line: 33 } }, Scenario { keyword: "Scenario", name: "description with escaped docstring separator", description: Some("This description has an \\\"\\\"\\\" (escaped docstring separator)"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 42 } }], examples: [], tags: [], position: LineCol { line: 40 } }, Scenario { keyword: "Scenario Outline", name: "scenario outline with a description", description: Some("This is a scenario outline description"), steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 45 } }], examples: [Examples { keyword: "Examples", name: Some("examples with description"), description: Some("This is an examples description"), table: Some(Table { rows: [["foo"], ["0"]], position: LineCol { line: 48 } }), tags: [], position: LineCol { line: 46 } }], tags: [], position: LineCol { line: 48 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Finished) -Finished +Finished \ No newline at end of file diff --git a/tests/features/output/feature_description_with_allowed_keywords.feature.basic.out b/tests/features/output/feature_description_with_allowed_keywords.feature.basic.out new file mode 100644 index 00000000..31ad5252 --- /dev/null +++ b/tests/features/output/feature_description_with_allowed_keywords.feature.basic.out @@ -0,0 +1,5 @@ +Feature: output + Scenario: output + ✔ Given foo is 0 + ✔ When foo is 1 + ✔ Then foo is 2 diff --git a/tests/features/output/feature_description_with_allowed_keywords.feature.colored.out b/tests/features/output/feature_description_with_allowed_keywords.feature.colored.out new file mode 100644 index 00000000..40090f3f --- /dev/null +++ b/tests/features/output/feature_description_with_allowed_keywords.feature.colored.out @@ -0,0 +1,8 @@ +Feature: output + Scenario: output + Given foo is 0 +  ✔ Given foo is 0 + When foo is 1 +  ✔ When foo is 1 + Then foo is 2 +  ✔ Then foo is 2 diff --git a/tests/features/output/feature_description_with_allowed_keywords.feature.out b/tests/features/output/feature_description_with_allowed_keywords.feature.debug.out similarity index 98% rename from tests/features/output/feature_description_with_allowed_keywords.feature.out rename to tests/features/output/feature_description_with_allowed_keywords.feature.debug.out index b6689e02..04119a6a 100644 --- a/tests/features/output/feature_description_with_allowed_keywords.feature.out +++ b/tests/features/output/feature_description_with_allowed_keywords.feature.debug.out @@ -3,11 +3,11 @@ Started Feature(Feature { keyword: "Feature", name: "output", description: Some("Markdown\n* item 1\n* item 2\nBut is also supported\nAnd even\nGiven is supported too"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 11 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }], examples: [], tags: [], position: LineCol { line: 9 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Started) Feature(Feature { keyword: "Feature", name: "output", description: Some("Markdown\n* item 1\n* item 2\nBut is also supported\nAnd even\nGiven is supported too"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 11 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }], examples: [], tags: [], position: LineCol { line: 9 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 11 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }], examples: [], tags: [], position: LineCol { line: 9 } }, RetryableScenario { event: Started, retries: None })) Feature(Feature { keyword: "Feature", name: "output", description: Some("Markdown\n* item 1\n* item 2\nBut is also supported\nAnd even\nGiven is supported too"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 11 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }], examples: [], tags: [], position: LineCol { line: 9 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 11 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }], examples: [], tags: [], position: LineCol { line: 9 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 10 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "output", description: Some("Markdown\n* item 1\n* item 2\nBut is also supported\nAnd even\nGiven is supported too"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 11 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }], examples: [], tags: [], position: LineCol { line: 9 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 11 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }], examples: [], tags: [], position: LineCol { line: 9 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 10 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "output", description: Some("Markdown\n* item 1\n* item 2\nBut is also supported\nAnd even\nGiven is supported too"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 11 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }], examples: [], tags: [], position: LineCol { line: 9 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 11 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }], examples: [], tags: [], position: LineCol { line: 9 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 10 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "output", description: Some("Markdown\n* item 1\n* item 2\nBut is also supported\nAnd even\nGiven is supported too"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 11 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }], examples: [], tags: [], position: LineCol { line: 9 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 11 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }], examples: [], tags: [], position: LineCol { line: 9 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 11 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "output", description: Some("Markdown\n* item 1\n* item 2\nBut is also supported\nAnd even\nGiven is supported too"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 11 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }], examples: [], tags: [], position: LineCol { line: 9 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 11 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }], examples: [], tags: [], position: LineCol { line: 9 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 11 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "output", description: Some("Markdown\n* item 1\n* item 2\nBut is also supported\nAnd even\nGiven is supported too"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 11 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }], examples: [], tags: [], position: LineCol { line: 9 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 11 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }], examples: [], tags: [], position: LineCol { line: 9 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 11 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "output", description: Some("Markdown\n* item 1\n* item 2\nBut is also supported\nAnd even\nGiven is supported too"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 11 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }], examples: [], tags: [], position: LineCol { line: 9 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 11 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }], examples: [], tags: [], position: LineCol { line: 9 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "output", description: Some("Markdown\n* item 1\n* item 2\nBut is also supported\nAnd even\nGiven is supported too"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 11 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }], examples: [], tags: [], position: LineCol { line: 9 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 11 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }], examples: [], tags: [], position: LineCol { line: 9 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 15, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "output", description: Some("Markdown\n* item 1\n* item 2\nBut is also supported\nAnd even\nGiven is supported too"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 11 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }], examples: [], tags: [], position: LineCol { line: 9 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 11 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }], examples: [], tags: [], position: LineCol { line: 9 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "output", description: Some("Markdown\n* item 1\n* item 2\nBut is also supported\nAnd even\nGiven is supported too"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 11 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }], examples: [], tags: [], position: LineCol { line: 9 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 11 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }], examples: [], tags: [], position: LineCol { line: 9 } }, RetryableScenario { event: Finished, retries: None })) Feature(Feature { keyword: "Feature", name: "output", description: Some("Markdown\n* item 1\n* item 2\nBut is also supported\nAnd even\nGiven is supported too"), background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 11 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 12 } }], examples: [], tags: [], position: LineCol { line: 9 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Finished) -Finished +Finished \ No newline at end of file diff --git a/tests/features/output/non_default_lang.feature.basic.out b/tests/features/output/non_default_lang.feature.basic.out new file mode 100644 index 00000000..ede031bf --- /dev/null +++ b/tests/features/output/non_default_lang.feature.basic.out @@ -0,0 +1,5 @@ +Egenskap: output + Eksempel: output + ✔ Gitt foo is 0 + ✔ Når foo is 1 + ✔ Så foo is 2 diff --git a/tests/features/output/non_default_lang.feature.colored.out b/tests/features/output/non_default_lang.feature.colored.out new file mode 100644 index 00000000..a7da81d8 --- /dev/null +++ b/tests/features/output/non_default_lang.feature.colored.out @@ -0,0 +1,8 @@ +Egenskap: output + Eksempel: output + Gitt foo is 0 +  ✔ Gitt foo is 0 + Når foo is 1 +  ✔ Når foo is 1 + Så foo is 2 +  ✔ Så foo is 2 diff --git a/tests/features/output/non_default_lang.feature.out b/tests/features/output/non_default_lang.feature.debug.out similarity index 98% rename from tests/features/output/non_default_lang.feature.out rename to tests/features/output/non_default_lang.feature.debug.out index abe19023..c035cebb 100644 --- a/tests/features/output/non_default_lang.feature.out +++ b/tests/features/output/non_default_lang.feature.debug.out @@ -3,11 +3,11 @@ Started Feature(Feature { keyword: "Egenskap", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Eksempel", name: "output", description: None, steps: [Step { keyword: "Gitt ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Når ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Så ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], rules: [], tags: [], position: LineCol { line: 2 }, }, Started) Feature(Feature { keyword: "Egenskap", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Eksempel", name: "output", description: None, steps: [Step { keyword: "Gitt ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Når ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Så ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], rules: [], tags: [], position: LineCol { line: 2 }, }, Scenario(Scenario { keyword: "Eksempel", name: "output", description: None, steps: [Step { keyword: "Gitt ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Når ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Så ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }, RetryableScenario { event: Started, retries: None })) Feature(Feature { keyword: "Egenskap", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Eksempel", name: "output", description: None, steps: [Step { keyword: "Gitt ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Når ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Så ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], rules: [], tags: [], position: LineCol { line: 2 }, }, Scenario(Scenario { keyword: "Eksempel", name: "output", description: None, steps: [Step { keyword: "Gitt ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Når ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Så ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }, RetryableScenario { event: Step(Step { keyword: "Gitt ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Started), retries: None })) -Feature(Feature { keyword: "Egenskap", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Eksempel", name: "output", description: None, steps: [Step { keyword: "Gitt ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Når ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Så ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], rules: [], tags: [], position: LineCol { line: 2 }, }, Scenario(Scenario { keyword: "Eksempel", name: "output", description: None, steps: [Step { keyword: "Gitt ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Når ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Så ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }, RetryableScenario { event: Step(Step { keyword: "Gitt ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Egenskap", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Eksempel", name: "output", description: None, steps: [Step { keyword: "Gitt ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Når ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Så ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], rules: [], tags: [], position: LineCol { line: 2 }, }, Scenario(Scenario { keyword: "Eksempel", name: "output", description: None, steps: [Step { keyword: "Gitt ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Når ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Så ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }, RetryableScenario { event: Step(Step { keyword: "Gitt ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None })) Feature(Feature { keyword: "Egenskap", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Eksempel", name: "output", description: None, steps: [Step { keyword: "Gitt ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Når ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Så ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], rules: [], tags: [], position: LineCol { line: 2 }, }, Scenario(Scenario { keyword: "Eksempel", name: "output", description: None, steps: [Step { keyword: "Gitt ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Når ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Så ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }, RetryableScenario { event: Step(Step { keyword: "Når ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Started), retries: None })) -Feature(Feature { keyword: "Egenskap", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Eksempel", name: "output", description: None, steps: [Step { keyword: "Gitt ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Når ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Så ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], rules: [], tags: [], position: LineCol { line: 2 }, }, Scenario(Scenario { keyword: "Eksempel", name: "output", description: None, steps: [Step { keyword: "Gitt ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Når ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Så ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }, RetryableScenario { event: Step(Step { keyword: "Når ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Egenskap", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Eksempel", name: "output", description: None, steps: [Step { keyword: "Gitt ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Når ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Så ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], rules: [], tags: [], position: LineCol { line: 2 }, }, Scenario(Scenario { keyword: "Eksempel", name: "output", description: None, steps: [Step { keyword: "Gitt ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Når ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Så ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }, RetryableScenario { event: Step(Step { keyword: "Når ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) Feature(Feature { keyword: "Egenskap", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Eksempel", name: "output", description: None, steps: [Step { keyword: "Gitt ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Når ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Så ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], rules: [], tags: [], position: LineCol { line: 2 }, }, Scenario(Scenario { keyword: "Eksempel", name: "output", description: None, steps: [Step { keyword: "Gitt ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Når ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Så ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }, RetryableScenario { event: Step(Step { keyword: "Så ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }, Started), retries: None })) -Feature(Feature { keyword: "Egenskap", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Eksempel", name: "output", description: None, steps: [Step { keyword: "Gitt ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Når ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Så ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], rules: [], tags: [], position: LineCol { line: 2 }, }, Scenario(Scenario { keyword: "Eksempel", name: "output", description: None, steps: [Step { keyword: "Gitt ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Når ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Så ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }, RetryableScenario { event: Step(Step { keyword: "Så ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 15, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Egenskap", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Eksempel", name: "output", description: None, steps: [Step { keyword: "Gitt ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Når ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Så ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], rules: [], tags: [], position: LineCol { line: 2 }, }, Scenario(Scenario { keyword: "Eksempel", name: "output", description: None, steps: [Step { keyword: "Gitt ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Når ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Så ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }, RetryableScenario { event: Step(Step { keyword: "Så ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None })) Feature(Feature { keyword: "Egenskap", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Eksempel", name: "output", description: None, steps: [Step { keyword: "Gitt ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Når ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Så ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], rules: [], tags: [], position: LineCol { line: 2 }, }, Scenario(Scenario { keyword: "Eksempel", name: "output", description: None, steps: [Step { keyword: "Gitt ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Når ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Så ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }, RetryableScenario { event: Finished, retries: None })) Feature(Feature { keyword: "Egenskap", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Eksempel", name: "output", description: None, steps: [Step { keyword: "Gitt ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Når ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Så ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], rules: [], tags: [], position: LineCol { line: 2 }, }, Finished) -Finished +Finished \ No newline at end of file diff --git a/tests/features/output/parsing_failed.feature.basic.out b/tests/features/output/parsing_failed.feature.basic.out new file mode 100644 index 00000000..66cf3bea --- /dev/null +++ b/tests/features/output/parsing_failed.feature.basic.out @@ -0,0 +1 @@ +Failed to parse: Failed to parse feature: Could not parse feature file: tests/features/output/parsing_failed.feature diff --git a/tests/features/output/parsing_failed.feature.colored.out b/tests/features/output/parsing_failed.feature.colored.out new file mode 100644 index 00000000..c62a84ef --- /dev/null +++ b/tests/features/output/parsing_failed.feature.colored.out @@ -0,0 +1 @@ +Failed to parse: Failed to parse feature: Could not parse feature file: tests/features/output/parsing_failed.feature diff --git a/tests/features/output/parsing_failed.feature.out b/tests/features/output/parsing_failed.feature.debug.out similarity index 92% rename from tests/features/output/parsing_failed.feature.out rename to tests/features/output/parsing_failed.feature.debug.out index f8a8be92..cefaea8a 100644 --- a/tests/features/output/parsing_failed.feature.out +++ b/tests/features/output/parsing_failed.feature.debug.out @@ -1,4 +1,4 @@ ParsingError ParsingFinished { features: 0, rules: 0, scenarios: 0, steps: 0, parser_errors: 1 } Started -Finished +Finished \ No newline at end of file diff --git a/tests/features/output/rule.feature.basic.out b/tests/features/output/rule.feature.basic.out new file mode 100644 index 00000000..dd276185 --- /dev/null +++ b/tests/features/output/rule.feature.basic.out @@ -0,0 +1,6 @@ +Feature: output +Rule: output + Scenario: output + ✔ Given foo is 0 + ✔ When foo is 1 + ✔ Then foo is 2 diff --git a/tests/features/output/rule.feature.colored.out b/tests/features/output/rule.feature.colored.out new file mode 100644 index 00000000..ef17ef6c --- /dev/null +++ b/tests/features/output/rule.feature.colored.out @@ -0,0 +1,9 @@ +Feature: output +Rule: output + Scenario: output + Given foo is 0 +  ✔ Given foo is 0 + When foo is 1 +  ✔ When foo is 1 + Then foo is 2 +  ✔ Then foo is 2 diff --git a/tests/features/output/rule.feature.out b/tests/features/output/rule.feature.debug.out similarity index 99% rename from tests/features/output/rule.feature.out rename to tests/features/output/rule.feature.debug.out index cc0cb317..dc88b59f 100644 --- a/tests/features/output/rule.feature.out +++ b/tests/features/output/rule.feature.debug.out @@ -4,12 +4,12 @@ Feature(Feature { keyword: "Feature", name: "output", description: None, backgro Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 2 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 2 } }, Started)) Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 2 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 2 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }, RetryableScenario { event: Started, retries: None }))) Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 2 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 2 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 2 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 2 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 2 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 2 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 2 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 2 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 2 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 2 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 2 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 2 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 2 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 2 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 2 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 2 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 15, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 2 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 2 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 2 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 2 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }, RetryableScenario { event: Finished, retries: None }))) Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 2 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 2 } }, Finished)) Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 2 } }], tags: [], position: LineCol { line: 1 }, }, Finished) -Finished +Finished \ No newline at end of file diff --git a/tests/features/output/rule_background.feature.basic.out b/tests/features/output/rule_background.feature.basic.out new file mode 100644 index 00000000..e3a39108 --- /dev/null +++ b/tests/features/output/rule_background.feature.basic.out @@ -0,0 +1,7 @@ +Feature: output +Rule: output + Scenario: output + ✔> Given foo is 0 + ✔ Given foo is 1 + ✔ When foo is 2 + ✔ Then foo is 3 diff --git a/tests/features/output/rule_background.feature.colored.out b/tests/features/output/rule_background.feature.colored.out new file mode 100644 index 00000000..b0f0a68f --- /dev/null +++ b/tests/features/output/rule_background.feature.colored.out @@ -0,0 +1,11 @@ +Feature: output +Rule: output + Scenario: output + > Given foo is 0 +  ✔> Given foo is 0 + Given foo is 1 +  ✔ Given foo is 1 + When foo is 2 +  ✔ When foo is 2 + Then foo is 3 +  ✔ Then foo is 3 diff --git a/tests/features/output/rule_background.feature.out b/tests/features/output/rule_background.feature.debug.out similarity index 99% rename from tests/features/output/rule_background.feature.out rename to tests/features/output/rule_background.feature.debug.out index 49632b57..dc9914e0 100644 --- a/tests/features/output/rule_background.feature.out +++ b/tests/features/output/rule_background.feature.debug.out @@ -4,14 +4,14 @@ Feature(Feature { keyword: "Feature", name: "output", description: None, backgro Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }, Started)) Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }, RetryableScenario { event: Started, retries: None }))) Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 15, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }, RetryableScenario { event: Finished, retries: None }))) Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }, Finished)) Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "output", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 6 } }], position: LineCol { line: 5 } }), scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 10 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 11 } }], examples: [], tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Finished) -Finished +Finished \ No newline at end of file diff --git a/tests/features/output/rule_background_outline.feature.basic.out b/tests/features/output/rule_background_outline.feature.basic.out new file mode 100644 index 00000000..b5ac33d5 --- /dev/null +++ b/tests/features/output/rule_background_outline.feature.basic.out @@ -0,0 +1,7 @@ +Feature: Outline +Rule: outline + Scenario Outline: foo + ✔> Given foo is 0 + ✔ Given foo is 1 + ✔ When foo is 2 + ✔ Then foo is 3 diff --git a/tests/features/output/rule_background_outline.feature.colored.out b/tests/features/output/rule_background_outline.feature.colored.out new file mode 100644 index 00000000..d3a58172 --- /dev/null +++ b/tests/features/output/rule_background_outline.feature.colored.out @@ -0,0 +1,11 @@ +Feature: Outline +Rule: outline + Scenario Outline: foo + > Given foo is 0 +  ✔> Given foo is 0 + Given foo is 1 +  ✔ Given foo is 1 + When foo is 2 +  ✔ When foo is 2 + Then foo is 3 +  ✔ Then foo is 3 diff --git a/tests/features/output/rule_background_outline.feature.out b/tests/features/output/rule_background_outline.feature.debug.out similarity index 99% rename from tests/features/output/rule_background_outline.feature.out rename to tests/features/output/rule_background_outline.feature.debug.out index 8f30ce38..91fa6b21 100644 --- a/tests/features/output/rule_background_outline.feature.out +++ b/tests/features/output/rule_background_outline.feature.debug.out @@ -4,14 +4,14 @@ Feature(Feature { keyword: "Feature", name: "Outline", description: None, backgr Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }, Started)) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }, RetryableScenario { event: Started, retries: None }))) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }, RetryableScenario { event: Background(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 15, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }, RetryableScenario { event: Finished, retries: None }))) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }, Finished)) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "outline", description: None, background: Some(Background { keyword: "Background", name: "", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }], position: LineCol { line: 4 } }), scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "When ", ty: When, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Step { keyword: "Then ", ty: Then, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 10 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["1", "2", "3"]], position: LineCol { line: 13 } }), tags: [], position: LineCol { line: 12 } }], tags: [], position: LineCol { line: 14 } }], tags: [], position: LineCol { line: 3 } }], tags: [], position: LineCol { line: 1 }, }, Finished) -Finished +Finished \ No newline at end of file diff --git a/tests/features/output/rule_outline.feature.basic.out b/tests/features/output/rule_outline.feature.basic.out new file mode 100644 index 00000000..bbf29b6c --- /dev/null +++ b/tests/features/output/rule_outline.feature.basic.out @@ -0,0 +1,6 @@ +Feature: Outline +Rule: them all + Scenario Outline: foo + ✔ Given foo is 0 + ✔ When foo is 1 + ✔ Then foo is 2 diff --git a/tests/features/output/rule_outline.feature.colored.out b/tests/features/output/rule_outline.feature.colored.out new file mode 100644 index 00000000..800f1b84 --- /dev/null +++ b/tests/features/output/rule_outline.feature.colored.out @@ -0,0 +1,9 @@ +Feature: Outline +Rule: them all + Scenario Outline: foo + Given foo is 0 +  ✔ Given foo is 0 + When foo is 1 +  ✔ When foo is 1 + Then foo is 2 +  ✔ Then foo is 2 diff --git a/tests/features/output/rule_outline.feature.out b/tests/features/output/rule_outline.feature.debug.out similarity index 99% rename from tests/features/output/rule_outline.feature.out rename to tests/features/output/rule_outline.feature.debug.out index bda59b6e..68c22151 100644 --- a/tests/features/output/rule_outline.feature.out +++ b/tests/features/output/rule_outline.feature.debug.out @@ -4,12 +4,12 @@ Feature(Feature { keyword: "Feature", name: "Outline", description: None, backgr Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "them all", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], tags: [], position: LineCol { line: 2 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "them all", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], tags: [], position: LineCol { line: 2 } }, Started)) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "them all", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], tags: [], position: LineCol { line: 2 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "them all", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], tags: [], position: LineCol { line: 2 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Started, retries: None }))) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "them all", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], tags: [], position: LineCol { line: 2 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "them all", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], tags: [], position: LineCol { line: 2 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "them all", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], tags: [], position: LineCol { line: 2 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "them all", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], tags: [], position: LineCol { line: 2 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "them all", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], tags: [], position: LineCol { line: 2 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "them all", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], tags: [], position: LineCol { line: 2 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "them all", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], tags: [], position: LineCol { line: 2 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "them all", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], tags: [], position: LineCol { line: 2 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "them all", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], tags: [], position: LineCol { line: 2 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "them all", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], tags: [], position: LineCol { line: 2 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "them all", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], tags: [], position: LineCol { line: 2 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "them all", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], tags: [], position: LineCol { line: 2 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "them all", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], tags: [], position: LineCol { line: 2 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "them all", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], tags: [], position: LineCol { line: 2 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }, Started), retries: None }))) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "them all", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], tags: [], position: LineCol { line: 2 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "them all", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], tags: [], position: LineCol { line: 2 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 15, column: 1 }))), retries: None }))) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "them all", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], tags: [], position: LineCol { line: 2 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "them all", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], tags: [], position: LineCol { line: 2 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None }))) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "them all", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], tags: [], position: LineCol { line: 2 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "them all", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], tags: [], position: LineCol { line: 2 } }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Finished, retries: None }))) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "them all", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], tags: [], position: LineCol { line: 2 } }], tags: [], position: LineCol { line: 1 }, }, Rule(Rule { keyword: "Rule", name: "them all", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], tags: [], position: LineCol { line: 2 } }, Finished)) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [], rules: [Rule { keyword: "Rule", name: "them all", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], tags: [], position: LineCol { line: 2 } }], tags: [], position: LineCol { line: 1 }, }, Finished) -Finished +Finished \ No newline at end of file diff --git a/tests/features/output/scenario.feature.basic.out b/tests/features/output/scenario.feature.basic.out new file mode 100644 index 00000000..31ad5252 --- /dev/null +++ b/tests/features/output/scenario.feature.basic.out @@ -0,0 +1,5 @@ +Feature: output + Scenario: output + ✔ Given foo is 0 + ✔ When foo is 1 + ✔ Then foo is 2 diff --git a/tests/features/output/scenario.feature.colored.out b/tests/features/output/scenario.feature.colored.out new file mode 100644 index 00000000..40090f3f --- /dev/null +++ b/tests/features/output/scenario.feature.colored.out @@ -0,0 +1,8 @@ +Feature: output + Scenario: output + Given foo is 0 +  ✔ Given foo is 0 + When foo is 1 +  ✔ When foo is 1 + Then foo is 2 +  ✔ Then foo is 2 diff --git a/tests/features/output/scenario.feature.out b/tests/features/output/scenario.feature.debug.out similarity index 98% rename from tests/features/output/scenario.feature.out rename to tests/features/output/scenario.feature.debug.out index a8bb8394..af93e9a2 100644 --- a/tests/features/output/scenario.feature.out +++ b/tests/features/output/scenario.feature.debug.out @@ -3,11 +3,11 @@ Started Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Started) Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }, RetryableScenario { event: Started, retries: None })) Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 15, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }, RetryableScenario { event: Finished, retries: None })) Feature(Feature { keyword: "Feature", name: "output", description: None, background: None, scenarios: [Scenario { keyword: "Scenario", name: "output", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 3 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 5 } }], examples: [], tags: [], position: LineCol { line: 2 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Finished) -Finished +Finished \ No newline at end of file diff --git a/tests/features/output/scenario_outline.feature.basic.out b/tests/features/output/scenario_outline.feature.basic.out new file mode 100644 index 00000000..1ff670a4 --- /dev/null +++ b/tests/features/output/scenario_outline.feature.basic.out @@ -0,0 +1,5 @@ +Feature: Outline + Scenario Outline: foo + ✔ Given foo is 0 + ✔ When foo is 1 + ✔ Then foo is 2 diff --git a/tests/features/output/scenario_outline.feature.colored.out b/tests/features/output/scenario_outline.feature.colored.out new file mode 100644 index 00000000..34f5df45 --- /dev/null +++ b/tests/features/output/scenario_outline.feature.colored.out @@ -0,0 +1,8 @@ +Feature: Outline + Scenario Outline: foo + Given foo is 0 +  ✔ Given foo is 0 + When foo is 1 +  ✔ When foo is 1 + Then foo is 2 +  ✔ Then foo is 2 diff --git a/tests/features/output/scenario_outline.feature.out b/tests/features/output/scenario_outline.feature.debug.out similarity index 99% rename from tests/features/output/scenario_outline.feature.out rename to tests/features/output/scenario_outline.feature.debug.out index 555e7d79..d84f22af 100644 --- a/tests/features/output/scenario_outline.feature.out +++ b/tests/features/output/scenario_outline.feature.debug.out @@ -3,11 +3,11 @@ Started Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Started) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Started, retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 15, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Finished, retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Finished) -Finished +Finished \ No newline at end of file diff --git a/tests/features/output/scenario_outline_adjacent_templates.feature.basic.out b/tests/features/output/scenario_outline_adjacent_templates.feature.basic.out new file mode 100644 index 00000000..c21308d9 --- /dev/null +++ b/tests/features/output/scenario_outline_adjacent_templates.feature.basic.out @@ -0,0 +1,10 @@ +Feature: Outline + Scenario Outline: foo + ✔ Given foo is 00 + ✘ When foo is 101 + Step failed: + Defined: tests/features/output/scenario_outline_adjacent_templates.feature:5:5 + Matched: tests/output.rs:13:1 + Step panicked. Captured output: assertion failed: `(left == right)` + left: `1`, + right: `101` diff --git a/tests/features/output/scenario_outline_adjacent_templates.feature.colored.out b/tests/features/output/scenario_outline_adjacent_templates.feature.colored.out new file mode 100644 index 00000000..26102c52 --- /dev/null +++ b/tests/features/output/scenario_outline_adjacent_templates.feature.colored.out @@ -0,0 +1,12 @@ +Feature: Outline + Scenario Outline: foo + Given foo is 00 +  ✔ Given foo is 00 + When foo is 101 +  ✘ When foo is 101 + Step failed: + Defined: tests/features/output/scenario_outline_adjacent_templates.feature:5:5 + Matched: tests/output.rs:13:1 + Step panicked. Captured output: assertion failed: `(left == right)` + left: `1`, + right: `101` diff --git a/tests/features/output/scenario_outline_adjacent_templates.feature.out b/tests/features/output/scenario_outline_adjacent_templates.feature.debug.out similarity index 98% rename from tests/features/output/scenario_outline_adjacent_templates.feature.out rename to tests/features/output/scenario_outline_adjacent_templates.feature.debug.out index 28bd942c..913ae380 100644 --- a/tests/features/output/scenario_outline_adjacent_templates.feature.out +++ b/tests/features/output/scenario_outline_adjacent_templates.feature.debug.out @@ -3,9 +3,9 @@ Started Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 00", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 101", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 21", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Started) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 00", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 101", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 21", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 00", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 101", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 21", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Started, retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 00", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 101", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 21", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 00", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 101", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 21", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 00", docstring: None, table: None, position: LineCol { line: 4 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 00", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 101", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 21", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 00", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 101", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 21", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 00", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..9, 1: 7..9} }), Some(Location { line: 13, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 00", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 101", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 21", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 00", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 101", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 21", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 00", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..9, 1: 7..9} }), Some(Location { line: 12, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 00", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 101", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 21", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 00", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 101", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 21", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 101", docstring: None, table: None, position: LineCol { line: 5 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 00", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 101", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 21", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 00", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 101", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 21", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 101", docstring: None, table: None, position: LineCol { line: 5 } }, Failed(Some(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..10, 1: 7..10} })), Some(Location { line: 14, column: 1 }), Some(World(1)), Panic(Any { .. }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 00", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 101", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 21", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 00", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 101", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 21", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 101", docstring: None, table: None, position: LineCol { line: 5 } }, Failed(Some(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..10, 1: 7..10} })), Some(Location { line: 13, column: 1 }), Some(World(1)), Panic(Any { .. }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 00", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 101", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 21", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 00", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 101", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 21", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }, RetryableScenario { event: Finished, retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 00", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 101", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 21", docstring: None, table: None, position: LineCol { line: 6 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 9 } }), tags: [], position: LineCol { line: 8 } }], tags: [], position: LineCol { line: 10 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Finished) -Finished +Finished \ No newline at end of file diff --git a/tests/features/output/scenario_outline_table.feature.basic.out b/tests/features/output/scenario_outline_table.feature.basic.out new file mode 100644 index 00000000..e238f4b1 --- /dev/null +++ b/tests/features/output/scenario_outline_table.feature.basic.out @@ -0,0 +1,19 @@ +Feature: Outline + Scenario Outline: foo + ✔ Given foo is 0 + | key | value | + | 1 | 0 | + | 2 | 1 | + ✔ When foo is 1 + ✔ Then foo is 2 + Scenario Outline: foo + ✘ Given foo is 3 + | key | value | + | 1 | 3 | + | 2 | 4 | + Step failed: + Defined: tests/features/output/scenario_outline_table.feature:4:5 + Matched: tests/output.rs:12:1 + Step panicked. Captured output: assertion failed: `(left == right)` + left: `0`, + right: `3` diff --git a/tests/features/output/scenario_outline_table.feature.colored.out b/tests/features/output/scenario_outline_table.feature.colored.out new file mode 100644 index 00000000..4201c8da --- /dev/null +++ b/tests/features/output/scenario_outline_table.feature.colored.out @@ -0,0 +1,29 @@ +Feature: Outline + Scenario Outline: foo + Given foo is 0 + | key | value | + | 1 | 0 | + | 2 | 1 | +     ✔ Given foo is 0 + | key | value | + | 1 | 0 | + | 2 | 1 | + When foo is 1 +  ✔ When foo is 1 + Then foo is 2 +  ✔ Then foo is 2 + Scenario Outline: foo + Given foo is 3 + | key | value | + | 1 | 3 | + | 2 | 4 | +     ✘ Given foo is 3 + | key | value | + | 1 | 3 | + | 2 | 4 | + Step failed: + Defined: tests/features/output/scenario_outline_table.feature:4:5 + Matched: tests/output.rs:12:1 + Step panicked. Captured output: assertion failed: `(left == right)` + left: `0`, + right: `3` diff --git a/tests/features/output/scenario_outline_table.feature.out b/tests/features/output/scenario_outline_table.feature.debug.out similarity index 99% rename from tests/features/output/scenario_outline_table.feature.out rename to tests/features/output/scenario_outline_table.feature.debug.out index 887e8681..b309a9e0 100644 --- a/tests/features/output/scenario_outline_table.feature.out +++ b/tests/features/output/scenario_outline_table.feature.debug.out @@ -3,15 +3,15 @@ Started Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "3"], ["2", "4"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Started) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "3"], ["2", "4"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Started, retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "3"], ["2", "4"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "3"], ["2", "4"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "3"], ["2", "4"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "3"], ["2", "4"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "3"], ["2", "4"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "3"], ["2", "4"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "3"], ["2", "4"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "3"], ["2", "4"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 15, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "3"], ["2", "4"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "3"], ["2", "4"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Finished, retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "3"], ["2", "4"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "3"], ["2", "4"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 14 } }, RetryableScenario { event: Started, retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "3"], ["2", "4"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "3"], ["2", "4"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 14 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "3"], ["2", "4"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "3"], ["2", "4"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "3"], ["2", "4"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 14 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "3"], ["2", "4"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Failed(Some(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} })), Some(Location { line: 13, column: 1 }), Some(World(0)), Panic(Any { .. }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "3"], ["2", "4"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "3"], ["2", "4"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 14 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "3"], ["2", "4"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Failed(Some(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} })), Some(Location { line: 12, column: 1 }), Some(World(0)), Panic(Any { .. }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "3"], ["2", "4"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "3"], ["2", "4"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 14 } }, RetryableScenario { event: Finished, retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "0"], ["2", "1"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: Some(Table { rows: [["key", "value"], ["1", "3"], ["2", "4"]], position: LineCol { line: 5 } }), position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 8 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"], ["3", "4", "5"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Finished) -Finished +Finished \ No newline at end of file diff --git a/tests/features/output/scenario_outline_with_basic_dosctring.feature.basic.out b/tests/features/output/scenario_outline_with_basic_dosctring.feature.basic.out new file mode 100644 index 00000000..1ff670a4 --- /dev/null +++ b/tests/features/output/scenario_outline_with_basic_dosctring.feature.basic.out @@ -0,0 +1,5 @@ +Feature: Outline + Scenario Outline: foo + ✔ Given foo is 0 + ✔ When foo is 1 + ✔ Then foo is 2 diff --git a/tests/features/output/scenario_outline_with_basic_dosctring.feature.colored.out b/tests/features/output/scenario_outline_with_basic_dosctring.feature.colored.out new file mode 100644 index 00000000..34f5df45 --- /dev/null +++ b/tests/features/output/scenario_outline_with_basic_dosctring.feature.colored.out @@ -0,0 +1,8 @@ +Feature: Outline + Scenario Outline: foo + Given foo is 0 +  ✔ Given foo is 0 + When foo is 1 +  ✔ When foo is 1 + Then foo is 2 +  ✔ Then foo is 2 diff --git a/tests/features/output/scenario_outline_with_basic_dosctring.feature.out b/tests/features/output/scenario_outline_with_basic_dosctring.feature.debug.out similarity index 98% rename from tests/features/output/scenario_outline_with_basic_dosctring.feature.out rename to tests/features/output/scenario_outline_with_basic_dosctring.feature.debug.out index 57e8b561..5421f429 100644 --- a/tests/features/output/scenario_outline_with_basic_dosctring.feature.out +++ b/tests/features/output/scenario_outline_with_basic_dosctring.feature.debug.out @@ -3,11 +3,11 @@ Started Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nNothing to replace here\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Started) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nNothing to replace here\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nNothing to replace here\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Started, retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nNothing to replace here\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nNothing to replace here\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nNothing to replace here\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nNothing to replace here\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nNothing to replace here\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nNothing to replace here\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nNothing to replace here\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nNothing to replace here\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nNothing to replace here\n"), table: None, position: LineCol { line: 5 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nNothing to replace here\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nNothing to replace here\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nNothing to replace here\n"), table: None, position: LineCol { line: 5 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nNothing to replace here\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nNothing to replace here\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nNothing to replace here\n"), table: None, position: LineCol { line: 5 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nNothing to replace here\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nNothing to replace here\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nNothing to replace here\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nNothing to replace here\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 15, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nNothing to replace here\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nNothing to replace here\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nNothing to replace here\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nNothing to replace here\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Finished, retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nNothing to replace here\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Finished) -Finished +Finished \ No newline at end of file diff --git a/tests/features/output/scenario_outline_with_expanded_dosctring.feature.basic.out b/tests/features/output/scenario_outline_with_expanded_dosctring.feature.basic.out new file mode 100644 index 00000000..1ff670a4 --- /dev/null +++ b/tests/features/output/scenario_outline_with_expanded_dosctring.feature.basic.out @@ -0,0 +1,5 @@ +Feature: Outline + Scenario Outline: foo + ✔ Given foo is 0 + ✔ When foo is 1 + ✔ Then foo is 2 diff --git a/tests/features/output/scenario_outline_with_expanded_dosctring.feature.colored.out b/tests/features/output/scenario_outline_with_expanded_dosctring.feature.colored.out new file mode 100644 index 00000000..34f5df45 --- /dev/null +++ b/tests/features/output/scenario_outline_with_expanded_dosctring.feature.colored.out @@ -0,0 +1,8 @@ +Feature: Outline + Scenario Outline: foo + Given foo is 0 +  ✔ Given foo is 0 + When foo is 1 +  ✔ When foo is 1 + Then foo is 2 +  ✔ Then foo is 2 diff --git a/tests/features/output/scenario_outline_with_expanded_dosctring.feature.out b/tests/features/output/scenario_outline_with_expanded_dosctring.feature.debug.out similarity index 98% rename from tests/features/output/scenario_outline_with_expanded_dosctring.feature.out rename to tests/features/output/scenario_outline_with_expanded_dosctring.feature.debug.out index e7364b66..dcf8a768 100644 --- a/tests/features/output/scenario_outline_with_expanded_dosctring.feature.out +++ b/tests/features/output/scenario_outline_with_expanded_dosctring.feature.debug.out @@ -3,11 +3,11 @@ Started Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nfoo is 2\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Started) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nfoo is 2\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nfoo is 2\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Started, retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nfoo is 2\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nfoo is 2\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nfoo is 2\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nfoo is 2\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nfoo is 2\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nfoo is 2\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nfoo is 2\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nfoo is 2\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nfoo is 2\n"), table: None, position: LineCol { line: 5 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nfoo is 2\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nfoo is 2\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nfoo is 2\n"), table: None, position: LineCol { line: 5 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nfoo is 2\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nfoo is 2\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nfoo is 2\n"), table: None, position: LineCol { line: 5 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nfoo is 2\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nfoo is 2\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nfoo is 2\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nfoo is 2\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 15, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nfoo is 2\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nfoo is 2\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nfoo is 2\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nfoo is 2\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }, RetryableScenario { event: Finished, retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 4 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: Some("\nfoo is 2\n"), table: None, position: LineCol { line: 5 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 9 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 12 } }), tags: [], position: LineCol { line: 11 } }], tags: [], position: LineCol { line: 13 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Finished) -Finished +Finished \ No newline at end of file diff --git a/tests/features/output/scenario_outline_with_multiple_examples.feature.basic.out b/tests/features/output/scenario_outline_with_multiple_examples.feature.basic.out new file mode 100644 index 00000000..c7df9eda --- /dev/null +++ b/tests/features/output/scenario_outline_with_multiple_examples.feature.basic.out @@ -0,0 +1,13 @@ +Feature: Outline + Scenario Outline: foo + ✔ Given foo is 0 + ✔ When foo is 1 + ✔ Then foo is 2 + Scenario Outline: foo + ✘ Given foo is 3 + Step failed: + Defined: tests/features/output/scenario_outline_with_multiple_examples.feature:5:5 + Matched: tests/output.rs:12:1 + Step panicked. Captured output: assertion failed: `(left == right)` + left: `0`, + right: `3` diff --git a/tests/features/output/scenario_outline_with_multiple_examples.feature.colored.out b/tests/features/output/scenario_outline_with_multiple_examples.feature.colored.out new file mode 100644 index 00000000..cdc8cb1b --- /dev/null +++ b/tests/features/output/scenario_outline_with_multiple_examples.feature.colored.out @@ -0,0 +1,17 @@ +Feature: Outline + Scenario Outline: foo + Given foo is 0 +  ✔ Given foo is 0 + When foo is 1 +  ✔ When foo is 1 + Then foo is 2 +  ✔ Then foo is 2 + Scenario Outline: foo + Given foo is 3 +  ✘ Given foo is 3 + Step failed: + Defined: tests/features/output/scenario_outline_with_multiple_examples.feature:5:5 + Matched: tests/output.rs:12:1 + Step panicked. Captured output: assertion failed: `(left == right)` + left: `0`, + right: `3` diff --git a/tests/features/output/scenario_outline_with_multiple_examples.feature.out b/tests/features/output/scenario_outline_with_multiple_examples.feature.debug.out similarity index 99% rename from tests/features/output/scenario_outline_with_multiple_examples.feature.out rename to tests/features/output/scenario_outline_with_multiple_examples.feature.debug.out index c8dccb25..8bd8d246 100644 --- a/tests/features/output/scenario_outline_with_multiple_examples.feature.out +++ b/tests/features/output/scenario_outline_with_multiple_examples.feature.debug.out @@ -3,15 +3,15 @@ Started Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "other-examples"], position: LineCol { line: 17 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Started) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "other-examples"], position: LineCol { line: 17 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, RetryableScenario { event: Started, retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "other-examples"], position: LineCol { line: 17 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "other-examples"], position: LineCol { line: 17 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "other-examples"], position: LineCol { line: 17 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "other-examples"], position: LineCol { line: 17 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "other-examples"], position: LineCol { line: 17 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "other-examples"], position: LineCol { line: 17 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "other-examples"], position: LineCol { line: 17 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "other-examples"], position: LineCol { line: 17 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 15, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "other-examples"], position: LineCol { line: 17 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "other-examples"], position: LineCol { line: 17 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, RetryableScenario { event: Finished, retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "other-examples"], position: LineCol { line: 17 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "other-examples"], position: LineCol { line: 17 } }, RetryableScenario { event: Started, retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "other-examples"], position: LineCol { line: 17 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "other-examples"], position: LineCol { line: 17 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 5 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "other-examples"], position: LineCol { line: 17 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "other-examples"], position: LineCol { line: 17 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 5 } }, Failed(Some(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} })), Some(Location { line: 13, column: 1 }), Some(World(0)), Panic(Any { .. }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "other-examples"], position: LineCol { line: 17 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "other-examples"], position: LineCol { line: 17 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 5 } }, Failed(Some(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} })), Some(Location { line: 12, column: 1 }), Some(World(0)), Panic(Any { .. }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "other-examples"], position: LineCol { line: 17 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "other-examples"], position: LineCol { line: 17 } }, RetryableScenario { event: Finished, retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 3", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 4", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 5", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }, Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["3", "4", "5"]], position: LineCol { line: 16 } }), tags: ["other-examples"], position: LineCol { line: 15 } }], tags: ["original", "other-examples"], position: LineCol { line: 17 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Finished) -Finished +Finished \ No newline at end of file diff --git a/tests/features/output/scenario_outline_with_tags.feature.basic.out b/tests/features/output/scenario_outline_with_tags.feature.basic.out new file mode 100644 index 00000000..1ff670a4 --- /dev/null +++ b/tests/features/output/scenario_outline_with_tags.feature.basic.out @@ -0,0 +1,5 @@ +Feature: Outline + Scenario Outline: foo + ✔ Given foo is 0 + ✔ When foo is 1 + ✔ Then foo is 2 diff --git a/tests/features/output/scenario_outline_with_tags.feature.colored.out b/tests/features/output/scenario_outline_with_tags.feature.colored.out new file mode 100644 index 00000000..34f5df45 --- /dev/null +++ b/tests/features/output/scenario_outline_with_tags.feature.colored.out @@ -0,0 +1,8 @@ +Feature: Outline + Scenario Outline: foo + Given foo is 0 +  ✔ Given foo is 0 + When foo is 1 +  ✔ When foo is 1 + Then foo is 2 +  ✔ Then foo is 2 diff --git a/tests/features/output/scenario_outline_with_tags.feature.out b/tests/features/output/scenario_outline_with_tags.feature.debug.out similarity index 99% rename from tests/features/output/scenario_outline_with_tags.feature.out rename to tests/features/output/scenario_outline_with_tags.feature.debug.out index b1c68401..d7e7f6e9 100644 --- a/tests/features/output/scenario_outline_with_tags.feature.out +++ b/tests/features/output/scenario_outline_with_tags.feature.debug.out @@ -3,11 +3,11 @@ Started Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Started) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, RetryableScenario { event: Started, retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 15, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }, RetryableScenario { event: Finished, retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 11 } }), tags: ["examples"], position: LineCol { line: 10 } }], tags: ["original", "examples"], position: LineCol { line: 12 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Finished) -Finished +Finished \ No newline at end of file diff --git a/tests/features/output/scenario_outline_with_tags_and_comments.feature.basic.out b/tests/features/output/scenario_outline_with_tags_and_comments.feature.basic.out new file mode 100644 index 00000000..1ff670a4 --- /dev/null +++ b/tests/features/output/scenario_outline_with_tags_and_comments.feature.basic.out @@ -0,0 +1,5 @@ +Feature: Outline + Scenario Outline: foo + ✔ Given foo is 0 + ✔ When foo is 1 + ✔ Then foo is 2 diff --git a/tests/features/output/scenario_outline_with_tags_and_comments.feature.colored.out b/tests/features/output/scenario_outline_with_tags_and_comments.feature.colored.out new file mode 100644 index 00000000..34f5df45 --- /dev/null +++ b/tests/features/output/scenario_outline_with_tags_and_comments.feature.colored.out @@ -0,0 +1,8 @@ +Feature: Outline + Scenario Outline: foo + Given foo is 0 +  ✔ Given foo is 0 + When foo is 1 +  ✔ When foo is 1 + Then foo is 2 +  ✔ Then foo is 2 diff --git a/tests/features/output/scenario_outline_with_tags_and_comments.feature.out b/tests/features/output/scenario_outline_with_tags_and_comments.feature.debug.out similarity index 99% rename from tests/features/output/scenario_outline_with_tags_and_comments.feature.out rename to tests/features/output/scenario_outline_with_tags_and_comments.feature.debug.out index da108c9d..795461ba 100644 --- a/tests/features/output/scenario_outline_with_tags_and_comments.feature.out +++ b/tests/features/output/scenario_outline_with_tags_and_comments.feature.debug.out @@ -3,11 +3,11 @@ Started Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 13 } }), tags: ["#examples()"], position: LineCol { line: 12 } }], tags: ["original", "merged.tag", "#examples()"], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Started) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 13 } }), tags: ["#examples()"], position: LineCol { line: 12 } }], tags: ["original", "merged.tag", "#examples()"], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 13 } }), tags: ["#examples()"], position: LineCol { line: 12 } }], tags: ["original", "merged.tag", "#examples()"], position: LineCol { line: 14 } }, RetryableScenario { event: Started, retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 13 } }), tags: ["#examples()"], position: LineCol { line: 12 } }], tags: ["original", "merged.tag", "#examples()"], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 13 } }), tags: ["#examples()"], position: LineCol { line: 12 } }], tags: ["original", "merged.tag", "#examples()"], position: LineCol { line: 14 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 13 } }), tags: ["#examples()"], position: LineCol { line: 12 } }], tags: ["original", "merged.tag", "#examples()"], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 13 } }), tags: ["#examples()"], position: LineCol { line: 12 } }], tags: ["original", "merged.tag", "#examples()"], position: LineCol { line: 14 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 13 } }), tags: ["#examples()"], position: LineCol { line: 12 } }], tags: ["original", "merged.tag", "#examples()"], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 13 } }), tags: ["#examples()"], position: LineCol { line: 12 } }], tags: ["original", "merged.tag", "#examples()"], position: LineCol { line: 14 } }, RetryableScenario { event: Step(Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 12, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 13 } }), tags: ["#examples()"], position: LineCol { line: 12 } }], tags: ["original", "merged.tag", "#examples()"], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 13 } }), tags: ["#examples()"], position: LineCol { line: 12 } }], tags: ["original", "merged.tag", "#examples()"], position: LineCol { line: 14 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 13 } }), tags: ["#examples()"], position: LineCol { line: 12 } }], tags: ["original", "merged.tag", "#examples()"], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 13 } }), tags: ["#examples()"], position: LineCol { line: 12 } }], tags: ["original", "merged.tag", "#examples()"], position: LineCol { line: 14 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 13 } }), tags: ["#examples()"], position: LineCol { line: 12 } }], tags: ["original", "merged.tag", "#examples()"], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 13 } }), tags: ["#examples()"], position: LineCol { line: 12 } }], tags: ["original", "merged.tag", "#examples()"], position: LineCol { line: 14 } }, RetryableScenario { event: Step(Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 13, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 13 } }), tags: ["#examples()"], position: LineCol { line: 12 } }], tags: ["original", "merged.tag", "#examples()"], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 13 } }), tags: ["#examples()"], position: LineCol { line: 12 } }], tags: ["original", "merged.tag", "#examples()"], position: LineCol { line: 14 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }, Started), retries: None })) -Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 13 } }), tags: ["#examples()"], position: LineCol { line: 12 } }], tags: ["original", "merged.tag", "#examples()"], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 13 } }), tags: ["#examples()"], position: LineCol { line: 12 } }], tags: ["original", "merged.tag", "#examples()"], position: LineCol { line: 14 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 15, column: 1 }))), retries: None })) +Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 13 } }), tags: ["#examples()"], position: LineCol { line: 12 } }], tags: ["original", "merged.tag", "#examples()"], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 13 } }), tags: ["#examples()"], position: LineCol { line: 12 } }], tags: ["original", "merged.tag", "#examples()"], position: LineCol { line: 14 } }, RetryableScenario { event: Step(Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }, Passed(CaptureLocations(Captures { pid: Some(PatternID(0)), spans: {0: 0..8, 1: 7..8} }), Some(Location { line: 14, column: 1 }))), retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 13 } }), tags: ["#examples()"], position: LineCol { line: 12 } }], tags: ["original", "merged.tag", "#examples()"], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Scenario(Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 13 } }), tags: ["#examples()"], position: LineCol { line: 12 } }], tags: ["original", "merged.tag", "#examples()"], position: LineCol { line: 14 } }, RetryableScenario { event: Finished, retries: None })) Feature(Feature { keyword: "Feature", name: "Outline", description: None, background: None, scenarios: [Scenario { keyword: "Scenario Outline", name: "foo", description: None, steps: [Step { keyword: "Given ", ty: Given, value: "foo is 0", docstring: None, table: None, position: LineCol { line: 5 } }, Step { keyword: "When ", ty: When, value: "foo is 1", docstring: None, table: None, position: LineCol { line: 6 } }, Step { keyword: "Then ", ty: Then, value: "foo is 2", docstring: None, table: None, position: LineCol { line: 7 } }], examples: [Examples { keyword: "Examples", name: None, description: None, table: Some(Table { rows: [["bar1", "bar2", "bar3"], ["0", "1", "2"]], position: LineCol { line: 13 } }), tags: ["#examples()"], position: LineCol { line: 12 } }], tags: ["original", "merged.tag", "#examples()"], position: LineCol { line: 14 } }], rules: [], tags: [], position: LineCol { line: 1 }, }, Finished) -Finished +Finished \ No newline at end of file diff --git a/tests/features/output/unknown_scenario_outline.feature.basic.out b/tests/features/output/unknown_scenario_outline.feature.basic.out new file mode 100644 index 00000000..55b44b5e --- /dev/null +++ b/tests/features/output/unknown_scenario_outline.feature.basic.out @@ -0,0 +1 @@ +Failed to parse: Failed to expand examples: Failed to resolve at tests/features/output/unknown_scenario_outline.feature:6:5 diff --git a/tests/features/output/unknown_scenario_outline.feature.colored.out b/tests/features/output/unknown_scenario_outline.feature.colored.out new file mode 100644 index 00000000..fe73ebcc --- /dev/null +++ b/tests/features/output/unknown_scenario_outline.feature.colored.out @@ -0,0 +1 @@ +Failed to parse: Failed to expand examples: Failed to resolve at tests/features/output/unknown_scenario_outline.feature:6:5 diff --git a/tests/features/output/unknown_scenario_outline.feature.out b/tests/features/output/unknown_scenario_outline.feature.debug.out similarity index 92% rename from tests/features/output/unknown_scenario_outline.feature.out rename to tests/features/output/unknown_scenario_outline.feature.debug.out index f8a8be92..cefaea8a 100644 --- a/tests/features/output/unknown_scenario_outline.feature.out +++ b/tests/features/output/unknown_scenario_outline.feature.debug.out @@ -1,4 +1,4 @@ ParsingError ParsingFinished { features: 0, rules: 0, scenarios: 0, steps: 0, parser_errors: 1 } Started -Finished +Finished \ No newline at end of file diff --git a/tests/libtest.rs b/tests/libtest.rs index 0ce08b7e..6ffd4786 100644 --- a/tests/libtest.rs +++ b/tests/libtest.rs @@ -68,7 +68,6 @@ async fn output_report_time() { // Required to strip out non-deterministic parts of output, so we could // compare them well. - // let non_deterministic = Regex::new( let non_deterministic = Regex::new( "\":\\d+\\.\\d+\ |([^\"\\n\\s]*)[/\\\\]([A-z1-9-_]*)\\.(feature|rs)(:\\d+:\\d+)?\ diff --git a/tests/output.rs b/tests/output.rs index b34a2436..cbc3d856 100644 --- a/tests/output.rs +++ b/tests/output.rs @@ -1,8 +1,7 @@ -use std::{borrow::Cow, cmp::Ordering, fmt::Debug}; +use std::{borrow::Cow, fmt::Debug, mem}; use async_trait::async_trait; -use cucumber::{cli, event, given, parser, step, then, when, Event, Writer}; -use itertools::Itertools as _; +use cucumber::{cli, event, given, parser, then, when, Event, Writer}; use lazy_regex::regex; use once_cell::sync::Lazy; use regex::Regex; @@ -22,7 +21,10 @@ fn step(w: &mut World, num: usize) { fn ambiguous(_w: &mut World) {} #[derive(Default)] -struct DebugWriter(String); +struct DebugWriter { + output: String, + first_line_printed: bool, +} #[async_trait(?Send)] impl Writer for DebugWriter { @@ -33,120 +35,17 @@ impl Writer for DebugWriter { ev: parser::Result>>, _: &Self::Cli, ) { - use event::{ - Cucumber, Feature, RetryableScenario, Rule, Scenario, Step, - StepError, - }; - - // This function is used to provide a deterministic ordering of - // `possible_matches`. - let sort_matches = |mut e: step::AmbiguousMatchError| { - e.possible_matches = e - .possible_matches - .into_iter() - .sorted_by(|(re_l, loc_l), (re_r, loc_r)| { - let re_ord = Ord::cmp(re_l, re_r); - if re_ord != Ordering::Equal { - return re_ord; - } - loc_l - .as_ref() - .and_then(|l| loc_r.as_ref().map(|r| Ord::cmp(l, r))) - .unwrap_or(Ordering::Equal) - }) - .collect(); - e - }; - let ev: Cow<_> = match ev.map(Event::into_inner) { Err(_) => "ParsingError".into(), - Ok(Cucumber::Feature( - feat, - Feature::Rule( - rule, - Rule::Scenario( - sc, - RetryableScenario { - event: - Scenario::Step( - st, - Step::Failed( - cap, - loc, - w, - StepError::AmbiguousMatch(e), - ), - ), - retries, - }, - ), - ), - )) => { - let ev = Cucumber::scenario( - feat, - Some(rule), - sc, - RetryableScenario { - event: Scenario::Step( - st, - Step::Failed( - cap, - loc, - w, - StepError::AmbiguousMatch(sort_matches(e)), - ), - ), - retries, - }, - ); - - format!("{ev:?}").into() - } - Ok(Cucumber::Feature( - feat, - Feature::Scenario( - sc, - RetryableScenario { - event: - Scenario::Step( - st, - Step::Failed( - cap, - loc, - w, - StepError::AmbiguousMatch(e), - ), - ), - retries, - }, - ), - )) => { - let ev = Cucumber::scenario( - feat, - None, - sc, - RetryableScenario { - event: Scenario::Step( - st, - Step::Failed( - cap, - loc, - w, - StepError::AmbiguousMatch(sort_matches(e)), - ), - ), - retries, - }, - ); - - format!("{ev:?}").into() - } Ok(ev) => format!("{ev:?}").into(), }; let without_span = SPAN_OR_PATH_RE.replace_all(ev.as_ref(), ""); - self.0.push_str(without_span.as_ref()); + if mem::replace(&mut self.first_line_printed, true) { + self.output.push('\n'); + } + self.output.push_str(without_span.as_ref()); } } @@ -160,13 +59,95 @@ static SPAN_OR_PATH_RE: &Lazy = regex!( #[cfg(test)] mod spec { - use std::fs; + use std::{fmt, fs, io}; - use cucumber::{World as _, WriterExt as _}; + use cucumber::{ + writer::{self, Coloring}, + World as _, WriterExt as _, + }; use globwalk::GlobWalkerBuilder; + use itertools::Itertools; + use lazy_regex::regex; + use once_cell::sync::Lazy; + use regex::{Captures, Match, Regex}; use super::{DebugWriter, World}; + /// [`Regex`] to transform full paths (both unix-like and windows) to a + /// relative paths. + static FULL_PATH: &Lazy = + regex!("((\\?|\\\\|\\/).*(\\\\|\\/))?tests((\\\\|\\/)\\w*)*"); + + /// Replaces [`FULL_PATH`] with a relative path. + fn relative_path(cap: &Captures<'_>) -> String { + format!( + "tests{}", + cap[0] + .split("tests") + .skip(1) + .join("tests") + .replace('\\', "/") + ) + } + + /// [`Regex`] to make `cargo careful` assertion output to match `cargo test` + /// output. + static CAREFUL_ASSERTION: &Lazy = regex!( + "assertion `left == right` failed(:)?\ + (.*)\ + \n(\\s+)left: (.+)\ + \n(\\s+)right: (\\w+)" + ); + + /// Replaces [`CAREFUL_ASSERTION`] with `cargo test` output. + fn unify_asserts(cap: &Captures<'_>) -> String { + format!( + "assertion failed: `(left == right)`{}\ + {}\ + \n{}left: `{}`,\ + \n{}right: `{}`", + cap.get(1).as_ref().map_or("", Match::as_str), + &cap[2], + &cap[3], + &cap[4], + &cap[5], + &cap[6], + ) + } + + /// Deterministic output of [`writer::Basic`]. + #[derive(Clone, Debug, Default)] + struct Output(Vec); + + impl io::Write for Output { + fn write(&mut self, buf: &[u8]) -> io::Result { + self.0.extend_from_slice(buf); + Ok(buf.len()) + } + + fn flush(&mut self) -> io::Result<()> { + Ok(()) + } + } + + impl fmt::Display for Output { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + let o = String::from_utf8(self.0.clone()) + .unwrap_or_else(|e| panic!("`Output` is not a string: {e}")); + let o = CAREFUL_ASSERTION.replace_all(&o, unify_asserts); + let o = FULL_PATH.replace_all(&o, relative_path); + write!(f, "{o}") + } + } + + /// Loads a file from the file system as a string. + fn load_file(path: impl AsRef) -> String { + let path = path.as_ref(); + fs::read_to_string(path) + .unwrap_or_else(|e| panic!("Failed to load `{path}` file: {e}")) + .replace("\r\n", "\n") + } + #[tokio::test] async fn test() { let walker = @@ -181,24 +162,51 @@ mod spec { assert_eq!( files.len(), - fs::read_dir("tests/features/output").unwrap().count() / 2, + fs::read_dir("tests/features/output").unwrap().count() / 4, "Not all `.feature` files were collected", ); for file in files { - let out = fs::read_to_string(format!( - "tests/features/output/{file}.out", - )) - .unwrap_or_default() - .lines() - .collect::(); - let normalized = World::cucumber() + let expected = + load_file(format!("tests/features/output/{file}.debug.out")); + let debug = World::cucumber() .with_writer(DebugWriter::default().normalized()) .with_default_cli() .run(format!("tests/features/output/{file}")) .await; - - assert_eq!(normalized.0, out, "\nfile: {file}"); + assert_eq!(expected, debug.output, "\n[debug] file: {file}"); + + let expected = + load_file(format!("tests/features/output/{file}.basic.out")); + let mut output = Output::default(); + _ = World::cucumber() + .with_writer( + writer::Basic::raw(&mut output, Coloring::Never, 0) + .discard_stats_writes() + .normalized(), + ) + .with_default_cli() + .run(format!("tests/features/output/{file}")) + .await; + assert_eq!(expected, output.to_string(), "\n[basic] file: {file}"); + + let expected = + load_file(format!("tests/features/output/{file}.colored.out")); + let mut output = Output::default(); + _ = World::cucumber() + .with_writer( + writer::Basic::raw(&mut output, Coloring::Always, 0) + .discard_stats_writes() + .normalized(), + ) + .with_default_cli() + .run(format!("tests/features/output/{file}")) + .await; + assert_eq!( + expected, + output.to_string(), + "\n[colored] file: {file}", + ); } } }