From fce5356cee0f9543821bb0e4e497d9c887905744 Mon Sep 17 00:00:00 2001 From: Kieran Ryan Date: Mon, 13 Jan 2025 18:54:25 +0000 Subject: [PATCH] refactor: Standardise Python open parenthesesis error --- python/cucumber_tag_expressions/parser.py | 5 ++++- python/tests/unit/test_parser.py | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/python/cucumber_tag_expressions/parser.py b/python/cucumber_tag_expressions/parser.py index 7db37e47..440eb7c5 100644 --- a/python/cucumber_tag_expressions/parser.py +++ b/python/cucumber_tag_expressions/parser.py @@ -275,7 +275,10 @@ def ensure_expected_token_type(token_type, index): last_operation = operations.pop() if last_operation is Token.OPEN_PARENTHESIS: # -- CASE: TOO MANY OPEN-PARENTHESIS - message = "Unclosed '(': Too many open-parens in: %s" % text + message = ( + 'Tag expression "%s" could not be parsed because of syntax error:' + ' Unmatched (.' % text + ) raise TagExpressionError(message) cls._push_expression(last_operation, expressions) diff --git a/python/tests/unit/test_parser.py b/python/tests/unit/test_parser.py index 91177ab8..291ece1e 100644 --- a/python/tests/unit/test_parser.py +++ b/python/tests/unit/test_parser.py @@ -194,7 +194,7 @@ def test_parse__with_escape_repr(self, text, expected): # -- BAD CASES: @pytest.mark.parametrize("text, error_message", [ ("( a and b ))", "Missing '(': Too few open-parens"), - ("( ( a and b )", "Unclosed '(': Too many open-parens"), + ("( ( a and b )", "Unmatched (."), ]) def test_parse__fails_with_unbalanced_parens(self, text, error_message): self.assert_parse_with_error_contains_message(text, error_message)