-
Bug Report
-
Resolution: Fixed
-
L3 - Default
-
7.13.0
-
None
-
None
Steps to reproduce
Evaluate the expression 8 > 7 as unary test
Observed behavior
The following error message is shown:
failed to parse expression '8 > 7': [1.3] failure: end of input expected
Expected behavior
- The expression can be evaluated
- No error message is shown
Alternative Solution
The expression (8 > 7) can be evaluated successfully
Is this a bug according to the DMN FEEL 1.2 specification?
- Yes!
- The DMN 1.1 spec on pg. 105 ("10.3.1.2 Grammar rules") says:
- The DMN 1.1 spec on pg. 107 ("10.3.1.2 Grammar rules") says:
- Simple positive unary tests do not need any braces
- The structure of a comparison is: expression , ( "=" | "!=" | "<" | "<=" | ">" | ">=" ) , expression
- The braces in the grammar rule are used to express that one of the allowed comparison keywords can be used
- "Language keywords are enclosed in double quotes in the grammar rules" cf. pg. 107
Hint
- The failing expression can be used as simple expression.
- Unignore test case [1]
Estimation
Unknown, it works when variables are compared and in output entries.
This is the controller panel for Smart Panels app
[CAM-11269] In Scala FEEL Engine, unary-test comparison without braces cannot be evaluated
Description |
Original:
* 8 > 7 (/)
* (8 > 7) (/) |
New:
8 > 7 (x)
(8 > 7) (/) |
Attachment | New: FeelLegacy_equals_boolean.dmn [ 31330 ] |
Issue Type | Original: Task [ 3 ] | New: Sub-task [ 6 ] |
Parent |
New:
|
Summary | Original: In Scala FEEL Engine, unary-test comparison without braces cannot be evaluated | New: [BREAKING CHANGE] In Scala FEEL Engine, unary-test comparison without braces cannot be evaluated |
Summary | Original: [BREAKING CHANGE] In Scala FEEL Engine, unary-test comparison without braces cannot be evaluated | New: [BUG] In Scala FEEL Engine, unary-test comparison without braces cannot be evaluated |
Fix Version/s | New: 7.13.0 [ 15532 ] |
Attachment | New: Screenshot 2020-02-25 at 15.24.35.png [ 32044 ] |
Attachment | New: Screenshot 2020-02-25 at 15.25.49.png [ 32045 ] |
Description |
Original:
8 > 7 (x)
(8 > 7) (/) |
New:
*Steps to reproduce*
Evaluate the expression {{8 > 7}} as unary test *Observed behavior* The following error message is shown: {code:java} failed to parse expression '8 > 7': [1.3] failure: end of input expected{code} *Expected behavior* * The expression can be evaluated * No error message is shown *Alternative Solution* The expression {{(8 > 7)}} can be evaluated successfully *Why is this a bug according to the DMN spec?* * The DMN 1.1 spec on pg. 105 ("10.3.1.2 Grammar rules") says: !Screenshot 2020-02-25 at 15.24.35.png|thumbnail! * The DMN 1.1 spec on pg. 107 ("10.3.1.2 Grammar rules") says: !Screenshot 2020-02-25 at 15.25.49.png|thumbnail! * Simple positive unary tests do not need any braces * The structure of a comparison is: {{expression , ( "=" | "!=" | "<" | "<=" | ">" | ">=" ) , expression}} ** The braces in the grammar rule are used to express that one of the allowed comparison keywords can be used ** "Language keywords are enclosed in double quotes in the grammar rules" cf. pg. 107 |
Mentioned Roles |
Mentioned Groups |