diff --git a/python/gherkin/ast_builder.py b/python/gherkin/ast_builder.py index 15a50a55c..8f3ca0fe1 100644 --- a/python/gherkin/ast_builder.py +++ b/python/gherkin/ast_builder.py @@ -268,15 +268,13 @@ def transform_node( return self.get_table_rows(node) elif node.rule_type == "Description": line_tokens = node.get_tokens("Other") + tokens = list(line_tokens) + # Trim trailing empty lines - last_non_empty = next( - i for i, j in reversed(list(enumerate(line_tokens))) if j.matched_text - ) - description = "\n".join( - [token.matched_text for token in line_tokens[: last_non_empty + 1]] - ) + while tokens and not tokens[-1].matched_text: + tokens.pop() - return description + return "\n".join(token.matched_text for token in tokens) elif node.rule_type == "Rule": header = cast(Union[AstNode, None], node.get_single("RuleHeader")) if not header: