def action_multiline(self, line): if line.strip().startswith(self.multiline_terminator): step = self.statement.steps[-1] step.text = model.Text(u'\n'.join(self.lines), u'text/plain', self.multiline_start) if step.name.endswith(':'): step.name = step.name[:-1] self.lines = [] self.multiline_terminator = None self.state = 'steps' return True self.lines.append(line[self.multiline_leading:]) return True
def action_multiline(self, line): if line.strip().startswith(self.multiline_terminator): step = self.statement.steps[-1] step.text = model.Text(u"\n".join(self.lines), u"text/plain", self.multiline_start) if step.name.endswith(":"): step.name = step.name[:-1] self.lines = [] self.multiline_terminator = None self.state = "steps" return True self.lines.append(line[self.multiline_leading:]) # -- BETTER DIAGNOSTICS: May remove non-whitespace in execute_steps() removed_line_prefix = line[:self.multiline_leading] if removed_line_prefix.strip(): message = u"BAD-INDENT in multiline text: " message += u"Line '%s' would strip leading '%s'" % \ (line, removed_line_prefix) raise ParserError(message, self.line, self.filename) return True