summaryrefslogtreecommitdiff
path: root/yarnlib/block_parser.py
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2015-02-10 10:31:31 +0200
committerLars Wirzenius <liw@liw.fi>2015-02-10 10:31:31 +0200
commit10d0192fa79b79667d6561e43660e1aac5449b0d (patch)
treeca907ab2a3998b0382e7d7809c18f0e2ba2f4bd9 /yarnlib/block_parser.py
parentacd3d6316ef5831be1a9663a267b485767ada418 (diff)
parent70df4760574d8143186be21a558c100f001a0155 (diff)
downloadcmdtest-10d0192fa79b79667d6561e43660e1aac5449b0d.tar.gz
Add continuation support
Diffstat (limited to 'yarnlib/block_parser.py')
-rw-r--r--yarnlib/block_parser.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/yarnlib/block_parser.py b/yarnlib/block_parser.py
index 64dc990..db99b31 100644
--- a/yarnlib/block_parser.py
+++ b/yarnlib/block_parser.py
@@ -42,6 +42,7 @@ class BlockParser(object):
'THEN': self.parse_then,
'FINALLY': self.parse_finally,
'AND': self.parse_and,
+ '...': self.parse_continuation,
'IMPLEMENTS': self.parse_implementing,
}
@@ -113,6 +114,13 @@ class BlockParser(object):
assert step.what in self.line_parsers
return self.line_parsers[step.what](line, blocks)
+ def parse_continuation(self, line, blocks):
+ scenario = self.scenarios[-1]
+ step = scenario.steps[-1]
+ text = '%s %s' % (step.text, line)
+ del scenario.steps[-1]
+ return self.line_parsers[step.what](text, blocks)
+
def parse_implementing(self, line, blocks):
words = line.split()
if len(words) < 2: