summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/parser.rs10
-rw-r--r--subplot.md59
2 files changed, 61 insertions, 8 deletions
diff --git a/src/parser.rs b/src/parser.rs
index 39faab2..35cb488 100644
--- a/src/parser.rs
+++ b/src/parser.rs
@@ -4,7 +4,7 @@
/// Each logical line forms a scenario step. It may be divided into
/// multiple physical lines.
pub fn parse_scenario_snippet(snippet: &str) -> impl Iterator<Item = &str> {
- snippet.lines()
+ snippet.lines().filter(|line| !line.trim().is_empty())
}
#[cfg(test)]
@@ -32,4 +32,12 @@ mod test {
vec!["given I am Tomjon", "when I declare myself king"]
)
}
+
+ #[test]
+ fn parses_two_lines_with_empty_line() {
+ assert_eq!(
+ parse_lines("given I am Tomjon\n\nwhen I declare myself king"),
+ vec!["given I am Tomjon", "when I declare myself king"]
+ )
+ }
}
diff --git a/subplot.md b/subplot.md
index f7d38ac..7c72ea8 100644
--- a/subplot.md
+++ b/subplot.md
@@ -488,7 +488,7 @@ functions: f.py
# Simple
This is the simplest possible test scenario
-```subplot
+```scenario
given precondition foo
when I do bar
then bar was done
@@ -544,6 +544,51 @@ then program finished successfully
~~~
+Empty lines in scenarios
+-----------------------------------------------------------------------------
+
+This scenario verifies that empty lines in scenarios are ignored.
+
+~~~scenario
+given file emptylines.md
+given file b.yaml
+given file f.py
+when I run sp-docgen emptylines.md -o emptylines.pdf
+then file emptylines.pdf exists
+when I run sp-docgen emptylines.md -o emptylines.html
+then file emptylines.html exists
+when I run sp-codegen --run emptylines.md -o test.py
+then scenario "Simple" was run
+then step "given precondition foo" was run
+then step "when I do bar" was run
+then step "then bar was done" was run
+then program finished successfully
+~~~
+
+
+### A document with a scenario with empty lines (emptylines.md)
+
+~~~~{.file #emptylines.md .markdown .numberLines}
+---
+title: Test scenario
+bindings: b.yaml
+functions: f.py
+...
+
+# Simple
+This is the simplest possible test scenario
+
+```scenario
+given precondition foo
+
+when I do bar
+
+then bar was done
+
+```
+~~~~
+
+
Document structure
-----------------------------------------------------------------------------
@@ -579,7 +624,7 @@ functions: f.py
## heading 1.1
### heading 1.1.1
-```subplot
+```scenario
given precondition foo
```
~~~~
@@ -608,7 +653,7 @@ functions: f.py
# heading 1
## heading 1.1a
-```subplot
+```scenario
given precondition foo
```
@@ -643,12 +688,12 @@ functions: f.py
## heading 1.1
### heading 1.1.1
-```subplot
+```scenario
given precondition foo
```
### heading 1.1.2
-```subplot
+```scenario
given precondition foo
```
~~~~
@@ -680,12 +725,12 @@ functions: f.py
## heading 1.1
### heading 1.1.1
-```subplot
+```scenario
given precondition foo
```
## heading 1.2
-```subplot
+```scenario
given precondition foo
```
~~~~