-
-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Not.to_string() conversion has unneeded double-parenthesis if the inner expression is a binary operator #94
Comments
jenisys
added a commit
to jenisys/cucumber.tag-expressions
that referenced
this issue
May 28, 2023
IMPLEMENTED FIX FOR: * [x] java * [x] javascript * [x] python
12 tasks
jenisys
added a commit
to jenisys/cucumber.tag-expressions
that referenced
this issue
May 29, 2023
* notExpr.ToString() * ADDED: Evaluatable.isBinaryOperator() (used by: notExpr) REASON: Was faster than providing an instance-of implementation
jenisys
added a commit
to jenisys/cucumber.tag-expressions
that referenced
this issue
May 29, 2023
* Not.to_s() -- to_string conversion
jenisys
added a commit
to jenisys/cucumber.tag-expressions
that referenced
this issue
May 29, 2023
* Not.to_s() -- to_string conversion
jenisys
added a commit
to jenisys/cucumber.tag-expressions
that referenced
this issue
May 29, 2023
* Not.to_s() -- to_string conversion
jenisys
added a commit
to jenisys/cucumber.tag-expressions
that referenced
this issue
May 29, 2023
jenisys
added a commit
that referenced
this issue
Jul 2, 2023
* FIXED #94 Not.to_string() conversion leads to double-parenthesis IMPLEMENTED FIX FOR: * [x] java * [x] javascript * [x] python * FIX CI-BUILD: Missing dependency PyYAML * Python 2.7 related issues (pytest, pathlib related) * FIX: tox to test Python 2.7 usecase locally UPDATE: Dependencies * setup.py * py.requirements/*.txt -- testing and development related * FIX CI BUILD: prettier formatting issue * FIXES #94 for Go programming language * notExpr.ToString() * ADDED: Evaluatable.isBinaryOperator() (used by: notExpr) REASON: Was faster than providing an instance-of implementation * FIXES #94 for Ruby programming language * Not.to_s() -- to_string conversion * FIXES #94 for Perl programming language * go: Provide IsBinaryOperator function * Remove IsBinaryOperator() method in Evaluatable interface * Provide IsBinaryOperator() function instead that encapsulates the is-instance-of And/Or expression. * perl: Use isa operator instead of isBinaryOperator method * Remove Node::isBinaryOperator() method and implementations * go: Use "isBinaryOperator" (naming style change) * Use "isBinaryOperator()" (was: "IsBinaryOperator") to comply w/ Go naming conventions and avoid to expose the this helper function to the public API of this package. * UPDATED: CHANGELOG for pull #95 * Fixes: #94 * Implements: #18 * CI workflow: test-python -- Remove Python 2.7 * REASON: Github Actions support for Python 2.7 was removed (in 2023-06) * Try to use pypy-2.7 instead (until Python 2.7 support is dropped) * CI workflow: test-python -- Remove Python 2.7 * REASON: Github Actions support for Python 2.7 was removed (in 2023-06) * Try to use pypy-2.7 instead (until Python 2.7 support is dropped)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
👓 What did you see?
If a tag-expression contains a
not
operator that encapsulate a binary operator (and
,or
),the string conversion currently leads to double-parenthesis (unnecessary tautology).
This makes the textual string less readable and understandable.
EXAMPLE:
REASONS:
not
operator does the same (as it currently is implemented), we get two groups of parenthensisAFFECTED:
✅ What did you expect to see?
Only one parenthesis grouping, like the
formatted.should_be
case shown in the example above.📦 Which tool/library version are you using?
I added additional case to the
testdata/parsing.yml
in my local workspace and run Java, Javascript and Go implementations.Each failed the new additional tests.
The non-tested implementations (Ruby and Perl) are also be affected (as expected), by inspection of their implementation.
🔬 How could we reproduce it?
Add the following test-data items to
testdata/parsing.yml
:Steps to reproduce the behavior:
📚 Any additional context?
Nope.
The text was updated successfully, but these errors were encountered: